X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fclassgen%2FClassGen.java;h=f4c1a0348280197667357dbba49abc43c0d9dc0d;hb=7f1eaf5d7ee54b09ffd9d91a7f8fc23803d9703a;hp=ddbf8a13697f0b72fd4dd1a788fbd4e67929b4d3;hpb=161a72a3b197b7f1c84954475aac89a7b191745d;p=org.ibex.classgen.git diff --git a/src/org/ibex/classgen/ClassGen.java b/src/org/ibex/classgen/ClassGen.java index ddbf8a1..f4c1a03 100644 --- a/src/org/ibex/classgen/ClassGen.java +++ b/src/org/ibex/classgen/ClassGen.java @@ -8,6 +8,8 @@ public class ClassGen implements CGConst { private final Type.Object thisType; private final Type.Object superType; private final Type.Object[] interfaces; + private short minor; + private short major; final int flags; private String sourceFile; @@ -16,15 +18,56 @@ public class ClassGen implements CGConst { final CPGen cp; private final AttrGen attributes; - - /** @see #ClassGen(Type.Object,Type.Object,int) */ + + public static String flagsToString(int flags) { + String ret = ""; + if ((flags & ACC_PUBLIC) != 0) ret += "public "; + if ((flags & ACC_PRIVATE) != 0) ret += "private "; + if ((flags & ACC_PROTECTED) != 0) ret += "protected "; + if ((flags & ACC_STATIC) != 0) ret += "static "; + if ((flags & ACC_FINAL) != 0) ret += "final "; + if ((flags & ACC_ABSTRACT) != 0) ret += "abstract "; + if ((flags & ACC_SYNCHRONIZED) != 0) ret += "synchronized "; + if ((flags & ACC_NATIVE) != 0) ret += "native "; + if ((flags & ACC_STRICT) != 0) ret += "strictfp "; + if ((flags & ACC_VOLATILE) != 0) ret += "volatile "; + if ((flags & ACC_TRANSIENT) != 0) ret += "transient "; + return ret; + } + + public String toString() { StringBuffer sb = new StringBuffer(); toString(sb); return sb.toString(); } + public void toString(StringBuffer sb) { + sb.append(flagsToString(flags)); + sb.append((flags & ACC_INTERFACE) != 0 ? "interface " : "class "); + sb.append(thisType.humanReadable()); + if (superType != null) sb.append(" extends " + superType.humanReadable()); + if (interfaces != null && interfaces.length > 0) sb.append(" implements"); + for(int i=0; i