X-Git-Url: http://git.megacz.com/?p=org.ibex.classgen.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fclassgen%2FClassFile.java;h=3739114d98e97bf2f4ddf34ba3a54c5c7fcde14e;hp=70c447b74034fad2fefc1406f0421366e4caf130;hb=f66abe529719f8fb7cc27c7ddbdbf7bad70c49c7;hpb=0b535cb6b45f0d8a1d43eee75a3fe187ed383ef8 diff --git a/src/org/ibex/classgen/ClassFile.java b/src/org/ibex/classgen/ClassFile.java index 70c447b..3739114 100644 --- a/src/org/ibex/classgen/ClassFile.java +++ b/src/org/ibex/classgen/ClassFile.java @@ -6,13 +6,25 @@ import java.io.*; /** Class generation object representing the whole classfile */ public class ClassFile extends Type.Class.Body { private final Type.Class thisType; - private final Type.Class superType; - private final Type.Class[] interfaces; + final Type.Class superType; + final Type.Class[] interfaces; private final short minor; private final short major; private final Vector fields = new Vector(); - public final Vector methods = new Vector(); + private final Vector methods = new Vector(); + + public Type.Class.Method.Body[] methods() { + Type.Class.Method.Body[] ret = new Type.Class.Method.Body[methods.size()]; + methods.copyInto(ret); + return ret; + } + + public Type.Class.Field.Body[] fields() { + Type.Class.Field.Body[] ret = new Type.Class.Field.Body[fields.size()]; + fields.copyInto(ret); + return ret; + } static String flagsToString(int flags, boolean isClass) { StringBuffer sb = new StringBuffer(32); @@ -33,14 +45,14 @@ public class ClassFile extends Type.Class.Body { public Type.Class getType() { return thisType; } public int getFlags() { return flags; } - String debugToString() { return debugToString(new StringBuffer(4096)).toString(); } - StringBuffer debugToString(StringBuffer sb) { + public String toString() { return toString(new StringBuffer(4096)).toString(); } + StringBuffer toString(StringBuffer sb) { sb.append(flagsToString(flags,true)); sb.append((flags & INTERFACE) != 0 ? "interface " : "class "); - sb.append(thisType.debugToString()); - if (superType != null) sb.append(" extends " + superType.debugToString()); + sb.append(thisType.toString()); + if (superType != null) sb.append(" extends " + superType.toString()); if (interfaces != null && interfaces.length > 0) sb.append(" implements"); - for(int i=0; i