X-Git-Url: http://git.megacz.com/?p=org.ibex.classgen.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fclassgen%2FClassGen.java;h=f4c1a0348280197667357dbba49abc43c0d9dc0d;hp=1300c3a309c80c582a5f65362bc4d757470f1acc;hb=d4d0c4d937a3c18d559e335a84aed3eb4e406723;hpb=2b7157f2b687f5500bf45ab2c9175ef1b33ccc48 diff --git a/src/org/ibex/classgen/ClassGen.java b/src/org/ibex/classgen/ClassGen.java index 1300c3a..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