class com.sun.java.util.jar.pack.ClassReader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.java.util.jar.pack.ClassReader
super_class: java.lang.Object
{
int verbose;
descriptor: I
flags: (0x0000)
com.sun.java.util.jar.pack.Package pkg;
descriptor: Lcom/sun/java/util/jar/pack/Package;
flags: (0x0000)
com.sun.java.util.jar.pack.Package$Class cls;
descriptor: Lcom/sun/java/util/jar/pack/Package$Class;
flags: (0x0000)
long inPos;
descriptor: J
flags: (0x0000)
long constantPoolLimit;
descriptor: J
flags: (0x0000)
java.io.DataInputStream in;
descriptor: Ljava/io/DataInputStream;
flags: (0x0000)
java.util.Map<com.sun.java.util.jar.pack.Attribute$Layout, com.sun.java.util.jar.pack.Attribute> attrDefs;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Lcom/sun/java/util/jar/pack/Attribute$Layout;Lcom/sun/java/util/jar/pack/Attribute;>;
java.util.Map<com.sun.java.util.jar.pack.Attribute$Layout, java.lang.String> attrCommands;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Lcom/sun/java/util/jar/pack/Attribute$Layout;Ljava/lang/String;>;
java.lang.String unknownAttrCommand;
descriptor: Ljava/lang/String;
flags: (0x0000)
private static final com.sun.java.util.jar.pack.ConstantPool$Entry INVALID_ENTRY;
descriptor: Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
boolean haveUnresolvedEntry;
descriptor: Z
flags: (0x0000)
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lcom/sun/java/util/jar/pack/ClassReader;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
3: new com.sun.java.util.jar.pack.ClassReader$1
dup
iconst_m1
invokespecial com.sun.java.util.jar.pack.ClassReader$1.<init>:(B)V
putstatic com.sun.java.util.jar.pack.ClassReader.INVALID_ENTRY:Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
4: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.sun.java.util.jar.pack.Package$Class, java.io.InputStream);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;Ljava/io/InputStream;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc -1
putfield com.sun.java.util.jar.pack.ClassReader.constantPoolLimit:J
2: aload 0
ldc "error"
putfield com.sun.java.util.jar.pack.ClassReader.unknownAttrCommand:Ljava/lang/String;
3: aload 0
aload 1
invokevirtual com.sun.java.util.jar.pack.Package$Class.getPackage:()Lcom/sun/java/util/jar/pack/Package;
putfield com.sun.java.util.jar.pack.ClassReader.pkg:Lcom/sun/java/util/jar/pack/Package;
4: aload 0
aload 1
putfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
5: aload 0
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.pkg:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.verbose:I
putfield com.sun.java.util.jar.pack.ClassReader.verbose:I
6: aload 0
new java.io.DataInputStream
dup
new com.sun.java.util.jar.pack.ClassReader$2
dup
aload 0
aload 2
invokespecial com.sun.java.util.jar.pack.ClassReader$2.<init>:(Lcom/sun/java/util/jar/pack/ClassReader;Ljava/io/InputStream;)V
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
putfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 8 1 cls Lcom/sun/java/util/jar/pack/Package$Class;
0 8 2 in Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cls
in
public void setAttrDefs(java.util.Map<com.sun.java.util.jar.pack.Attribute$Layout, com.sun.java.util.jar.pack.Attribute>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.java.util.jar.pack.ClassReader.attrDefs:Ljava/util/Map;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 2 1 attrDefs Ljava/util/Map<Lcom/sun/java/util/jar/pack/Attribute$Layout;Lcom/sun/java/util/jar/pack/Attribute;>;
Signature: (Ljava/util/Map<Lcom/sun/java/util/jar/pack/Attribute$Layout;Lcom/sun/java/util/jar/pack/Attribute;>;)V
MethodParameters:
Name Flags
attrDefs
public void setAttrCommands(java.util.Map<com.sun.java.util.jar.pack.Attribute$Layout, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.java.util.jar.pack.ClassReader.attrCommands:Ljava/util/Map;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 2 1 attrCommands Ljava/util/Map<Lcom/sun/java/util/jar/pack/Attribute$Layout;Ljava/lang/String;>;
Signature: (Ljava/util/Map<Lcom/sun/java/util/jar/pack/Attribute$Layout;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
attrCommands
private void skip(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "skipping "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.warning:(Ljava/lang/String;)V
1: lconst_0
lstore 3
start local 3 2: goto 6
3: StackMap locals: long
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
iload 1
i2l
lload 3
lsub
invokevirtual java.io.DataInputStream.skip:(J)J
lstore 5
start local 5 4: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 5
lload 5
lconst_0
lcmp
ifgt 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: long
StackMap stack:
lload 3
lload 5
ladd
lstore 3
end local 5 6: StackMap locals:
StackMap stack:
lload 3
iload 1
i2l
lcmp
iflt 3
7: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 8
lload 3
iload 1
i2l
lcmp
ifeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 9 1 n I
0 9 2 what Ljava/lang/String;
2 9 3 skipped J
4 6 5 j J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
what
private int readUnsignedShort();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/ClassReader;
Exceptions:
throws java.io.IOException
private int readInt();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/ClassReader;
Exceptions:
throws java.io.IOException
private com.sun.java.util.jar.pack.ConstantPool$Entry readRef();
descriptor: ()Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 1
start local 1 1: iload 1
ifne 2
aconst_null
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.cpMap:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
iload 1
aaload
StackMap locals:
StackMap stack: com.sun.java.util.jar.pack.ConstantPool$Entry
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/java/util/jar/pack/ClassReader;
1 4 1 i I
Exceptions:
throws java.io.IOException
private com.sun.java.util.jar.pack.ConstantPool$Entry readRef(byte);
descriptor: (B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRef:()Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
astore 2
start local 2 1: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 2
aload 2
instanceof com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.sun.java.util.jar.pack.ConstantPool$Entry
StackMap stack:
aload 0
aload 2
iload 1
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
pop
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 4 1 tag B
1 4 2 e Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
tag
private com.sun.java.util.jar.pack.ConstantPool$Entry checkValid(com.sun.java.util.jar.pack.ConstantPool$Entry);
descriptor: (Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.java.util.jar.pack.ClassReader.INVALID_ENTRY:Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
if_acmpne 2
1: new java.lang.IllegalStateException
dup
ldc "Invalid constant pool reference"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 3 1 e Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
MethodParameters:
Name Flags
e
private com.sun.java.util.jar.pack.ConstantPool$Entry checkTag(com.sun.java.util.jar.pack.ConstantPool$Entry, byte);
descriptor: (Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
iload 2
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.tagMatches:(I)Z
ifne 13
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.constantPoolLimit:J
lcmp
ifne 3
2: ldc " in constant pool"
goto 4
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " at pos: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: StackMap locals:
StackMap stack: java.lang.String
astore 3
start local 3 5: aload 1
ifnonnull 7
6: ldc "null CP index"
goto 8
7: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "type="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.java.util.jar.pack.ConstantPool$Entry.tag:B
invokestatic com.sun.java.util.jar.pack.ConstantPool.tagName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: StackMap locals:
StackMap stack: java.lang.String
astore 4
start local 4 9: new com.sun.java.util.jar.pack.ClassReader$ClassFormatException
dup
new java.lang.StringBuilder
dup
ldc "Bad constant, expected type="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: iload 2
invokestatic com.sun.java.util.jar.pack.ConstantPool.tagName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc " got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", in File: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
getfield com.sun.java.util.jar.pack.Package$File.nameString:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial com.sun.java.util.jar.pack.ClassReader$ClassFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 13: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 14 1 e Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
0 14 2 tag B
5 13 3 where Ljava/lang/String;
9 13 4 got Ljava/lang/String;
Exceptions:
throws com.sun.java.util.jar.pack.ClassReader$ClassFormatException
MethodParameters:
Name Flags
e
tag
private com.sun.java.util.jar.pack.ConstantPool$Entry checkTag(com.sun.java.util.jar.pack.ConstantPool$Entry, byte, boolean);
descriptor: (Lcom/sun/java/util/jar/pack/ConstantPool$Entry;BZ)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 1
aload 1
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
iload 2
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
StackMap locals:
StackMap stack: com.sun.java.util.jar.pack.ConstantPool$Entry
2: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 3 1 e Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
0 3 2 tag B
0 3 3 nullOK Z
Exceptions:
throws com.sun.java.util.jar.pack.ClassReader$ClassFormatException
MethodParameters:
Name Flags
e
tag
nullOK
private com.sun.java.util.jar.pack.ConstantPool$Entry readRefOrNull(byte);
descriptor: (B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRef:()Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
astore 2
start local 2 1: aload 0
aload 2
iload 1
iconst_1
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;BZ)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 3 1 tag B
1 3 2 e Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
tag
private com.sun.java.util.jar.pack.ConstantPool$Utf8Entry readUtf8Ref();
descriptor: ()Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRef:(B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$Utf8Entry
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/ClassReader;
Exceptions:
throws java.io.IOException
private com.sun.java.util.jar.pack.ConstantPool$ClassEntry readClassRef();
descriptor: ()Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 7
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRef:(B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$ClassEntry
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/ClassReader;
Exceptions:
throws java.io.IOException
private com.sun.java.util.jar.pack.ConstantPool$ClassEntry readClassRefOrNull();
descriptor: ()Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 7
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRefOrNull:(B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$ClassEntry
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/ClassReader;
Exceptions:
throws java.io.IOException
private com.sun.java.util.jar.pack.ConstantPool$SignatureEntry readSignatureRef();
descriptor: ()Lcom/sun/java/util/jar/pack/ConstantPool$SignatureEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
bipush 13
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRef:(B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
astore 1
start local 1 1: aload 1
ifnull 3
aload 1
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.getTag:()B
iconst_1
if_icmpne 3
2: aload 1
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.stringValue:()Ljava/lang/String;
invokestatic com.sun.java.util.jar.pack.ConstantPool.getSignatureEntry:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$SignatureEntry;
goto 4
3: StackMap locals: com.sun.java.util.jar.pack.ConstantPool$Entry
StackMap stack:
aload 1
checkcast com.sun.java.util.jar.pack.ConstantPool$SignatureEntry
4: StackMap locals:
StackMap stack: com.sun.java.util.jar.pack.ConstantPool$SignatureEntry
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/java/util/jar/pack/ClassReader;
1 5 1 e Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
Exceptions:
throws java.io.IOException
void read();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readMagicNumbers:()V
2: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readConstantPool:()V
3: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readHeader:()V
4: aload 0
iconst_0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readMembers:(Z)V
5: aload 0
iconst_1
invokevirtual com.sun.java.util.jar.pack.ClassReader.readMembers:(Z)V
6: aload 0
iconst_0
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
invokevirtual com.sun.java.util.jar.pack.ClassReader.readAttributes:(ILcom/sun/java/util/jar/pack/Attribute$Holder;)V
7: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.fixUnresolvedEntries:()V
8: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
invokevirtual com.sun.java.util.jar.pack.Package$Class.finishReading:()V
9: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 10
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
iconst_1
newarray 8
invokevirtual java.io.DataInputStream.read:([B)I
ifle 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: int
StackMap stack:
iconst_1
istore 1
11: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 2
13: iload 1
ifne 15
14: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
ifle 15
getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Erroneous data at input offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.warning:(Ljava/lang/String;)V
15: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
16: StackMap locals:
StackMap stack:
iload 1
ifne 18
17: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
ifle 18
getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Erroneous data at input offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.warning:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/java/util/jar/pack/ClassReader;
1 19 1 ok Z
Exception table:
from to target type
1 12 12 any
Exceptions:
throws java.io.IOException
void readMagicNumbers();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
putfield com.sun.java.util.jar.pack.Package$Class.magic:I
1: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.magic:I
ldc -889275714
if_icmpeq 8
2: new com.sun.java.util.jar.pack.Attribute$FormatException
dup
3: new java.lang.StringBuilder
dup
ldc "Bad magic number in class file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.magic:I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: iconst_0
ldc "magic-number"
ldc "pass"
7: invokespecial com.sun.java.util.jar.pack.Attribute$FormatException.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
i2s
istore 1
start local 1 9: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
i2s
istore 2
start local 2 10: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
iload 2
iload 1
invokestatic com.sun.java.util.jar.pack.Package$Version.of:(II)Lcom/sun/java/util/jar/pack/Package$Version;
putfield com.sun.java.util.jar.pack.Package$Class.version:Lcom/sun/java/util/jar/pack/Package$Version;
11: aload 0
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.version:Lcom/sun/java/util/jar/pack/Package$Version;
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkVersion:(Lcom/sun/java/util/jar/pack/Package$Version;)Ljava/lang/String;
astore 3
start local 3 12: aload 3
ifnull 19
13: new com.sun.java.util.jar.pack.Attribute$FormatException
dup
14: new java.lang.StringBuilder
dup
ldc "classfile version too "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.version:Lcom/sun/java/util/jar/pack/Package$Version;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: iconst_0
ldc "version"
ldc "pass"
18: invokespecial com.sun.java.util.jar.pack.Attribute$FormatException.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
athrow
19: StackMap locals: int int java.lang.String
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/java/util/jar/pack/ClassReader;
9 20 1 minver I
10 20 2 majver I
12 20 3 bad Ljava/lang/String;
Exceptions:
throws java.io.IOException
private java.lang.String checkVersion(com.sun.java.util.jar.pack.Package$Version);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Version;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.java.util.jar.pack.Package$Version.major:S
istore 2
start local 2 1: aload 1
getfield com.sun.java.util.jar.pack.Package$Version.minor:S
istore 3
start local 3 2: iload 2
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.pkg:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.minClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
getfield com.sun.java.util.jar.pack.Package$Version.major:S
if_icmplt 5
3: iload 2
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.pkg:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.minClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
getfield com.sun.java.util.jar.pack.Package$Version.major:S
if_icmpne 6
4: iload 3
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.pkg:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.minClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
getfield com.sun.java.util.jar.pack.Package$Version.minor:S
if_icmpge 6
5: StackMap locals: int int
StackMap stack:
ldc "small"
areturn
6: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.pkg:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.maxClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
getfield com.sun.java.util.jar.pack.Package$Version.major:S
if_icmpgt 9
7: iload 2
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.pkg:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.maxClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
getfield com.sun.java.util.jar.pack.Package$Version.major:S
if_icmpne 10
8: iload 3
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.pkg:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.maxClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
getfield com.sun.java.util.jar.pack.Package$Version.minor:S
if_icmple 10
9: StackMap locals:
StackMap stack:
ldc "large"
areturn
10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 11 1 ver Lcom/sun/java/util/jar/pack/Package$Version;
1 11 2 majver I
2 11 3 minver I
MethodParameters:
Name Flags
ver
void readConstantPool();
descriptor: ()V
flags: (0x0000)
Code:
stack=11, locals=18, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 1
start local 1 1: iload 1
iconst_4
imul
newarray 10
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: iload 1
anewarray com.sun.java.util.jar.pack.ConstantPool$Entry
astore 4
start local 4 4: aload 4
iconst_0
getstatic com.sun.java.util.jar.pack.ClassReader.INVALID_ENTRY:Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
aastore
5: iconst_1
istore 5
start local 5 6: goto 46
7: StackMap locals: com.sun.java.util.jar.pack.ClassReader int int[] int com.sun.java.util.jar.pack.ConstantPool$Entry[] int
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readByte:()B
istore 6
start local 6 8: iload 6
tableswitch { // 1 - 18
1: 9
2: 41
3: 11
4: 13
5: 15
6: 18
7: 21
8: 21
9: 26
10: 26
11: 26
12: 26
13: 41
14: 41
15: 36
16: 21
17: 41
18: 31
default: 41
}
9: StackMap locals: int
StackMap stack:
aload 4
iload 5
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
invokestatic com.sun.java.util.jar.pack.ConstantPool.getUtf8Entry:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
aastore
10: goto 45
11: StackMap locals:
StackMap stack:
aload 4
iload 5
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.sun.java.util.jar.pack.ConstantPool.getLiteralEntry:(Ljava/lang/Comparable;)Lcom/sun/java/util/jar/pack/ConstantPool$LiteralEntry;
aastore
12: goto 45
13: StackMap locals:
StackMap stack:
aload 4
iload 5
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readFloat:()F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokestatic com.sun.java.util.jar.pack.ConstantPool.getLiteralEntry:(Ljava/lang/Comparable;)Lcom/sun/java/util/jar/pack/ConstantPool$LiteralEntry;
aastore
14: goto 45
15: StackMap locals:
StackMap stack:
aload 4
iload 5
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readLong:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokestatic com.sun.java.util.jar.pack.ConstantPool.getLiteralEntry:(Ljava/lang/Comparable;)Lcom/sun/java/util/jar/pack/ConstantPool$LiteralEntry;
aastore
16: aload 4
iinc 5 1
iload 5
getstatic com.sun.java.util.jar.pack.ClassReader.INVALID_ENTRY:Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
aastore
17: goto 45
18: StackMap locals:
StackMap stack:
aload 4
iload 5
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readDouble:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokestatic com.sun.java.util.jar.pack.ConstantPool.getLiteralEntry:(Ljava/lang/Comparable;)Lcom/sun/java/util/jar/pack/ConstantPool$LiteralEntry;
aastore
19: aload 4
iinc 5 1
iload 5
getstatic com.sun.java.util.jar.pack.ClassReader.INVALID_ENTRY:Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
aastore
20: goto 45
21: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 5
iastore
22: aload 2
iload 3
iinc 3 1
iload 6
iastore
23: aload 2
iload 3
iinc 3 1
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
iastore
24: aload 2
iload 3
iinc 3 1
iconst_m1
iastore
25: goto 45
26: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 5
iastore
27: aload 2
iload 3
iinc 3 1
iload 6
iastore
28: aload 2
iload 3
iinc 3 1
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
iastore
29: aload 2
iload 3
iinc 3 1
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
iastore
30: goto 45
31: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 5
iastore
32: aload 2
iload 3
iinc 3 1
iload 6
iastore
33: aload 2
iload 3
iinc 3 1
iconst_m1
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
ixor
iastore
34: aload 2
iload 3
iinc 3 1
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
iastore
35: goto 45
36: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 5
iastore
37: aload 2
iload 3
iinc 3 1
iload 6
iastore
38: aload 2
iload 3
iinc 3 1
iconst_m1
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedByte:()I
ixor
iastore
39: aload 2
iload 3
iinc 3 1
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
iastore
40: goto 45
41: StackMap locals:
StackMap stack:
new com.sun.java.util.jar.pack.ClassReader$ClassFormatException
dup
new java.lang.StringBuilder
dup
ldc "Bad constant pool tag "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
42: iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in File: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
getfield com.sun.java.util.jar.pack.Package$File.nameString:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: ldc " at pos: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial com.sun.java.util.jar.pack.ClassReader$ClassFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 6 45: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
46: iload 5
iload 1
if_icmplt 7
end local 5 47: aload 0
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
putfield com.sun.java.util.jar.pack.ClassReader.constantPoolLimit:J
48: goto 93
49: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
iconst_3
if_icmple 51
50: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "CP fixups ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
iconst_4
idiv
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
iload 3
istore 5
start local 5 52: iconst_0
istore 3
53: iconst_0
istore 6
start local 6 54: goto 91
55: StackMap locals: int int
StackMap stack:
aload 2
iload 6
iinc 6 1
iaload
istore 7
start local 7 56: aload 2
iload 6
iinc 6 1
iaload
istore 8
start local 8 57: aload 2
iload 6
iinc 6 1
iaload
istore 9
start local 9 58: aload 2
iload 6
iinc 6 1
iaload
istore 10
start local 10 59: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
iconst_3
if_icmple 61
60: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc " cp["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokestatic com.sun.java.util.jar.pack.ConstantPool.tagName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "{"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
61: StackMap locals: com.sun.java.util.jar.pack.ClassReader int int[] int com.sun.java.util.jar.pack.ConstantPool$Entry[] int int int int int int
StackMap stack:
iload 9
iflt 62
aload 0
aload 4
iload 9
aaload
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkValid:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
ifnull 63
StackMap locals:
StackMap stack:
62: iload 10
iflt 68
aload 0
aload 4
iload 10
aaload
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkValid:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
ifnonnull 68
63: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 7
iastore
64: aload 2
iload 3
iinc 3 1
iload 8
iastore
65: aload 2
iload 3
iinc 3 1
iload 9
iastore
66: aload 2
iload 3
iinc 3 1
iload 10
iastore
67: goto 91
68: StackMap locals:
StackMap stack:
iload 8
tableswitch { // 7 - 18
7: 69
8: 71
9: 73
10: 73
11: 73
12: 77
13: 90
14: 90
15: 83
16: 81
17: 90
18: 87
default: 90
}
69: StackMap locals:
StackMap stack:
aload 4
iload 7
aload 4
iload 9
aaload
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.stringValue:()Ljava/lang/String;
invokestatic com.sun.java.util.jar.pack.ConstantPool.getClassEntry:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
aastore
70: goto 91
71: StackMap locals:
StackMap stack:
aload 4
iload 7
aload 4
iload 9
aaload
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.stringValue:()Ljava/lang/String;
invokestatic com.sun.java.util.jar.pack.ConstantPool.getStringEntry:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$StringEntry;
aastore
72: goto 91
73: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 9
aaload
bipush 7
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$ClassEntry
astore 11
start local 11 74: aload 0
aload 4
iload 10
aaload
bipush 12
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$DescriptorEntry
astore 12
start local 12 75: aload 4
iload 7
iload 8
i2b
aload 11
aload 12
invokestatic com.sun.java.util.jar.pack.ConstantPool.getMemberEntry:(BLcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;Lcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;)Lcom/sun/java/util/jar/pack/ConstantPool$MemberEntry;
aastore
76: goto 91
end local 12 end local 11 77: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 9
aaload
iconst_1
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$Utf8Entry
astore 13
start local 13 78: aload 0
aload 4
iload 10
aaload
bipush 13
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$Utf8Entry
astore 14
start local 14 79: aload 4
iload 7
aload 13
aload 14
invokestatic com.sun.java.util.jar.pack.ConstantPool.getDescriptorEntry:(Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;)Lcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;
aastore
80: goto 91
end local 14 end local 13 81: StackMap locals:
StackMap stack:
aload 4
iload 7
aload 0
aload 4
iload 9
aaload
bipush 13
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$Utf8Entry
invokestatic com.sun.java.util.jar.pack.ConstantPool.getMethodTypeEntry:(Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;)Lcom/sun/java/util/jar/pack/ConstantPool$MethodTypeEntry;
aastore
82: goto 91
83: StackMap locals:
StackMap stack:
iconst_m1
iload 9
ixor
i2b
istore 15
start local 15 84: aload 0
aload 4
iload 10
aaload
bipush 52
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$MemberEntry
astore 16
start local 16 85: aload 4
iload 7
iload 15
aload 16
invokestatic com.sun.java.util.jar.pack.ConstantPool.getMethodHandleEntry:(BLcom/sun/java/util/jar/pack/ConstantPool$MemberEntry;)Lcom/sun/java/util/jar/pack/ConstantPool$MethodHandleEntry;
aastore
86: goto 91
end local 16 end local 15 87: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 10
aaload
bipush 12
invokevirtual com.sun.java.util.jar.pack.ClassReader.checkTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$DescriptorEntry
astore 17
start local 17 88: aload 4
iload 7
new com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry
dup
aload 0
iload 8
i2b
iconst_2
anewarray java.lang.Object
dup
iconst_0
iconst_m1
iload 9
ixor
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 17
aastore
invokespecial com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry.<init>:(Lcom/sun/java/util/jar/pack/ClassReader;B[Ljava/lang/Object;)V
aastore
89: goto 91
end local 17 90: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 91
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 10 end local 9 end local 8 end local 7 91: StackMap locals: com.sun.java.util.jar.pack.ClassReader int int[] int com.sun.java.util.jar.pack.ConstantPool$Entry[] int int
StackMap stack:
iload 6
iload 5
if_icmplt 55
end local 6 92: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 93
iload 3
iload 5
if_icmplt 93
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 5 93: StackMap locals:
StackMap stack:
iload 3
ifgt 49
94: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
aload 4
putfield com.sun.java.util.jar.pack.Package$Class.cpMap:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
95: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 96 0 this Lcom/sun/java/util/jar/pack/ClassReader;
1 96 1 length I
2 96 2 fixups [I
3 96 3 fptr I
4 96 4 cpMap [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
6 47 5 i I
8 45 6 tag I
52 93 5 flimit I
54 92 6 fi I
56 91 7 cpi I
57 91 8 tag I
58 91 9 ref I
59 91 10 ref2 I
74 77 11 mclass Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
75 77 12 mdescr Lcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;
78 81 13 mname Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
79 81 14 mtype Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
84 87 15 refKind B
85 87 16 memRef Lcom/sun/java/util/jar/pack/ConstantPool$MemberEntry;
88 90 17 idescr Lcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;
Exceptions:
throws java.io.IOException
private void fixUnresolvedEntries();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.haveUnresolvedEntry:Z
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
invokevirtual com.sun.java.util.jar.pack.Package$Class.getCPMap:()[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 9
4: StackMap locals: com.sun.java.util.jar.pack.ConstantPool$Entry[] int
StackMap stack:
aload 1
iload 2
aaload
astore 3
start local 3 5: aload 3
instanceof com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry
ifeq 8
6: aload 1
iload 2
aload 3
checkcast com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry
invokevirtual com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry.resolve:()Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
dup
astore 3
aastore
7: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 8
aload 3
instanceof com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry
ifeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
if_icmplt 4
end local 2 10: aload 0
iconst_0
putfield com.sun.java.util.jar.pack.ClassReader.haveUnresolvedEntry:Z
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/java/util/jar/pack/ClassReader;
2 12 1 cpMap [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
3 10 2 i I
5 8 3 e Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
void ();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
putfield com.sun.java.util.jar.pack.Package$Class.flags:I
1: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readClassRef:()Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
putfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
2: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readClassRefOrNull:()Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
putfield com.sun.java.util.jar.pack.Package$Class.superClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
3: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
istore 1
start local 1 4: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
iload 1
anewarray com.sun.java.util.jar.pack.ConstantPool$ClassEntry
putfield com.sun.java.util.jar.pack.Package$Class.interfaces:[Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
5: iconst_0
istore 2
start local 2 6: goto 9
7: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.interfaces:[Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
iload 2
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readClassRef:()Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
aastore
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
iload 1
if_icmplt 7
end local 2 10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/java/util/jar/pack/ClassReader;
4 11 1 ni I
6 10 2 i I
Exceptions:
throws java.io.IOException
void readMembers(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 0
iload 1
invokevirtual com.sun.java.util.jar.pack.ClassReader.readMember:(Z)V
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 2
if_icmplt 3
end local 3 6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 7 1 doMethods Z
1 7 2 nm I
2 6 3 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
doMethods
void readMember(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
istore 2
start local 2 1: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUtf8Ref:()Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
astore 3
start local 3 2: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readSignatureRef:()Lcom/sun/java/util/jar/pack/ConstantPool$SignatureEntry;
astore 4
start local 4 3: aload 3
aload 4
invokestatic com.sun.java.util.jar.pack.ConstantPool.getDescriptorEntry:(Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;Lcom/sun/java/util/jar/pack/ConstantPool$SignatureEntry;)Lcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;
astore 5
start local 5 4: iload 1
ifne 7
5: new com.sun.java.util.jar.pack.Package$Class$Field
dup
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
iload 2
aload 5
invokespecial com.sun.java.util.jar.pack.Package$Class$Field.<init>:(Lcom/sun/java/util/jar/pack/Package$Class;ILcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;)V
astore 6
start local 6 6: goto 8
end local 6 7: StackMap locals: com.sun.java.util.jar.pack.ClassReader int int com.sun.java.util.jar.pack.ConstantPool$Utf8Entry com.sun.java.util.jar.pack.ConstantPool$SignatureEntry com.sun.java.util.jar.pack.ConstantPool$DescriptorEntry
StackMap stack:
new com.sun.java.util.jar.pack.Package$Class$Method
dup
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
iload 2
aload 5
invokespecial com.sun.java.util.jar.pack.Package$Class$Method.<init>:(Lcom/sun/java/util/jar/pack/Package$Class;ILcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;)V
astore 6
start local 6 8: StackMap locals: com.sun.java.util.jar.pack.Package$Class$Member
StackMap stack:
aload 0
iload 1
ifne 9
iconst_1
goto 10
StackMap locals:
StackMap stack: com.sun.java.util.jar.pack.ClassReader
9: iconst_2
10: StackMap locals: com.sun.java.util.jar.pack.ClassReader int int com.sun.java.util.jar.pack.ConstantPool$Utf8Entry com.sun.java.util.jar.pack.ConstantPool$SignatureEntry com.sun.java.util.jar.pack.ConstantPool$DescriptorEntry com.sun.java.util.jar.pack.Package$Class$Member
StackMap stack: com.sun.java.util.jar.pack.ClassReader int
aload 6
11: invokevirtual com.sun.java.util.jar.pack.ClassReader.readAttributes:(ILcom/sun/java/util/jar/pack/Attribute$Holder;)V
12: 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 13 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 13 1 doMethod Z
1 13 2 mflags I
2 13 3 mname Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
3 13 4 mtype Lcom/sun/java/util/jar/pack/ConstantPool$SignatureEntry;
4 13 5 descr Lcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;
6 7 6 m Lcom/sun/java/util/jar/pack/Package$Class$Member;
8 13 6 m Lcom/sun/java/util/jar/pack/Package$Class$Member;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
doMethod
void readAttributes(int, com.sun.java.util.jar.pack.Attribute$Holder);
descriptor: (ILcom/sun/java/util/jar/pack/Attribute$Holder;)V
flags: (0x0000)
Code:
stack=6, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
istore 3
start local 3 1: iload 3
ifne 2
return
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
iconst_3
if_icmple 4
3: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "readAttributes "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 5: goto 91
6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUtf8Ref:()Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Utf8Entry.stringValue:()Ljava/lang/String;
astore 5
start local 5 7: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readInt:()I
istore 6
start local 6 8: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.attrCommands:Ljava/util/Map;
ifnull 22
9: iload 1
aload 5
invokestatic com.sun.java.util.jar.pack.Attribute.keyForLookup:(ILjava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute$Layout;
astore 7
start local 7 10: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.attrCommands:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 11: aload 8
ifnull 22
12: aload 8
dup
astore 9
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
3433489: 13
96784904: 14
109773592: 15
default: 22
}
StackMap locals: com.sun.java.util.jar.pack.ClassReader int com.sun.java.util.jar.pack.Attribute$Holder int int java.lang.String int com.sun.java.util.jar.pack.Attribute$Layout java.lang.String java.lang.String
StackMap stack:
13: aload 9
ldc "pass"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
goto 22
StackMap locals:
StackMap stack:
14: aload 9
ldc "error"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 22
StackMap locals:
StackMap stack:
15: aload 9
ldc "strip"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 22
16: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "passing attribute bitwise in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 17: new com.sun.java.util.jar.pack.Attribute$FormatException
dup
aload 10
iload 1
aload 5
aload 8
invokespecial com.sun.java.util.jar.pack.Attribute$FormatException.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
athrow
end local 10 18: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "attribute not allowed in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
start local 11 19: new com.sun.java.util.jar.pack.Attribute$FormatException
dup
aload 11
iload 1
aload 5
aload 8
invokespecial com.sun.java.util.jar.pack.Attribute$FormatException.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
athrow
end local 11 20: StackMap locals:
StackMap stack:
aload 0
iload 6
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " attribute in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.ClassReader.skip:(ILjava/lang/String;)V
21: goto 90
end local 8 end local 7 22: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Package.attrDefs:Ljava/util/Map;
iload 1
aload 5
invokestatic com.sun.java.util.jar.pack.Attribute.lookup:(Ljava/util/Map;ILjava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
astore 7
start local 7 23: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
iconst_4
if_icmple 25
aload 7
ifnull 25
24: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "pkg_attribute_lookup "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
25: StackMap locals: com.sun.java.util.jar.pack.Attribute
StackMap stack:
aload 7
ifnonnull 29
26: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.attrDefs:Ljava/util/Map;
iload 1
aload 5
invokestatic com.sun.java.util.jar.pack.Attribute.lookup:(Ljava/util/Map;ILjava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
astore 7
27: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
iconst_4
if_icmple 29
aload 7
ifnull 29
28: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "this "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
29: StackMap locals:
StackMap stack:
aload 7
ifnonnull 33
30: aconst_null
iload 1
aload 5
invokestatic com.sun.java.util.jar.pack.Attribute.lookup:(Ljava/util/Map;ILjava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
astore 7
31: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
iconst_4
if_icmple 33
aload 7
ifnull 33
32: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "null_attribute_lookup "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
aload 7
ifnonnull 35
iload 6
ifne 35
34: iload 1
aload 5
ldc ""
invokestatic com.sun.java.util.jar.pack.Attribute.find:(ILjava/lang/String;Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
astore 7
35: StackMap locals:
StackMap stack:
iload 1
iconst_3
if_icmpne 39
36: aload 5
ldc "StackMap"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
37: aload 5
ldc "StackMapX"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 39
38: StackMap locals:
StackMap stack:
iconst_1
goto 40
StackMap locals:
StackMap stack:
39: iconst_0
StackMap locals:
StackMap stack: int
40: istore 8
start local 8 41: iload 8
ifeq 48
42: aload 2
checkcast com.sun.java.util.jar.pack.Code
astore 9
start local 9 43: aload 9
getfield com.sun.java.util.jar.pack.Code.max_stack:I
ldc 65536
if_icmpge 47
44: aload 9
getfield com.sun.java.util.jar.pack.Code.max_locals:I
ldc 65536
if_icmpge 47
45: aload 9
invokevirtual com.sun.java.util.jar.pack.Code.getLength:()I
ldc 65536
if_icmpge 47
46: aload 5
ldc "X"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 48
47: StackMap locals: int com.sun.java.util.jar.pack.Code
StackMap stack:
aconst_null
astore 7
end local 9 48: StackMap locals:
StackMap stack:
aload 7
ifnonnull 61
49: iload 8
ifeq 54
50: new java.lang.StringBuilder
dup
ldc "unsupported StackMap variant in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 51: new com.sun.java.util.jar.pack.Attribute$FormatException
dup
aload 9
iload 1
aload 5
52: ldc "pass"
53: invokespecial com.sun.java.util.jar.pack.Attribute$FormatException.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
athrow
end local 9 54: StackMap locals:
StackMap stack:
ldc "strip"
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.unknownAttrCommand:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 57
55: aload 0
iload 6
new java.lang.StringBuilder
dup
ldc "unknown "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " attribute in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.ClassReader.skip:(ILjava/lang/String;)V
56: goto 90
57: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " is unknown attribute in class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 58: new com.sun.java.util.jar.pack.Attribute$FormatException
dup
aload 9
iload 1
aload 5
59: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.unknownAttrCommand:Ljava/lang/String;
60: invokespecial com.sun.java.util.jar.pack.Attribute$FormatException.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
athrow
end local 9 61: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
lstore 9
start local 9 62: aload 7
invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
getstatic com.sun.java.util.jar.pack.Package.attrCodeEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
if_acmpne 71
63: aload 2
checkcast com.sun.java.util.jar.pack.Package$Class$Method
astore 11
start local 11 64: aload 11
new com.sun.java.util.jar.pack.Code
dup
aload 11
invokespecial com.sun.java.util.jar.pack.Code.<init>:(Lcom/sun/java/util/jar/pack/Package$Class$Method;)V
putfield com.sun.java.util.jar.pack.Package$Class$Method.code:Lcom/sun/java/util/jar/pack/Code;
65: aload 0
aload 11
getfield com.sun.java.util.jar.pack.Package$Class$Method.code:Lcom/sun/java/util/jar/pack/Code;
invokevirtual com.sun.java.util.jar.pack.ClassReader.readCode:(Lcom/sun/java/util/jar/pack/Code;)V
66: goto 70
StackMap locals: com.sun.java.util.jar.pack.ClassReader int com.sun.java.util.jar.pack.Attribute$Holder int int java.lang.String int com.sun.java.util.jar.pack.Attribute int long com.sun.java.util.jar.pack.Package$Class$Method
StackMap stack: com.sun.java.util.jar.pack.Instruction$FormatException
67: astore 12
start local 12 68: new java.lang.StringBuilder
dup
aload 12
invokevirtual com.sun.java.util.jar.pack.Instruction$FormatException.getMessage:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
start local 13 69: new com.sun.java.util.jar.pack.ClassReader$ClassFormatException
dup
aload 13
aload 12
invokespecial com.sun.java.util.jar.pack.ClassReader$ClassFormatException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 end local 12 70: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 83
iload 6
i2l
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
lload 9
lsub
lcmp
ifeq 83
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 11 71: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
getstatic com.sun.java.util.jar.pack.Package.attrBootstrapMethodsEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
if_acmpne 75
72: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 73
aload 2
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
if_acmpeq 73
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
73: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
invokevirtual com.sun.java.util.jar.pack.ClassReader.readBootstrapMethods:(Lcom/sun/java/util/jar/pack/Package$Class;)V
74: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 90
iload 6
i2l
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
lload 9
lsub
lcmp
ifeq 90
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
75: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
getstatic com.sun.java.util.jar.pack.Package.attrInnerClassesEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
if_acmpne 79
76: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 77
aload 2
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
if_acmpeq 77
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
77: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
invokevirtual com.sun.java.util.jar.pack.ClassReader.readInnerClasses:(Lcom/sun/java/util/jar/pack/Package$Class;)V
78: getstatic com.sun.java.util.jar.pack.ClassReader.$assertionsDisabled:Z
ifne 83
iload 6
i2l
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.inPos:J
lload 9
lsub
lcmp
ifeq 83
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
79: StackMap locals:
StackMap stack:
iload 6
ifle 83
80: iload 6
newarray 8
astore 11
start local 11 81: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
aload 11
invokevirtual java.io.DataInputStream.readFully:([B)V
82: aload 7
aload 11
invokevirtual com.sun.java.util.jar.pack.Attribute.addContent:([B)Lcom/sun/java/util/jar/pack/Attribute;
astore 7
end local 11 83: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.sun.java.util.jar.pack.Attribute.size:()I
ifne 87
aload 7
invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
invokevirtual com.sun.java.util.jar.pack.Attribute$Layout.isEmpty:()Z
ifne 87
84: new com.sun.java.util.jar.pack.ClassReader$ClassFormatException
dup
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
85: ldc ": attribute length cannot be zero, in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
86: invokespecial com.sun.java.util.jar.pack.ClassReader$ClassFormatException.<init>:(Ljava/lang/String;)V
athrow
87: StackMap locals:
StackMap stack:
aload 2
aload 7
invokevirtual com.sun.java.util.jar.pack.Attribute$Holder.addAttribute:(Lcom/sun/java/util/jar/pack/Attribute;)V
88: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.verbose:I
iconst_2
if_icmple 90
89: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "read "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
end local 9 end local 8 end local 7 end local 6 end local 5 90: StackMap locals: com.sun.java.util.jar.pack.ClassReader int com.sun.java.util.jar.pack.Attribute$Holder int int
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
91: iload 4
iload 3
if_icmplt 6
end local 4 92: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 93 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 93 1 ctype I
0 93 2 h Lcom/sun/java/util/jar/pack/Attribute$Holder;
1 93 3 na I
5 92 4 i I
7 90 5 name Ljava/lang/String;
8 90 6 length I
10 22 7 lkey Lcom/sun/java/util/jar/pack/Attribute$Layout;
11 22 8 cmd Ljava/lang/String;
17 18 10 message1 Ljava/lang/String;
19 20 11 message2 Ljava/lang/String;
23 90 7 a Lcom/sun/java/util/jar/pack/Attribute;
41 90 8 isStackMap Z
43 48 9 code Lcom/sun/java/util/jar/pack/Code;
51 54 9 message Ljava/lang/String;
58 61 9 message Ljava/lang/String;
62 90 9 pos0 J
64 71 11 m Lcom/sun/java/util/jar/pack/Package$Class$Method;
68 70 12 iie Lcom/sun/java/util/jar/pack/Instruction$FormatException;
69 70 13 message Ljava/lang/String;
81 83 11 bytes [B
Exception table:
from to target type
65 66 67 Class com.sun.java.util.jar.pack.Instruction$FormatException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctype
h
void readCode(com.sun.java.util.jar.pack.Code);
descriptor: (Lcom/sun/java/util/jar/pack/Code;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
putfield com.sun.java.util.jar.pack.Code.max_stack:I
1: aload 1
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
putfield com.sun.java.util.jar.pack.Code.max_locals:I
2: aload 1
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readInt:()I
newarray 8
putfield com.sun.java.util.jar.pack.Code.bytes:[B
3: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.in:Ljava/io/DataInputStream;
aload 1
getfield com.sun.java.util.jar.pack.Code.bytes:[B
invokevirtual java.io.DataInputStream.readFully:([B)V
4: aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
invokevirtual com.sun.java.util.jar.pack.Package$Class.getCPMap:()[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
astore 2
start local 2 5: aload 1
getfield com.sun.java.util.jar.pack.Code.bytes:[B
aload 2
aload 0
getfield com.sun.java.util.jar.pack.ClassReader.cls:Lcom/sun/java/util/jar/pack/Package$Class;
getfield com.sun.java.util.jar.pack.Package$Class.version:Lcom/sun/java/util/jar/pack/Package$Version;
invokestatic com.sun.java.util.jar.pack.Instruction.opcodeChecker:([B[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;Lcom/sun/java/util/jar/pack/Package$Version;)V
6: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
istore 3
start local 3 7: aload 1
iload 3
invokevirtual com.sun.java.util.jar.pack.Code.setHandlerCount:(I)V
8: iconst_0
istore 4
start local 4 9: goto 15
10: StackMap locals: com.sun.java.util.jar.pack.ConstantPool$Entry[] int int
StackMap stack:
aload 1
getfield com.sun.java.util.jar.pack.Code.handler_start:[I
iload 4
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
iastore
11: aload 1
getfield com.sun.java.util.jar.pack.Code.handler_end:[I
iload 4
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
iastore
12: aload 1
getfield com.sun.java.util.jar.pack.Code.handler_catch:[I
iload 4
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
iastore
13: aload 1
getfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
iload 4
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readClassRefOrNull:()Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
aastore
14: iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
iload 3
if_icmplt 10
end local 4 16: aload 0
iconst_3
aload 1
invokevirtual com.sun.java.util.jar.pack.ClassReader.readAttributes:(ILcom/sun/java/util/jar/pack/Attribute$Holder;)V
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 18 1 code Lcom/sun/java/util/jar/pack/Code;
5 18 2 cpMap [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
7 18 3 nh I
9 16 4 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
code
void readBootstrapMethods(com.sun.java.util.jar.pack.Package$Class);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
anewarray com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 12
3: StackMap locals: com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry[] int
StackMap stack:
aload 0
bipush 15
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRef:(B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry
astore 4
start local 4 4: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
anewarray com.sun.java.util.jar.pack.ConstantPool$Entry
astore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 9
7: StackMap locals: com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry com.sun.java.util.jar.pack.ConstantPool$Entry[] int
StackMap stack:
aload 5
iload 6
aload 0
bipush 51
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRef:(B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
aastore
8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
aload 5
arraylength
if_icmplt 7
end local 6 10: aload 2
iload 3
aload 4
aload 5
invokestatic com.sun.java.util.jar.pack.ConstantPool.getBootstrapMethodEntry:(Lcom/sun/java/util/jar/pack/ConstantPool$MethodHandleEntry;[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;
aastore
end local 5 end local 4 11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 13: aload 1
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual com.sun.java.util.jar.pack.Package$Class.setBootstrapMethods:(Ljava/util/Collection;)V
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 15 1 cls Lcom/sun/java/util/jar/pack/Package$Class;
1 15 2 bsms [Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;
2 13 3 i I
4 11 4 bsmRef Lcom/sun/java/util/jar/pack/ConstantPool$MethodHandleEntry;
5 11 5 argRefs [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
6 10 6 j I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cls
void readInnerClasses(com.sun.java.util.jar.pack.Package$Class);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;)V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
istore 2
start local 2 1: new java.util.ArrayList
dup
iload 2
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 12
4: StackMap locals: int java.util.ArrayList int
StackMap stack:
new com.sun.java.util.jar.pack.Package$InnerClass
dup
aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readClassRef:()Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
5: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readClassRefOrNull:()Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
6: aload 0
iconst_1
invokevirtual com.sun.java.util.jar.pack.ClassReader.readRefOrNull:(B)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
checkcast com.sun.java.util.jar.pack.ConstantPool$Utf8Entry
7: aload 0
invokevirtual com.sun.java.util.jar.pack.ClassReader.readUnsignedShort:()I
8: invokespecial com.sun.java.util.jar.pack.Package$InnerClass.<init>:(Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;I)V
9: astore 5
start local 5 10: aload 3
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 2
if_icmplt 4
end local 4 13: aload 1
aload 3
putfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/java/util/jar/pack/ClassReader;
0 15 1 cls Lcom/sun/java/util/jar/pack/Package$Class;
1 15 2 nc I
2 15 3 ics Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
3 13 4 i I
10 11 5 ic Lcom/sun/java/util/jar/pack/Package$InnerClass;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cls
}
SourceFile: "ClassReader.java"
NestMembers:
com.sun.java.util.jar.pack.ClassReader$1 com.sun.java.util.jar.pack.ClassReader$2 com.sun.java.util.jar.pack.ClassReader$ClassFormatException com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry
InnerClasses:
public FormatException = com.sun.java.util.jar.pack.Attribute$FormatException of com.sun.java.util.jar.pack.Attribute
public abstract Holder = com.sun.java.util.jar.pack.Attribute$Holder of com.sun.java.util.jar.pack.Attribute
public Layout = com.sun.java.util.jar.pack.Attribute$Layout of com.sun.java.util.jar.pack.Attribute
com.sun.java.util.jar.pack.ClassReader$1
com.sun.java.util.jar.pack.ClassReader$2
ClassFormatException = com.sun.java.util.jar.pack.ClassReader$ClassFormatException of com.sun.java.util.jar.pack.ClassReader
private UnresolvedEntry = com.sun.java.util.jar.pack.ClassReader$UnresolvedEntry of com.sun.java.util.jar.pack.ClassReader
public BootstrapMethodEntry = com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry of com.sun.java.util.jar.pack.ConstantPool
public ClassEntry = com.sun.java.util.jar.pack.ConstantPool$ClassEntry of com.sun.java.util.jar.pack.ConstantPool
public DescriptorEntry = com.sun.java.util.jar.pack.ConstantPool$DescriptorEntry of com.sun.java.util.jar.pack.ConstantPool
public abstract Entry = com.sun.java.util.jar.pack.ConstantPool$Entry of com.sun.java.util.jar.pack.ConstantPool
public abstract LiteralEntry = com.sun.java.util.jar.pack.ConstantPool$LiteralEntry of com.sun.java.util.jar.pack.ConstantPool
public MemberEntry = com.sun.java.util.jar.pack.ConstantPool$MemberEntry of com.sun.java.util.jar.pack.ConstantPool
public MethodHandleEntry = com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry of com.sun.java.util.jar.pack.ConstantPool
public MethodTypeEntry = com.sun.java.util.jar.pack.ConstantPool$MethodTypeEntry of com.sun.java.util.jar.pack.ConstantPool
public SignatureEntry = com.sun.java.util.jar.pack.ConstantPool$SignatureEntry of com.sun.java.util.jar.pack.ConstantPool
public StringEntry = com.sun.java.util.jar.pack.ConstantPool$StringEntry of com.sun.java.util.jar.pack.ConstantPool
public Utf8Entry = com.sun.java.util.jar.pack.ConstantPool$Utf8Entry of com.sun.java.util.jar.pack.ConstantPool
FormatException = com.sun.java.util.jar.pack.Instruction$FormatException of com.sun.java.util.jar.pack.Instruction
public final Class = com.sun.java.util.jar.pack.Package$Class of com.sun.java.util.jar.pack.Package
public Field = com.sun.java.util.jar.pack.Package$Class$Field of com.sun.java.util.jar.pack.Package$Class
public Method = com.sun.java.util.jar.pack.Package$Class$Method of com.sun.java.util.jar.pack.Package$Class
public final File = com.sun.java.util.jar.pack.Package$File of com.sun.java.util.jar.pack.Package
InnerClass = com.sun.java.util.jar.pack.Package$InnerClass of com.sun.java.util.jar.pack.Package
protected final Version = com.sun.java.util.jar.pack.Package$Version of com.sun.java.util.jar.pack.Package
Pack200Logger = com.sun.java.util.jar.pack.Utils$Pack200Logger of com.sun.java.util.jar.pack.Utils