public final class sun.tools.java.BinaryConstantPool implements sun.tools.java.Constants
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.tools.java.BinaryConstantPool
super_class: java.lang.Object
{
private byte[] types;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.lang.Object[] cpool;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
java.util.Hashtable indexHashObject;
descriptor: Ljava/util/Hashtable;
flags: (0x0000)
java.util.Hashtable indexHashAscii;
descriptor: Ljava/util/Hashtable;
flags: (0x0000)
java.util.Vector MoreStuff;
descriptor: Ljava/util/Vector;
flags: (0x0000)
void <init>(java.io.DataInputStream);
descriptor: (Ljava/io/DataInputStream;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
newarray 8
putfield sun.tools.java.BinaryConstantPool.types:[B
2: aload 0
aload 0
getfield sun.tools.java.BinaryConstantPool.types:[B
arraylength
anewarray java.lang.Object
putfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
3: iconst_1
istore 2
start local 2 4: goto 28
5: StackMap locals: sun.tools.java.BinaryConstantPool java.io.DataInputStream int
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.types:[B
iload 2
aload 1
invokevirtual java.io.DataInputStream.readByte:()B
dup_x2
bastore
tableswitch { // 0 - 18
0: 26
1: 6
2: 26
3: 8
4: 10
5: 12
6: 14
7: 16
8: 16
9: 18
10: 18
11: 18
12: 18
13: 26
14: 26
15: 20
16: 22
17: 26
18: 24
default: 26
}
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
aload 1
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
aastore
7: goto 27
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
new java.lang.Integer
dup
aload 1
invokevirtual java.io.DataInputStream.readInt:()I
invokespecial java.lang.Integer.<init>:(I)V
aastore
9: goto 27
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
new java.lang.Float
dup
aload 1
invokevirtual java.io.DataInputStream.readFloat:()F
invokespecial java.lang.Float.<init>:(F)V
aastore
11: goto 27
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
iinc 2 1
new java.lang.Long
dup
aload 1
invokevirtual java.io.DataInputStream.readLong:()J
invokespecial java.lang.Long.<init>:(J)V
aastore
13: goto 27
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
iinc 2 1
new java.lang.Double
dup
aload 1
invokevirtual java.io.DataInputStream.readDouble:()D
invokespecial java.lang.Double.<init>:(D)V
aastore
15: goto 27
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
new java.lang.Integer
dup
aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
invokespecial java.lang.Integer.<init>:(I)V
aastore
17: goto 27
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
new java.lang.Integer
dup
aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
bipush 16
ishl
aload 1
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
ior
invokespecial java.lang.Integer.<init>:(I)V
aastore
19: goto 27
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
aload 0
aload 1
iconst_3
invokevirtual sun.tools.java.BinaryConstantPool.readBytes:(Ljava/io/DataInputStream;I)[B
aastore
21: goto 27
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
aload 0
aload 1
iconst_2
invokevirtual sun.tools.java.BinaryConstantPool.readBytes:(Ljava/io/DataInputStream;I)[B
aastore
23: goto 27
24: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
aload 0
aload 1
iconst_4
invokevirtual sun.tools.java.BinaryConstantPool.readBytes:(Ljava/io/DataInputStream;I)[B
aastore
25: goto 27
26: StackMap locals:
StackMap stack:
new java.lang.ClassFormatError
dup
new java.lang.StringBuilder
dup
ldc "invalid constant type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.tools.java.BinaryConstantPool.types:[B
iload 2
baload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ClassFormatError.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
28: iload 2
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
arraylength
if_icmplt 5
end local 2 29: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/tools/java/BinaryConstantPool;
0 30 1 in Ljava/io/DataInputStream;
4 29 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
private byte[] readBytes(java.io.DataInputStream, int);
descriptor: (Ljava/io/DataInputStream;I)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
newarray 8
astore 3
start local 3 1: aload 1
aload 3
invokevirtual java.io.DataInputStream.readFully:([B)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/java/BinaryConstantPool;
0 3 1 in Ljava/io/DataInputStream;
0 3 2 cnt I
1 3 3 b [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
cnt
public int getInteger(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 1
aaload
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/java/BinaryConstantPool;
0 3 1 n I
MethodParameters:
Name Flags
n
public java.lang.Object getValue(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 1
aaload
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/java/BinaryConstantPool;
0 3 1 n I
MethodParameters:
Name Flags
n
public java.lang.String getString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 1
aaload
checkcast java.lang.String
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/java/BinaryConstantPool;
0 3 1 n I
MethodParameters:
Name Flags
n
public sun.tools.java.Identifier getIdentifier(int);
descriptor: (I)Lsun/tools/java/Identifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
iload 1
invokevirtual sun.tools.java.BinaryConstantPool.getString:(I)Ljava/lang/String;
invokestatic sun.tools.java.Identifier.lookup:(Ljava/lang/String;)Lsun/tools/java/Identifier;
StackMap locals:
StackMap stack: sun.tools.java.Identifier
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/java/BinaryConstantPool;
0 3 1 n I
MethodParameters:
Name Flags
n
public sun.tools.java.ClassDeclaration getDeclarationFromName(sun.tools.java.Environment, int);
descriptor: (Lsun/tools/java/Environment;I)Lsun/tools/java/ClassDeclaration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 1
aload 0
iload 2
invokevirtual sun.tools.java.BinaryConstantPool.getString:(I)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic sun.tools.java.Identifier.lookup:(Ljava/lang/String;)Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDeclaration;
StackMap locals:
StackMap stack: sun.tools.java.ClassDeclaration
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/java/BinaryConstantPool;
0 3 1 env Lsun/tools/java/Environment;
0 3 2 n I
MethodParameters:
Name Flags
env
n
public sun.tools.java.ClassDeclaration getDeclaration(sun.tools.java.Environment, int);
descriptor: (Lsun/tools/java/Environment;I)Lsun/tools/java/ClassDeclaration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
aload 0
iload 2
invokevirtual sun.tools.java.BinaryConstantPool.getInteger:(I)I
invokevirtual sun.tools.java.BinaryConstantPool.getDeclarationFromName:(Lsun/tools/java/Environment;I)Lsun/tools/java/ClassDeclaration;
StackMap locals:
StackMap stack: sun.tools.java.ClassDeclaration
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/java/BinaryConstantPool;
0 3 1 env Lsun/tools/java/Environment;
0 3 2 n I
MethodParameters:
Name Flags
env
n
public sun.tools.java.Type getType(int);
descriptor: (I)Lsun/tools/java/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.tools.java.BinaryConstantPool.getString:(I)Ljava/lang/String;
invokestatic sun.tools.java.Type.tType:(Ljava/lang/String;)Lsun/tools/java/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/BinaryConstantPool;
0 1 1 n I
MethodParameters:
Name Flags
n
public int getConstantType(int);
descriptor: (I)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.java.BinaryConstantPool.types:[B
iload 1
baload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/BinaryConstantPool;
0 1 1 n I
MethodParameters:
Name Flags
n
public java.lang.Object getConstant(int, sun.tools.java.Environment);
descriptor: (ILsun/tools/java/Environment;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual sun.tools.java.BinaryConstantPool.getConstantType:(I)I
istore 3
start local 3 1: iload 3
tableswitch { // 3 - 18
3: 2
4: 2
5: 2
6: 2
7: 3
8: 4
9: 5
10: 5
11: 5
12: 24
13: 24
14: 24
15: 2
16: 2
17: 24
18: 2
default: 24
}
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual sun.tools.java.BinaryConstantPool.getValue:(I)Ljava/lang/Object;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 1
invokevirtual sun.tools.java.BinaryConstantPool.getDeclaration:(Lsun/tools/java/Environment;I)Lsun/tools/java/ClassDeclaration;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
invokevirtual sun.tools.java.BinaryConstantPool.getInteger:(I)I
invokevirtual sun.tools.java.BinaryConstantPool.getString:(I)Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual sun.tools.java.BinaryConstantPool.getInteger:(I)I
istore 4
start local 4 6: aload 0
aload 2
iload 4
bipush 16
ishr
invokevirtual sun.tools.java.BinaryConstantPool.getDeclaration:(Lsun/tools/java/Environment;I)Lsun/tools/java/ClassDeclaration;
aload 2
invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
7: astore 5
start local 5 8: aload 0
iload 4
ldc 65535
iand
invokevirtual sun.tools.java.BinaryConstantPool.getInteger:(I)I
istore 6
start local 6 9: aload 0
iload 6
bipush 16
ishr
invokevirtual sun.tools.java.BinaryConstantPool.getIdentifier:(I)Lsun/tools/java/Identifier;
astore 7
start local 7 10: aload 0
iload 6
ldc 65535
iand
invokevirtual sun.tools.java.BinaryConstantPool.getType:(I)Lsun/tools/java/Type;
astore 8
start local 8 11: aload 5
aload 7
invokevirtual sun.tools.java.ClassDefinition.getFirstMatch:(Lsun/tools/java/Identifier;)Lsun/tools/java/MemberDefinition;
astore 9
start local 9 12: goto 20
13: StackMap locals: sun.tools.java.BinaryConstantPool int sun.tools.java.Environment int int sun.tools.java.ClassDefinition int sun.tools.java.Identifier sun.tools.java.Type sun.tools.java.MemberDefinition
StackMap stack:
aload 9
invokevirtual sun.tools.java.MemberDefinition.getType:()Lsun/tools/java/Type;
astore 10
start local 10 14: iload 3
bipush 9
if_icmpne 16
15: aload 10
aload 8
if_acmpne 19
goto 17
16: StackMap locals: sun.tools.java.Type
StackMap stack:
aload 10
aload 8
invokevirtual sun.tools.java.Type.equalArguments:(Lsun/tools/java/Type;)Z
ifeq 19
17: StackMap locals:
StackMap stack:
aload 9
18: areturn
end local 10 19: StackMap locals:
StackMap stack:
aload 9
invokevirtual sun.tools.java.MemberDefinition.getNextMatch:()Lsun/tools/java/MemberDefinition;
astore 9
20: StackMap locals:
StackMap stack:
aload 9
ifnonnull 13
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 21: goto 23
StackMap locals: sun.tools.java.BinaryConstantPool int sun.tools.java.Environment int
StackMap stack: sun.tools.java.ClassNotFound
22: pop
23: StackMap locals:
StackMap stack:
aconst_null
areturn
24: StackMap locals:
StackMap stack:
new java.lang.ClassFormatError
dup
new java.lang.StringBuilder
dup
ldc "invalid constant type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial java.lang.ClassFormatError.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/tools/java/BinaryConstantPool;
0 27 1 n I
0 27 2 env Lsun/tools/java/Environment;
1 27 3 constant_type I
6 21 4 key I
8 21 5 clazz Lsun/tools/java/ClassDefinition;
9 21 6 name_and_type I
10 21 7 id Lsun/tools/java/Identifier;
11 21 8 type Lsun/tools/java/Type;
12 21 9 field Lsun/tools/java/MemberDefinition;
14 19 10 field_type Lsun/tools/java/Type;
Exception table:
from to target type
5 18 22 Class sun.tools.java.ClassNotFound
19 21 22 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
n
env
public java.util.Vector getDependencies(sun.tools.java.Environment);
descriptor: (Lsun/tools/java/Environment;)Ljava/util/Vector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: goto 6
3: StackMap locals: java.util.Vector int
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.types:[B
iload 3
baload
tableswitch { // 7 - 7
7: 4
default: 5
}
4: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 1
aload 0
iload 3
invokevirtual sun.tools.java.BinaryConstantPool.getInteger:(I)I
invokevirtual sun.tools.java.BinaryConstantPool.getDeclarationFromName:(Lsun/tools/java/Environment;I)Lsun/tools/java/ClassDeclaration;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
arraylength
if_icmplt 3
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/java/BinaryConstantPool;
0 8 1 env Lsun/tools/java/Environment;
1 8 2 v Ljava/util/Vector;
2 7 3 i I
MethodParameters:
Name Flags
env
public int indexObject(java.lang.Object, sun.tools.java.Environment);
descriptor: (Ljava/lang/Object;Lsun/tools/java/Environment;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.java.BinaryConstantPool.indexHashObject:Ljava/util/Hashtable;
ifnonnull 2
1: aload 0
aload 2
invokevirtual sun.tools.java.BinaryConstantPool.createIndexHash:(Lsun/tools/java/Environment;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.indexHashObject:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 3
start local 3 3: aload 3
ifnonnull 7
4: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "Cannot find object "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " in constant pool"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.Integer
StackMap stack:
aload 3
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/java/BinaryConstantPool;
0 8 1 obj Ljava/lang/Object;
0 8 2 env Lsun/tools/java/Environment;
3 8 3 result Ljava/lang/Integer;
MethodParameters:
Name Flags
obj
env
public int indexString(java.lang.String, sun.tools.java.Environment);
descriptor: (Ljava/lang/String;Lsun/tools/java/Environment;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.java.BinaryConstantPool.indexHashObject:Ljava/util/Hashtable;
ifnonnull 2
1: aload 0
aload 2
invokevirtual sun.tools.java.BinaryConstantPool.createIndexHash:(Lsun/tools/java/Environment;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.indexHashAscii:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 3
start local 3 3: aload 3
ifnonnull 8
4: aload 0
getfield sun.tools.java.BinaryConstantPool.MoreStuff:Ljava/util/Vector;
ifnonnull 5
aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield sun.tools.java.BinaryConstantPool.MoreStuff:Ljava/util/Vector;
5: StackMap locals: java.lang.Integer
StackMap stack:
new java.lang.Integer
dup
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
arraylength
aload 0
getfield sun.tools.java.BinaryConstantPool.MoreStuff:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iadd
invokespecial java.lang.Integer.<init>:(I)V
astore 3
6: aload 0
getfield sun.tools.java.BinaryConstantPool.MoreStuff:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
7: aload 0
getfield sun.tools.java.BinaryConstantPool.indexHashAscii:Ljava/util/Hashtable;
aload 1
aload 3
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/tools/java/BinaryConstantPool;
0 9 1 string Ljava/lang/String;
0 9 2 env Lsun/tools/java/Environment;
3 9 3 result Ljava/lang/Integer;
MethodParameters:
Name Flags
string
env
public void createIndexHash(sun.tools.java.Environment);
descriptor: (Lsun/tools/java/Environment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield sun.tools.java.BinaryConstantPool.indexHashObject:Ljava/util/Hashtable;
1: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield sun.tools.java.BinaryConstantPool.indexHashAscii:Ljava/util/Hashtable;
2: iconst_1
istore 2
start local 2 3: goto 11
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.types:[B
iload 2
baload
iconst_1
if_icmpne 7
5: aload 0
getfield sun.tools.java.BinaryConstantPool.indexHashAscii:Ljava/util/Hashtable;
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 2
aaload
new java.lang.Integer
dup
iload 2
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.indexHashObject:Ljava/util/Hashtable;
aload 0
iload 2
aload 1
invokevirtual sun.tools.java.BinaryConstantPool.getConstant:(ILsun/tools/java/Environment;)Ljava/lang/Object;
new java.lang.Integer
dup
iload 2
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: goto 10
StackMap locals:
StackMap stack: java.lang.ClassFormatError
9: pop
10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
arraylength
if_icmplt 4
end local 2 12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/tools/java/BinaryConstantPool;
0 13 1 env Lsun/tools/java/Environment;
3 12 2 i I
Exception table:
from to target type
7 8 9 Class java.lang.ClassFormatError
MethodParameters:
Name Flags
env
public void write(java.io.DataOutputStream, sun.tools.java.Environment);
descriptor: (Ljava/io/DataOutputStream;Lsun/tools/java/Environment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
arraylength
istore 3
start local 3 1: aload 0
getfield sun.tools.java.BinaryConstantPool.MoreStuff:Ljava/util/Vector;
ifnull 3
2: iload 3
aload 0
getfield sun.tools.java.BinaryConstantPool.MoreStuff:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iadd
istore 3
3: StackMap locals: int
StackMap stack:
aload 1
iload 3
invokevirtual java.io.DataOutputStream.writeShort:(I)V
4: iconst_1
istore 4
start local 4 5: goto 34
6: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.types:[B
iload 4
baload
istore 5
start local 5 7: aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
iload 4
aaload
astore 6
start local 6 8: aload 1
iload 5
invokevirtual java.io.DataOutputStream.writeByte:(I)V
9: iload 5
tableswitch { // 1 - 18
1: 10
2: 30
3: 12
4: 14
5: 16
6: 19
7: 22
8: 22
9: 24
10: 24
11: 24
12: 24
13: 30
14: 30
15: 28
16: 28
17: 30
18: 28
default: 30
}
10: StackMap locals: int java.lang.Object
StackMap stack:
aload 1
aload 6
checkcast java.lang.String
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
11: goto 33
12: StackMap locals:
StackMap stack:
aload 1
aload 6
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
invokevirtual java.io.DataOutputStream.writeInt:(I)V
13: goto 33
14: StackMap locals:
StackMap stack:
aload 1
aload 6
checkcast java.lang.Number
invokevirtual java.lang.Number.floatValue:()F
invokevirtual java.io.DataOutputStream.writeFloat:(F)V
15: goto 33
16: StackMap locals:
StackMap stack:
aload 1
aload 6
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
invokevirtual java.io.DataOutputStream.writeLong:(J)V
17: iinc 4 1
18: goto 33
19: StackMap locals:
StackMap stack:
aload 1
aload 6
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
invokevirtual java.io.DataOutputStream.writeDouble:(D)V
20: iinc 4 1
21: goto 33
22: StackMap locals:
StackMap stack:
aload 1
aload 6
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
23: goto 33
24: StackMap locals:
StackMap stack:
aload 6
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 7
start local 7 25: aload 1
iload 7
bipush 16
ishr
invokevirtual java.io.DataOutputStream.writeShort:(I)V
26: aload 1
iload 7
ldc 65535
iand
invokevirtual java.io.DataOutputStream.writeShort:(I)V
27: goto 33
end local 7 28: StackMap locals:
StackMap stack:
aload 1
aload 6
checkcast byte[]
iconst_0
aload 6
checkcast byte[]
arraylength
invokevirtual java.io.DataOutputStream.write:([BII)V
29: goto 33
30: StackMap locals:
StackMap stack:
new java.lang.ClassFormatError
dup
new java.lang.StringBuilder
dup
ldc "invalid constant type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: aload 0
getfield sun.tools.java.BinaryConstantPool.types:[B
iload 4
baload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokespecial java.lang.ClassFormatError.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 33: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
34: iload 4
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
arraylength
if_icmplt 6
end local 4 35: aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
arraylength
istore 4
start local 4 36: goto 41
37: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.BinaryConstantPool.MoreStuff:Ljava/util/Vector;
iload 4
aload 0
getfield sun.tools.java.BinaryConstantPool.cpool:[Ljava/lang/Object;
arraylength
isub
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 38: aload 1
iconst_1
invokevirtual java.io.DataOutputStream.writeByte:(I)V
39: aload 1
aload 5
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
end local 5 40: iinc 4 1
StackMap locals:
StackMap stack:
41: iload 4
iload 3
if_icmplt 37
end local 4 42: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/tools/java/BinaryConstantPool;
0 43 1 out Ljava/io/DataOutputStream;
0 43 2 env Lsun/tools/java/Environment;
1 43 3 length I
5 35 4 i I
7 33 5 type I
8 33 6 x Ljava/lang/Object;
25 28 7 value I
36 42 4 i I
38 40 5 string Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
env
}
SourceFile: "BinaryConstantPool.java"