public final class sun.tools.asm.ConstantPool implements sun.tools.java.RuntimeConstants
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.tools.asm.ConstantPool
super_class: java.lang.Object
{
java.util.Hashtable<java.lang.Object, sun.tools.asm.ConstantPoolData> hash;
descriptor: Ljava/util/Hashtable;
flags: (0x0000)
Signature: Ljava/util/Hashtable<Ljava/lang/Object;Lsun/tools/asm/ConstantPoolData;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Hashtable
dup
bipush 101
invokespecial java.util.Hashtable.<init>:(I)V
putfield sun.tools.asm.ConstantPool.hash:Ljava/util/Hashtable;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/asm/ConstantPool;
public int index(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.asm.ConstantPool.hash:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.tools.asm.ConstantPoolData
getfield sun.tools.asm.ConstantPoolData.index:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/asm/ConstantPool;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public void put(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.asm.ConstantPool.hash:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.tools.asm.ConstantPoolData
astore 2
start local 2 1: aload 2
ifnonnull 23
2: aload 1
instanceof java.lang.String
ifeq 5
3: new sun.tools.asm.StringConstantData
dup
aload 0
aload 1
checkcast java.lang.String
invokespecial sun.tools.asm.StringConstantData.<init>:(Lsun/tools/asm/ConstantPool;Ljava/lang/String;)V
astore 2
4: goto 22
StackMap locals: sun.tools.asm.ConstantPoolData
StackMap stack:
5: aload 1
instanceof sun.tools.tree.StringExpression
ifeq 8
6: new sun.tools.asm.StringExpressionConstantData
dup
aload 0
aload 1
checkcast sun.tools.tree.StringExpression
invokespecial sun.tools.asm.StringExpressionConstantData.<init>:(Lsun/tools/asm/ConstantPool;Lsun/tools/tree/StringExpression;)V
astore 2
7: goto 22
StackMap locals:
StackMap stack:
8: aload 1
instanceof sun.tools.java.ClassDeclaration
ifeq 11
9: new sun.tools.asm.ClassConstantData
dup
aload 0
aload 1
checkcast sun.tools.java.ClassDeclaration
invokespecial sun.tools.asm.ClassConstantData.<init>:(Lsun/tools/asm/ConstantPool;Lsun/tools/java/ClassDeclaration;)V
astore 2
10: goto 22
StackMap locals:
StackMap stack:
11: aload 1
instanceof sun.tools.java.Type
ifeq 14
12: new sun.tools.asm.ClassConstantData
dup
aload 0
aload 1
checkcast sun.tools.java.Type
invokespecial sun.tools.asm.ClassConstantData.<init>:(Lsun/tools/asm/ConstantPool;Lsun/tools/java/Type;)V
astore 2
13: goto 22
StackMap locals:
StackMap stack:
14: aload 1
instanceof sun.tools.java.MemberDefinition
ifeq 17
15: new sun.tools.asm.FieldConstantData
dup
aload 0
aload 1
checkcast sun.tools.java.MemberDefinition
invokespecial sun.tools.asm.FieldConstantData.<init>:(Lsun/tools/asm/ConstantPool;Lsun/tools/java/MemberDefinition;)V
astore 2
16: goto 22
StackMap locals:
StackMap stack:
17: aload 1
instanceof sun.tools.asm.NameAndTypeData
ifeq 20
18: new sun.tools.asm.NameAndTypeConstantData
dup
aload 0
aload 1
checkcast sun.tools.asm.NameAndTypeData
invokespecial sun.tools.asm.NameAndTypeConstantData.<init>:(Lsun/tools/asm/ConstantPool;Lsun/tools/asm/NameAndTypeData;)V
astore 2
19: goto 22
StackMap locals:
StackMap stack:
20: aload 1
instanceof java.lang.Number
ifeq 22
21: new sun.tools.asm.NumberConstantData
dup
aload 0
aload 1
checkcast java.lang.Number
invokespecial sun.tools.asm.NumberConstantData.<init>:(Lsun/tools/asm/ConstantPool;Ljava/lang/Number;)V
astore 2
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.asm.ConstantPool.hash:Ljava/util/Hashtable;
aload 1
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/tools/asm/ConstantPool;
0 24 1 obj Ljava/lang/Object;
1 24 2 data Lsun/tools/asm/ConstantPoolData;
MethodParameters:
Name Flags
obj
public void write(sun.tools.java.Environment, java.io.DataOutputStream);
descriptor: (Lsun/tools/java/Environment;Ljava/io/DataOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.asm.ConstantPool.hash:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.size:()I
anewarray sun.tools.asm.ConstantPoolData
astore 3
start local 3 1: aload 3
arraylength
anewarray java.lang.String
astore 4
start local 4 2: iconst_1
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: goto 16
6: StackMap locals: sun.tools.asm.ConstantPool sun.tools.java.Environment java.io.DataOutputStream sun.tools.asm.ConstantPoolData[] java.lang.String[] int int int
StackMap stack:
iload 6
istore 8
start local 8 7: aload 0
getfield sun.tools.asm.ConstantPool.hash:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
astore 9
start local 9 8: goto 13
9: StackMap locals: int java.util.Enumeration
StackMap stack:
aload 9
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.tools.asm.ConstantPoolData
astore 10
start local 10 10: aload 10
invokevirtual sun.tools.asm.ConstantPoolData.order:()I
iload 7
if_icmpne 13
11: aload 4
iload 6
aload 10
invokestatic sun.tools.asm.ConstantPool.sortKey:(Lsun/tools/asm/ConstantPoolData;)Ljava/lang/String;
aastore
12: aload 3
iload 6
iinc 6 1
aload 10
aastore
end local 10 13: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 9
end local 9 14: aload 3
aload 4
iload 8
iload 6
iconst_1
isub
invokestatic sun.tools.asm.ConstantPool.xsort:([Lsun/tools/asm/ConstantPoolData;[Ljava/lang/String;II)V
end local 8 15: iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
iconst_5
if_icmplt 6
end local 7 17: iconst_0
istore 7
start local 7 18: goto 23
19: StackMap locals:
StackMap stack:
aload 3
iload 7
aaload
astore 8
start local 8 20: aload 8
iload 5
putfield sun.tools.asm.ConstantPoolData.index:I
21: iload 5
aload 8
invokevirtual sun.tools.asm.ConstantPoolData.width:()I
iadd
istore 5
end local 8 22: iinc 7 1
StackMap locals:
StackMap stack:
23: iload 7
aload 3
arraylength
if_icmplt 19
end local 7 24: aload 2
iload 5
invokevirtual java.io.DataOutputStream.writeShort:(I)V
25: iconst_0
istore 7
start local 7 26: goto 29
27: StackMap locals:
StackMap stack:
aload 3
iload 7
aaload
aload 1
aload 2
aload 0
invokevirtual sun.tools.asm.ConstantPoolData.write:(Lsun/tools/java/Environment;Ljava/io/DataOutputStream;Lsun/tools/asm/ConstantPool;)V
28: iinc 7 1
StackMap locals:
StackMap stack:
29: iload 7
iload 6
if_icmplt 27
end local 7 30: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/tools/asm/ConstantPool;
0 31 1 env Lsun/tools/java/Environment;
0 31 2 out Ljava/io/DataOutputStream;
1 31 3 list [Lsun/tools/asm/ConstantPoolData;
2 31 4 keys [Ljava/lang/String;
3 31 5 index I
4 31 6 count I
5 17 7 n I
7 15 8 first I
8 14 9 e Ljava/util/Enumeration<Lsun/tools/asm/ConstantPoolData;>;
10 13 10 data Lsun/tools/asm/ConstantPoolData;
18 24 7 n I
20 22 8 data Lsun/tools/asm/ConstantPoolData;
26 30 7 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
env
out
private static java.lang.String sortKey(sun.tools.asm.ConstantPoolData);
descriptor: (Lsun/tools/asm/ConstantPoolData;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
instanceof sun.tools.asm.NumberConstantData
ifeq 8
1: aload 0
checkcast sun.tools.asm.NumberConstantData
getfield sun.tools.asm.NumberConstantData.num:Ljava/lang/Number;
astore 1
start local 1 2: aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 2
start local 2 3: iconst_3
istore 3
start local 3 4: aload 1
instanceof java.lang.Integer
ifeq 5
iconst_0
istore 3
goto 7
5: StackMap locals: java.lang.Number java.lang.String int
StackMap stack:
aload 1
instanceof java.lang.Float
ifeq 6
iconst_1
istore 3
goto 7
6: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Long
ifeq 7
iconst_2
istore 3
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "\u0000"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.String.length:()I
iload 3
iadd
bipush 8
ishl
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 8: StackMap locals:
StackMap stack:
aload 0
instanceof sun.tools.asm.StringExpressionConstantData
ifeq 10
9: aload 0
checkcast sun.tools.asm.StringExpressionConstantData
getfield sun.tools.asm.StringExpressionConstantData.str:Lsun/tools/tree/StringExpression;
invokevirtual sun.tools.tree.StringExpression.getValue:()Ljava/lang/Object;
checkcast java.lang.String
areturn
10: StackMap locals:
StackMap stack:
aload 0
instanceof sun.tools.asm.FieldConstantData
ifeq 15
11: aload 0
checkcast sun.tools.asm.FieldConstantData
getfield sun.tools.asm.FieldConstantData.field:Lsun/tools/java/MemberDefinition;
astore 1
start local 1 12: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual sun.tools.java.MemberDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual sun.tools.java.MemberDefinition.getType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual sun.tools.java.MemberDefinition.getClassDeclaration:()Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.java.ClassDeclaration.getName:()Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 15: StackMap locals:
StackMap stack:
aload 0
instanceof sun.tools.asm.NameAndTypeConstantData
ifeq 19
16: new java.lang.StringBuilder
dup
aload 0
checkcast sun.tools.asm.NameAndTypeConstantData
getfield sun.tools.asm.NameAndTypeConstantData.name:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
checkcast sun.tools.asm.NameAndTypeConstantData
getfield sun.tools.asm.NameAndTypeConstantData.type:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
19: StackMap locals:
StackMap stack:
aload 0
instanceof sun.tools.asm.ClassConstantData
ifeq 21
20: aload 0
checkcast sun.tools.asm.ClassConstantData
getfield sun.tools.asm.ClassConstantData.name:Ljava/lang/String;
areturn
21: StackMap locals:
StackMap stack:
aload 0
checkcast sun.tools.asm.StringConstantData
getfield sun.tools.asm.StringConstantData.str:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 f Lsun/tools/asm/ConstantPoolData;
2 8 1 num Ljava/lang/Number;
3 8 2 str Ljava/lang/String;
4 8 3 key I
12 15 1 fd Lsun/tools/java/MemberDefinition;
MethodParameters:
Name Flags
f
private static void xsort(sun.tools.asm.ConstantPoolData[], java.lang.String[], int, int);
descriptor: ([Lsun/tools/asm/ConstantPoolData;[Ljava/lang/String;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
if_icmplt 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
iload 2
aaload
astore 4
start local 4 3: iload 2
istore 5
start local 5 4: iload 3
istore 6
start local 6 5: goto 16
6: StackMap locals: java.lang.String int int
StackMap stack:
iinc 5 1
7: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpgt 10
aload 1
iload 5
aaload
aload 4
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifle 6
8: goto 10
9: StackMap locals:
StackMap stack:
iinc 6 -1
10: StackMap locals:
StackMap stack:
iload 6
iload 2
if_icmplt 11
aload 1
iload 6
aaload
aload 4
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifgt 9
11: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmpge 16
12: aload 0
iload 5
aaload
astore 7
start local 7 13: aload 1
iload 5
aaload
astore 8
start local 8 14: aload 0
iload 5
aload 0
iload 6
aaload
aastore
aload 0
iload 6
aload 7
aastore
15: aload 1
iload 5
aload 1
iload 6
aaload
aastore
aload 1
iload 6
aload 8
aastore
end local 8 end local 7 16: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 7
17: iload 6
istore 7
start local 7 18: aload 0
iload 2
aaload
astore 8
start local 8 19: aload 1
iload 2
aaload
astore 9
start local 9 20: aload 0
iload 2
aload 0
iload 7
aaload
aastore
aload 0
iload 7
aload 8
aastore
21: aload 1
iload 2
aload 1
iload 7
aaload
aastore
aload 1
iload 7
aload 9
aastore
22: aload 0
aload 1
iload 2
iload 7
iconst_1
isub
invokestatic sun.tools.asm.ConstantPool.xsort:([Lsun/tools/asm/ConstantPoolData;[Ljava/lang/String;II)V
23: aload 0
aload 1
iload 7
iconst_1
iadd
iload 3
invokestatic sun.tools.asm.ConstantPool.xsort:([Lsun/tools/asm/ConstantPoolData;[Ljava/lang/String;II)V
24: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 ff [Lsun/tools/asm/ConstantPoolData;
0 25 1 ss [Ljava/lang/String;
0 25 2 left I
0 25 3 right I
3 25 4 pivot Ljava/lang/String;
4 25 5 l I
5 25 6 r I
13 16 7 def Lsun/tools/asm/ConstantPoolData;
14 16 8 name Ljava/lang/String;
18 25 7 middle I
19 25 8 def Lsun/tools/asm/ConstantPoolData;
20 25 9 name Ljava/lang/String;
MethodParameters:
Name Flags
ff
ss
left
right
}
SourceFile: "ConstantPool.java"