temporarily remove some of the .Body references
authorBrian Alliet <brian@brianweb.net>
Thu, 15 Dec 2005 00:00:10 +0000 (00:00 +0000)
committerBrian Alliet <brian@brianweb.net>
Thu, 15 Dec 2005 00:00:10 +0000 (00:00 +0000)
darcs-hash:20051215000010-931ed-88432f152e87213cd27bd9592b2470cacde497f3.gz

src/org/ibex/classgen/ClassFile.java
src/org/ibex/classgen/Type.java
src/org/ibex/classgen/opt/Arena.java

index 3739114..46f5e3e 100644 (file)
@@ -93,7 +93,10 @@ public class ClassFile extends Type.Class.Body {
         @see CGConst
     */
     public final MethodGen addMethod(String name, Type ret, Type[] args, int flags) {
         @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;
     }
         methods.addElement(mg);
         return mg;
     }
@@ -108,8 +111,11 @@ public class ClassFile extends Type.Class.Body {
         @see FieldGen
         @see CGConst
         */  
         @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;
     }
         fields.addElement(fg);
         return fg;
     }
index 441c6fc..85ff169 100644 (file)
@@ -143,7 +143,6 @@ public abstract class Type implements CGConst {
         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 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);
             public abstract Type.Class.Field.Body[] fields();
             public Body(int flags, ClassFile.AttrGen attrs) {
                 super(flags, attrs);
index 34ca1b5..9a29ed7 100644 (file)
@@ -59,14 +59,14 @@ public class Arena implements CGConst {
         Type.Class.Method      arenaInit     = arenaInitBody.getMethod();
 
         Type.Class.Field            maxField = arena.field(getGladiatorName(c) + "$$max", Type.INT);
         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);
         /*
         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());
         /*
         assign(arenaInitBody, newIFR(arenaInitBody, sfr.makeRef()), IntConstant.v(0),
                arenaInitBody.getFirstNonIdentityStmt());