@see CGConst
*/
public final MethodGen addMethod(String name, Type ret, Type[] args, int flags) {
- MethodGen mg = new MethodGen(getType().method(name, ret, args), flags);
+ return addMethod(getType().method(name, ret, args),flags);
+ }
+ public final MethodGen addMethod(Type.Class.Method method,int flags) {
+ MethodGen mg = new MethodGen(method, flags);
methods.addElement(mg);
return mg;
}
@see FieldGen
@see CGConst
*/
- public final Type.Class.Field.Body addField(Type.Class.Field field, int flags) {
- FieldGen fg = new FieldGen(field, flags);
+ public final FieldGen addField(String name, Type type, int flags) {
+ return addField(getType().field(name,type),flags);
+ }
+ public final FieldGen addField(Type.Class.Field field, int flags) {
+ FieldGen fg = new FieldGen(field , flags);
fields.addElement(fg);
return fg;
}
public Type.Class.Body getBody(Context cx) { return cx.resolve(this.getName()); }
public abstract class Body extends HasAttributes {
public abstract Type.Class.Method.Body[] methods();
- public abstract Type.Class.Field.Body addField(Type.Class.Field field, int flags);
public abstract Type.Class.Field.Body[] fields();
public Body(int flags, ClassFile.AttrGen attrs) {
super(flags, attrs);
Type.Class.Method arenaInit = arenaInitBody.getMethod();
Type.Class.Field maxField = arena.field(getGladiatorName(c) + "$$max", Type.INT);
- arenaBody.addField(maxField, PRIVATE);
+ /*arenaBody.addField(maxField, PRIVATE);*/
/*
assign(arenaInitBody, newIFR(arenaInitBody, maxField.makeRef()), IntConstant.v(initialSize),
arenaInitBody.getFirstNonIdentityStmt());
*/
Type.Class.Field sizeField = arena.field(getGladiatorName(c) + "$$size", Type.INT);
- arenaBody.addField(sizeField, PRIVATE);
+ /*arenaBody.addField(sizeField, PRIVATE);*/
/*
assign(arenaInitBody, newIFR(arenaInitBody, sfr.makeRef()), IntConstant.v(0),
arenaInitBody.getFirstNonIdentityStmt());