From f0d5b6ee8a3ca364ca8d833484a7454beeca2f24 Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 3 Jul 2005 04:54:03 +0000 Subject: [PATCH] fixed HIDEOUS bug in ConstantPool -- was circumventing Type-instance caching (evil!!!!) darcs-hash:20050703045403-5007d-fa632b4cb7117316a087a362d1647fd860ec7010.gz --- src/org/ibex/classgen/ConstantPool.java | 2 +- src/org/ibex/classgen/Type.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/org/ibex/classgen/ConstantPool.java b/src/org/ibex/classgen/ConstantPool.java index 4d62df7..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 + "]"; } } diff --git a/src/org/ibex/classgen/Type.java b/src/org/ibex/classgen/Type.java index 44e6476..aacbfe4 100644 --- a/src/org/ibex/classgen/Type.java +++ b/src/org/ibex/classgen/Type.java @@ -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() { -- 1.7.10.4