added Type.Class.getBody
[org.ibex.classgen.git] / src / org / ibex / classgen / Type.java
index 44e6476..58622ec 100644 (file)
@@ -118,7 +118,7 @@ public abstract class Type implements CGConst {
             return p == -1 ? descriptor.substring(1,descriptor.length()-1) : descriptor.substring(p+1,descriptor.length()-1);
         }
         private static String _initHelper(String s) {
-            if (!s.startsWith("L") || !s.endsWith(";")) s = "L" + s.replace('.', '/') + ";";
+            if (!s.startsWith("L") || !s.endsWith(";")) throw new Error("invalid");
             return s;
         }
         String[] components() {
@@ -128,6 +128,7 @@ public abstract class Type implements CGConst {
             return a;
         }
 
+        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);