diff options
author | chiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3> | 2006-01-01 14:55:28 +0000 |
---|---|---|
committer | chiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3> | 2006-01-01 14:55:28 +0000 |
commit | 23e4e9827e54ab6cd1980787a293f9957264e024 (patch) | |
tree | 530f718c0baa51d92f7c266d43f28fca1acd3458 /src/main/javassist/bytecode/ConstPool.java | |
parent | 07eda55dcc1b4e4e9f9d54beb5722709bd92e4f5 (diff) | |
download | javassist-23e4e9827e54ab6cd1980787a293f9957264e024.tar.gz javassist-23e4e9827e54ab6cd1980787a293f9957264e024.zip |
changed to generate more javap-friendly code
git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@228 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
Diffstat (limited to 'src/main/javassist/bytecode/ConstPool.java')
-rw-r--r-- | src/main/javassist/bytecode/ConstPool.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/javassist/bytecode/ConstPool.java b/src/main/javassist/bytecode/ConstPool.java index 3a3443d1..83159d21 100644 --- a/src/main/javassist/bytecode/ConstPool.java +++ b/src/main/javassist/bytecode/ConstPool.java @@ -905,6 +905,15 @@ public final class ConstPool { --n; } } + + int i = 1; + while (true) { + ConstInfo info = (ConstInfo)items.elementAt(i++); + if (info == null) + break; + else + info.makeHashtable(this); + } } private int readOne(DataInputStream in) throws IOException { @@ -997,6 +1006,8 @@ abstract class ConstInfo { public abstract void write(DataOutputStream out) throws IOException; public abstract void print(PrintWriter out); + void makeHashtable(ConstPool cp) {} // called after read() finishes in ConstPool. + public String toString() { ByteArrayOutputStream bout = new ByteArrayOutputStream(); PrintWriter out = new PrintWriter(bout); @@ -1087,6 +1098,11 @@ class ClassInfo extends ConstInfo { out.print("Class #"); out.println(name); } + + void makeHashtable(ConstPool cp) { + String name = Descriptor.toJavaName(getClassName(cp)); + cp.classes.put(name, this); + } } class NameAndTypeInfo extends ConstInfo { |