X-Git-Url: http://git.megacz.com/?p=org.ibex.classgen.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fclassgen%2FConstantPool.java;h=5868f62946b2649a2edd8ba417f0fcb9545890a1;hp=eb2a5655d82aee9ad187bfda626d193b0509f6be;hb=f0d5b6ee8a3ca364ca8d833484a7454beeca2f24;hpb=003452a667497f6bf7375cc0bea7aa589c2e7545 diff --git a/src/org/ibex/classgen/ConstantPool.java b/src/org/ibex/classgen/ConstantPool.java index eb2a565..5868f62 100644 --- a/src/org/ibex/classgen/ConstantPool.java +++ b/src/org/ibex/classgen/ConstantPool.java @@ -86,7 +86,7 @@ class ConstantPool implements CGConst { ClassEnt(String s) { this(); this.utf8 = (Utf8Ent) addUtf8(s); } void dump(DataOutput o) throws IOException { super.dump(o); o.writeShort(utf8.n); } Type.Class getTypeClass() { return (Type.Class) key(); } - Object _key() { return new Type.Class(utf8.s); } + Object _key() { return Type.Class.instance(utf8.s); } void unref() { utf8.unref(); super.unref(); } String debugToString() { return "[Class: " + utf8.s + "]"; } } @@ -123,10 +123,10 @@ class ConstantPool implements CGConst { if(member.name == null) throw new Error("should never happen"); switch(tag) { case CONSTANT_FIELDREF: - return klass.getTypeClass().field(member.name.s, Type.instance(member.type.s)); + return klass.getTypeClass().field(member.name.s, Type.fromDescriptor(member.type.s)); case CONSTANT_METHODREF: case CONSTANT_INTERFACEMETHODREF: - Type.Class.Method m = klass.getTypeClass().method(member.name.s + member.type.s); + Type.Class.Method m = klass.getTypeClass().method(member.name.s,member.type.s); return tag == CONSTANT_INTERFACEMETHODREF ? (Object) new InterfaceMethodKey(m) : (Object) m; default: throw new Error("should never happen"); @@ -236,7 +236,7 @@ class ConstantPool implements CGConst { : m instanceof Type.Class.Method ? CONSTANT_METHODREF : 0; if (tag == 0) throw new Error("should never happen"); - ent = new MemberEnt(tag, m.getDeclaringClass(), m.name, m.getDescriptor()); + ent = new MemberEnt(tag, m.getDeclaringClass(), m.name, m.getTypeDescriptor()); } else { throw new IllegalArgumentException("Unknown type passed to add");