public final class com.sun.java.util.jar.pack.Package$Class extends com.sun.java.util.jar.pack.Attribute$Holder implements java.lang.Comparable<com.sun.java.util.jar.pack.Package$Class>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.java.util.jar.pack.Package$Class
super_class: com.sun.java.util.jar.pack.Attribute$Holder
{
com.sun.java.util.jar.pack.Package$File file;
descriptor: Lcom/sun/java/util/jar/pack/Package$File;
flags: (0x0000)
int magic;
descriptor: I
flags: (0x0000)
com.sun.java.util.jar.pack.Package$Version version;
descriptor: Lcom/sun/java/util/jar/pack/Package$Version;
flags: (0x0000)
com.sun.java.util.jar.pack.ConstantPool$Entry[] cpMap;
descriptor: [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0000)
com.sun.java.util.jar.pack.ConstantPool$ClassEntry thisClass;
descriptor: Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
flags: (0x0000)
com.sun.java.util.jar.pack.ConstantPool$ClassEntry superClass;
descriptor: Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
flags: (0x0000)
com.sun.java.util.jar.pack.ConstantPool$ClassEntry[] interfaces;
descriptor: [Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
flags: (0x0000)
java.util.ArrayList<com.sun.java.util.jar.pack.Package$Class$Field> fields;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/Package$Class$Field;>;
java.util.ArrayList<com.sun.java.util.jar.pack.Package$Class$Method> methods;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/Package$Class$Method;>;
java.util.ArrayList<com.sun.java.util.jar.pack.Package$InnerClass> innerClasses;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
java.util.ArrayList<com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry> bootstrapMethods;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;>;
final com.sun.java.util.jar.pack.Package this$0;
descriptor: Lcom/sun/java/util/jar/pack/Package;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
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=1, locals=0, args_size=0
0: ldc Lcom/sun/java/util/jar/pack/Package;
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.Package$Class.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public com.sun.java.util.jar.pack.Package getPackage();
descriptor: ()Lcom/sun/java/util/jar/pack/Package;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
void <init>(com.sun.java.util.jar.pack.Package, int, com.sun.java.util.jar.pack.ConstantPool$ClassEntry, com.sun.java.util.jar.pack.ConstantPool$ClassEntry, com.sun.java.util.jar.pack.ConstantPool$ClassEntry[]);
descriptor: (Lcom/sun/java/util/jar/pack/Package;ILcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;[Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
aload 0
invokespecial com.sun.java.util.jar.pack.Attribute$Holder.<init>:()V
1: aload 0
ldc -889275714
putfield com.sun.java.util.jar.pack.Package$Class.magic:I
2: aload 0
aload 1
getfield com.sun.java.util.jar.pack.Package.defaultClassVersion: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;
3: aload 0
iload 2
putfield com.sun.java.util.jar.pack.Package$Class.flags:I
4: aload 0
aload 3
putfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
5: aload 0
aload 4
putfield com.sun.java.util.jar.pack.Package$Class.superClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
6: aload 0
aload 5
putfield com.sun.java.util.jar.pack.Package$Class.interfaces:[Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
7: aload 1
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
aload 0
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
istore 6
start local 6 8: getstatic com.sun.java.util.jar.pack.Package$Class.$assertionsDisabled:Z
ifne 9
iload 6
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: com.sun.java.util.jar.pack.Package$Class com.sun.java.util.jar.pack.Package int com.sun.java.util.jar.pack.ConstantPool$ClassEntry com.sun.java.util.jar.pack.ConstantPool$ClassEntry com.sun.java.util.jar.pack.ConstantPool$ClassEntry[] int
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 10 2 flags I
0 10 3 thisClass Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
0 10 4 superClass Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
0 10 5 interfaces [Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
8 10 6 added Z
MethodParameters:
Name Flags
this$0 final
flags
thisClass
superClass
interfaces
void <init>(com.sun.java.util.jar.pack.Package, java.lang.String);
descriptor: (Lcom/sun/java/util/jar/pack/Package;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
aload 0
invokespecial com.sun.java.util.jar.pack.Attribute$Holder.<init>:()V
1: aload 0
aload 1
aload 2
invokevirtual com.sun.java.util.jar.pack.Package.newStub:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Package$File;
invokevirtual com.sun.java.util.jar.pack.Package$Class.initFile:(Lcom/sun/java/util/jar/pack/Package$File;)V
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 3 2 classFile Ljava/lang/String;
MethodParameters:
Name Flags
this$0 final
classFile
java.util.List<com.sun.java.util.jar.pack.Package$Class$Field> getFields();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.fields:Ljava/util/ArrayList;
ifnonnull 1
getstatic com.sun.java.util.jar.pack.Package.noFields:Ljava/util/List;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.fields:Ljava/util/ArrayList;
StackMap locals:
StackMap stack: java.util.List
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/Package$Class;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$Class$Field;>;
java.util.List<com.sun.java.util.jar.pack.Package$Class$Method> getMethods();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.methods:Ljava/util/ArrayList;
ifnonnull 1
getstatic com.sun.java.util.jar.pack.Package.noMethods:Ljava/util/List;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.methods:Ljava/util/ArrayList;
StackMap locals:
StackMap stack: java.util.List
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/Package$Class;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$Class$Method;>;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
invokevirtual com.sun.java.util.jar.pack.ConstantPool$ClassEntry.stringValue:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
com.sun.java.util.jar.pack.Package$Version getVersion();
descriptor: ()Lcom/sun/java/util/jar/pack/Package$Version;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.version:Lcom/sun/java/util/jar/pack/Package$Version;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
public int compareTo(com.sun.java.util.jar.pack.Package$Class);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokevirtual com.sun.java.util.jar.pack.Package$Class.getName:()Ljava/lang/String;
astore 3
start local 3 2: aload 2
aload 3
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
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/Package$Class;
0 3 1 that Lcom/sun/java/util/jar/pack/Package$Class;
1 3 2 n0 Ljava/lang/String;
2 3 3 n1 Ljava/lang/String;
MethodParameters:
Name Flags
that
java.lang.String getObviousSourceFile();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.getName:()Ljava/lang/String;
invokestatic com.sun.java.util.jar.pack.Package.getObviousSourceFile:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
private void transformSourceFile(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getstatic com.sun.java.util.jar.pack.Package.attrSourceFileSpecial:Lcom/sun/java/util/jar/pack/Attribute$Layout;
invokevirtual com.sun.java.util.jar.pack.Package$Class.getAttribute:(Lcom/sun/java/util/jar/pack/Attribute$Layout;)Lcom/sun/java/util/jar/pack/Attribute;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: return
3: StackMap locals: com.sun.java.util.jar.pack.Attribute
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.getObviousSourceFile:()Ljava/lang/String;
astore 3
start local 3 4: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 5: aload 2
aload 0
iconst_1
aload 4
invokevirtual com.sun.java.util.jar.pack.Attribute.visitRefs:(Lcom/sun/java/util/jar/pack/Attribute$Holder;ILjava/util/Collection;)V
6: aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.ConstantPool$Utf8Entry
astore 5
start local 5 7: aload 2
astore 6
start local 6 8: aload 5
ifnonnull 19
9: iload 1
ifeq 13
10: iconst_0
ldc "SourceFile"
ldc "H"
invokestatic com.sun.java.util.jar.pack.Attribute.find:(ILjava/lang/String;Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
astore 6
11: aload 6
iconst_2
newarray 8
invokevirtual com.sun.java.util.jar.pack.Attribute.addContent:([B)Lcom/sun/java/util/jar/pack/Attribute;
astore 6
12: goto 24
13: StackMap locals: com.sun.java.util.jar.pack.Package$Class int com.sun.java.util.jar.pack.Attribute java.lang.String java.util.List com.sun.java.util.jar.pack.ConstantPool$Utf8Entry com.sun.java.util.jar.pack.Attribute
StackMap stack:
iconst_2
newarray 8
astore 7
start local 7 14: aload 3
invokestatic com.sun.java.util.jar.pack.Package.getRefString:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
astore 5
15: aconst_null
astore 8
start local 8 16: aload 8
aload 7
aload 5
invokestatic com.sun.java.util.jar.pack.Fixups.addRefWithBytes:(Ljava/lang/Object;[BLcom/sun/java/util/jar/pack/ConstantPool$Entry;)Ljava/lang/Object;
astore 8
17: getstatic com.sun.java.util.jar.pack.Package.attrSourceFileSpecial:Lcom/sun/java/util/jar/pack/Attribute$Layout;
aload 7
aload 8
invokevirtual com.sun.java.util.jar.pack.Attribute$Layout.addContent:([BLjava/lang/Object;)Lcom/sun/java/util/jar/pack/Attribute;
astore 6
end local 8 end local 7 18: goto 24
StackMap locals:
StackMap stack:
19: aload 3
aload 5
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Utf8Entry.stringValue:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
20: iload 1
ifeq 23
21: getstatic com.sun.java.util.jar.pack.Package.attrSourceFileSpecial:Lcom/sun/java/util/jar/pack/Attribute$Layout;
iconst_2
newarray 8
invokevirtual com.sun.java.util.jar.pack.Attribute$Layout.addContent:([B)Lcom/sun/java/util/jar/pack/Attribute;
astore 6
22: goto 24
23: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Package$Class.$assertionsDisabled:Z
ifne 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
aload 6
aload 2
if_acmpeq 31
25: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_2
if_icmple 27
26: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "recoding obvious SourceFile="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
27: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.getAttributes:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 7
start local 7 28: aload 7
aload 2
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 8
start local 8 29: aload 7
iload 8
aload 6
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
30: aload 0
aload 7
invokevirtual com.sun.java.util.jar.pack.Package$Class.setAttributes:(Ljava/util/List;)V
end local 8 end local 7 31: StackMap locals:
StackMap stack:
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 32 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 32 1 minimize Z
1 32 2 olda Lcom/sun/java/util/jar/pack/Attribute;
4 32 3 obvious Ljava/lang/String;
5 32 4 ref Ljava/util/List<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
7 32 5 sfName Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
8 32 6 a Lcom/sun/java/util/jar/pack/Attribute;
14 18 7 bytes [B
16 18 8 f Ljava/lang/Object;
28 31 7 newAttrs Ljava/util/List<Lcom/sun/java/util/jar/pack/Attribute;>;
29 31 8 where I
MethodParameters:
Name Flags
minimize
void minimizeSourceFile();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.sun.java.util.jar.pack.Package$Class.transformSourceFile:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package$Class;
void expandSourceFile();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual com.sun.java.util.jar.pack.Package$Class.transformSourceFile:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package$Class;
protected com.sun.java.util.jar.pack.ConstantPool$Entry[] getCPMap();
descriptor: ()[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.cpMap:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
protected void setCPMap(com.sun.java.util.jar.pack.ConstantPool$Entry[]);
descriptor: ([Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
flags: (0x0004) ACC_PROTECTED
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.Package$Class.cpMap:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 2 1 cpMap [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
MethodParameters:
Name Flags
cpMap
boolean hasBootstrapMethods();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.bootstrapMethods:Ljava/util/ArrayList;
ifnull 1
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.bootstrapMethods:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package$Class;
java.util.List<com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry> getBootstrapMethods();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.bootstrapMethods:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;>;
com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry[] getBootstrapMethodMap();
descriptor: ()[Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.hasBootstrapMethods:()Z
ifeq 2
1: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.bootstrapMethods:Ljava/util/ArrayList;
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.bootstrapMethods:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
anewarray com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry[]
goto 3
2: StackMap locals:
StackMap stack:
aconst_null
3: StackMap locals:
StackMap stack: com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/java/util/jar/pack/Package$Class;
void setBootstrapMethods(java.util.Collection<com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.sun.java.util.jar.pack.Package$Class.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.bootstrapMethods:Ljava/util/ArrayList;
ifnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield com.sun.java.util.jar.pack.Package$Class.bootstrapMethods:Ljava/util/ArrayList;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 3 1 bsms Ljava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;>;
Signature: (Ljava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;>;)V
MethodParameters:
Name Flags
bsms
boolean hasInnerClasses();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package$Class;
java.util.List<com.sun.java.util.jar.pack.Package$InnerClass> getInnerClasses();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
public void setInnerClasses(java.util.Collection<com.sun.java.util.jar.pack.Package$InnerClass>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack: com.sun.java.util.jar.pack.Package$Class
1: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.Collection
StackMap stack: com.sun.java.util.jar.pack.Package$Class java.util.ArrayList
2: putfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
3: aload 0
getstatic com.sun.java.util.jar.pack.Package.attrInnerClassesEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
invokevirtual com.sun.java.util.jar.pack.Package$Class.getAttribute:(Lcom/sun/java/util/jar/pack/Attribute$Layout;)Lcom/sun/java/util/jar/pack/Attribute;
astore 2
start local 2 4: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
ifnull 6
aload 2
ifnonnull 6
5: aload 0
getstatic com.sun.java.util.jar.pack.Package.attrInnerClassesEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
invokevirtual com.sun.java.util.jar.pack.Attribute$Layout.canonicalInstance:()Lcom/sun/java/util/jar/pack/Attribute;
invokevirtual com.sun.java.util.jar.pack.Package$Class.addAttribute:(Lcom/sun/java/util/jar/pack/Attribute;)V
goto 8
6: StackMap locals: com.sun.java.util.jar.pack.Attribute
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
ifnonnull 8
aload 2
ifnull 8
7: aload 0
aload 2
invokevirtual com.sun.java.util.jar.pack.Package$Class.removeAttribute:(Lcom/sun/java/util/jar/pack/Attribute;)Lcom/sun/java/util/jar/pack/Attribute;
pop
8: StackMap locals:
StackMap stack:
return
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/Package$Class;
0 9 1 ics Ljava/util/Collection<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
4 9 2 a Lcom/sun/java/util/jar/pack/Attribute;
Signature: (Ljava/util/Collection<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;)V
MethodParameters:
Name Flags
ics
public java.util.List<com.sun.java.util.jar.pack.Package$InnerClass> computeGloballyImpliedICs();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
astore 2
start local 2 2: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
3: aload 0
iconst_0
aload 1
invokevirtual com.sun.java.util.jar.pack.Package$Class.visitRefs:(ILjava/util/Collection;)V
4: aload 0
aload 2
putfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
end local 2 5: aload 1
iconst_1
invokestatic com.sun.java.util.jar.pack.ConstantPool.completeReferencesIn:(Ljava/util/Set;Z)V
6: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 7: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
8: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.ConstantPool$Entry
astore 3
start local 3 9: aload 3
instanceof com.sun.java.util.jar.pack.ConstantPool$ClassEntry
ifne 14
goto 15
10: StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.Set java.util.Set com.sun.java.util.jar.pack.ConstantPool$Entry java.util.Iterator
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
aload 3
invokevirtual com.sun.java.util.jar.pack.Package.getGlobalInnerClass:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)Lcom/sun/java/util/jar/pack/Package$InnerClass;
astore 5
start local 5 11: aload 5
ifnonnull 12
goto 15
12: StackMap locals: com.sun.java.util.jar.pack.Package$InnerClass
StackMap stack:
aload 2
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 13
goto 15
13: StackMap locals:
StackMap stack:
aload 5
getfield com.sun.java.util.jar.pack.Package$InnerClass.outerClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
astore 3
end local 5 14: StackMap locals:
StackMap stack:
aload 3
ifnonnull 10
end local 3 15: StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
16: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 17: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 24
StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.Set java.util.Set java.util.ArrayList top java.util.Iterator
StackMap stack:
18: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$InnerClass
astore 4
start local 4 19: aload 2
aload 4
getfield com.sun.java.util.jar.pack.Package$InnerClass.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 21
20: aload 4
getfield com.sun.java.util.jar.pack.Package$InnerClass.outerClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
if_acmpne 24
21: StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.Set java.util.Set java.util.ArrayList com.sun.java.util.jar.pack.Package$InnerClass java.util.Iterator
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_1
if_icmple 23
22: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Relevant IC: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
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
23: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 24: StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.Set java.util.Set java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
25: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/java/util/jar/pack/Package$Class;
1 26 1 cpRefs Ljava/util/Set<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
2 5 2 innerClassesSaved Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
7 26 2 icRefs Ljava/util/Set<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
9 15 3 e Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
11 14 5 ic Lcom/sun/java/util/jar/pack/Package$InnerClass;
17 26 3 impliedICs Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
19 24 4 ic Lcom/sun/java/util/jar/pack/Package$InnerClass;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
private java.util.List<com.sun.java.util.jar.pack.Package$InnerClass> computeICdiff();
descriptor: ()Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.computeGloballyImpliedICs:()Ljava/util/List;
astore 1
start local 1 1: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.getInnerClasses:()Ljava/util/List;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 2
4: StackMap locals: java.util.List java.util.List
StackMap stack:
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 6
5: aload 1
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 8
7: aload 2
areturn
8: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
aload 2
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 9: aload 3
new java.util.HashSet
dup
aload 1
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
invokeinterface java.util.Set.retainAll:(Ljava/util/Collection;)Z
pop
10: aload 1
aload 2
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
11: aload 1
aload 3
invokeinterface java.util.List.removeAll:(Ljava/util/Collection;)Z
pop
12: aload 1
areturn
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/Package$Class;
1 13 1 impliedICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
2 13 2 actualICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
9 13 3 center Ljava/util/Set<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
void minimizeLocalICs();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.computeICdiff:()Ljava/util/List;
astore 1
start local 1 1: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
astore 2
start local 2 2: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 8
3: aconst_null
astore 3
start local 3 4: aload 2
ifnull 12
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 12
5: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.verbose:I
ifle 12
6: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Warning: Dropping empty InnerClasses attribute from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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.info:(Ljava/lang/String;)V
7: goto 12
end local 3 StackMap locals: java.util.List java.util.List
StackMap stack:
8: aload 2
ifnonnull 11
9: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 3
start local 3 10: goto 12
end local 3 11: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 12: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 3
invokevirtual com.sun.java.util.jar.pack.Package$Class.setInnerClasses:(Ljava/util/Collection;)V
13: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_1
if_icmple 15
aload 3
ifnull 15
14: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "keeping local ICs in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
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
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/java/util/jar/pack/Package$Class;
1 16 1 diff Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
2 16 2 actualICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
4 8 3 localICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
10 11 3 localICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
12 16 3 localICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
int expandLocalICs();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
astore 1
start local 1 1: aload 1
ifnonnull 10
2: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.computeGloballyImpliedICs:()Ljava/util/List;
astore 4
start local 4 3: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 7
4: aconst_null
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 18
end local 3 end local 2 7: StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.List top top java.util.List
StackMap stack:
aload 4
astore 2
start local 2 8: iconst_1
istore 3
end local 4 start local 3 9: goto 18
end local 3 end local 2 StackMap locals: com.sun.java.util.jar.pack.Package$Class java.util.List
StackMap stack:
10: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 14
11: aconst_null
astore 2
start local 2 12: iconst_m1
istore 3
start local 3 13: goto 18
end local 3 end local 2 14: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.computeICdiff:()Ljava/util/List;
astore 2
start local 2 15: aload 2
aload 1
invokeinterface java.util.List.containsAll:(Ljava/util/Collection;)Z
ifeq 16
iconst_1
goto 17
StackMap locals: java.util.List
StackMap stack:
16: iconst_m1
StackMap locals:
StackMap stack: int
17: istore 3
start local 3 18: StackMap locals: int
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.java.util.jar.pack.Package$Class.setInnerClasses:(Ljava/util/Collection;)V
19: iload 3
ireturn
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/Package$Class;
1 20 1 localICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
5 7 2 actualICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
8 10 2 actualICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
12 14 2 actualICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
15 20 2 actualICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
6 7 3 changed I
9 10 3 changed I
13 14 3 changed I
18 20 3 changed I
3 9 4 impliedICs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
public void trimToSize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokespecial com.sun.java.util.jar.pack.Attribute$Holder.trimToSize:()V
1: iconst_0
istore 1
start local 1 2: goto 13
3: StackMap locals: int
StackMap stack:
iload 1
ifne 4
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.fields:Ljava/util/ArrayList;
goto 5
StackMap locals:
StackMap stack:
4: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.methods:Ljava/util/ArrayList;
StackMap locals:
StackMap stack: java.util.ArrayList
5: astore 2
start local 2 6: aload 2
ifnonnull 7
goto 12
7: StackMap locals: java.util.ArrayList
StackMap stack:
aload 2
invokevirtual java.util.ArrayList.trimToSize:()V
8: aload 2
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: com.sun.java.util.jar.pack.Package$Class int java.util.ArrayList top java.util.Iterator
StackMap stack:
9: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class$Member
astore 3
start local 3 10: aload 3
invokevirtual com.sun.java.util.jar.pack.Package$Class$Member.trimToSize:()V
end local 3 11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 2 12: StackMap locals: com.sun.java.util.jar.pack.Package$Class int
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
13: iload 1
iconst_1
if_icmple 3
end local 1 14: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
ifnull 16
15: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.trimToSize:()V
16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/java/util/jar/pack/Package$Class;
2 14 1 isM I
6 12 2 members Ljava/util/ArrayList<+Lcom/sun/java/util/jar/pack/Package$Class$Member;>;
10 11 3 m Lcom/sun/java/util/jar/pack/Package$Class$Member;
public void strip(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: ldc "InnerClass"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 13
4: StackMap locals: int
StackMap stack:
iload 2
ifne 5
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.fields:Ljava/util/ArrayList;
goto 6
StackMap locals:
StackMap stack:
5: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.methods:Ljava/util/ArrayList;
StackMap locals:
StackMap stack: java.util.ArrayList
6: astore 3
start local 3 7: aload 3
ifnonnull 8
goto 12
8: StackMap locals: java.util.ArrayList
StackMap stack:
aload 3
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: com.sun.java.util.jar.pack.Package$Class java.lang.String int java.util.ArrayList top java.util.Iterator
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class$Member
astore 4
start local 4 10: aload 4
aload 1
invokevirtual com.sun.java.util.jar.pack.Package$Class$Member.strip:(Ljava/lang/String;)V
end local 4 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 3 12: StackMap locals: com.sun.java.util.jar.pack.Package$Class java.lang.String int
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
iconst_1
if_icmple 4
end local 2 14: aload 0
aload 1
invokespecial com.sun.java.util.jar.pack.Attribute$Holder.strip:(Ljava/lang/String;)V
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 16 1 attrName Ljava/lang/String;
3 14 2 isM I
7 12 3 members Ljava/util/ArrayList<+Lcom/sun/java/util/jar/pack/Package$Class$Member;>;
10 11 4 m Lcom/sun/java/util/jar/pack/Package$Class$Member;
MethodParameters:
Name Flags
attrName
protected void visitRefs(int, java.util.Collection<com.sun.java.util.jar.pack.ConstantPool$Entry>);
descriptor: (ILjava/util/Collection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_2
if_icmple 1
getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "visitRefs "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
1: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
2: aload 2
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.superClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
3: aload 2
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.interfaces:[Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
4: iconst_0
istore 3
start local 3 5: goto 24
6: StackMap locals: int
StackMap stack:
iload 3
ifne 7
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.fields:Ljava/util/ArrayList;
goto 8
StackMap locals:
StackMap stack:
7: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.methods:Ljava/util/ArrayList;
StackMap locals:
StackMap stack: java.util.ArrayList
8: astore 4
start local 4 9: aload 4
ifnonnull 10
goto 23
10: StackMap locals: java.util.ArrayList
StackMap stack:
aload 4
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
goto 22
StackMap locals: com.sun.java.util.jar.pack.Package$Class int java.util.Collection int java.util.ArrayList top java.util.Iterator
StackMap stack:
11: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class$Member
astore 5
start local 5 12: iconst_0
istore 7
start local 7 13: aload 5
iload 1
aload 2
invokevirtual com.sun.java.util.jar.pack.Package$Class$Member.visitRefs:(ILjava/util/Collection;)V
14: iconst_1
istore 7
15: goto 20
StackMap locals: com.sun.java.util.jar.pack.Package$Class int java.util.Collection int java.util.ArrayList com.sun.java.util.jar.pack.Package$Class$Member java.util.Iterator int
StackMap stack: java.lang.Throwable
16: astore 8
17: iload 7
ifne 19
18: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Error scanning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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
19: StackMap locals: java.lang.Throwable
StackMap stack:
aload 8
athrow
20: StackMap locals:
StackMap stack:
iload 7
ifne 22
21: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Error scanning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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
end local 7 end local 5 22: StackMap locals: com.sun.java.util.jar.pack.Package$Class int java.util.Collection int java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 4 23: StackMap locals: com.sun.java.util.jar.pack.Package$Class int java.util.Collection int
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
24: iload 3
iconst_1
if_icmple 6
end local 3 25: aload 0
iload 1
aload 2
invokevirtual com.sun.java.util.jar.pack.Package$Class.visitInnerClassRefs:(ILjava/util/Collection;)V
26: aload 0
iload 1
aload 2
invokespecial com.sun.java.util.jar.pack.Attribute$Holder.visitRefs:(ILjava/util/Collection;)V
27: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 28 1 mode I
0 28 2 refs Ljava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
5 25 3 isM I
9 23 4 members Ljava/util/ArrayList<+Lcom/sun/java/util/jar/pack/Package$Class$Member;>;
12 22 5 m Lcom/sun/java/util/jar/pack/Package$Class$Member;
13 22 7 ok Z
Exception table:
from to target type
13 16 16 any
Signature: (ILjava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;)V
MethodParameters:
Name Flags
mode
refs
protected void visitInnerClassRefs(int, java.util.Collection<com.sun.java.util.jar.pack.ConstantPool$Entry>);
descriptor: (ILjava/util/Collection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.innerClasses:Ljava/util/ArrayList;
iload 1
aload 2
invokestatic com.sun.java.util.jar.pack.Package.visitInnerClassRefs:(Ljava/util/Collection;ILjava/util/Collection;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 2 1 mode I
0 2 2 refs Ljava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
Signature: (ILjava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;)V
MethodParameters:
Name Flags
mode
refs
void finishReading();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.trimToSize:()V
1: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.maybeChooseFileName:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/Package$Class;
public void initFile(com.sun.java.util.jar.pack.Package$File);
descriptor: (Lcom/sun/java/util/jar/pack/Package$File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.sun.java.util.jar.pack.Package$Class.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
ifnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
2: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.canonicalFileName:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Package.newStub:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Package$File;
astore 1
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
4: getstatic com.sun.java.util.jar.pack.Package$Class.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual com.sun.java.util.jar.pack.Package$File.isClassStub:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 1
aload 0
putfield com.sun.java.util.jar.pack.Package$File.stubClass:Lcom/sun/java/util/jar/pack/Package$Class;
6: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.maybeChooseFileName:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 8 1 file Lcom/sun/java/util/jar/pack/Package$File;
MethodParameters:
Name Flags
file
public void maybeChooseFileName();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.canonicalFileName:()Ljava/lang/String;
astore 1
start local 1 3: aload 0
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;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
aload 1
putfield com.sun.java.util.jar.pack.Package$File.nameString:Ljava/lang/String;
5: StackMap locals: java.lang.String
StackMap stack:
aload 0
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;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
ldc ""
invokestatic com.sun.java.util.jar.pack.Package.getRefString:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
putfield com.sun.java.util.jar.pack.Package$File.name:Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
7: return
8: StackMap locals:
StackMap stack:
aload 0
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.name:Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
ifnonnull 10
9: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
aload 0
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;
invokestatic com.sun.java.util.jar.pack.Package.getRefString:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
putfield com.sun.java.util.jar.pack.Package$File.name:Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/java/util/jar/pack/Package$Class;
3 11 1 canonName Ljava/lang/String;
public java.lang.String canonicalFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
invokevirtual com.sun.java.util.jar.pack.ConstantPool$ClassEntry.stringValue:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package$Class;
public java.io.File getFileName(java.io.File);
descriptor: (Ljava/io/File;)Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
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.name:Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Utf8Entry.stringValue:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
invokevirtual com.sun.java.util.jar.pack.Package$Class.canonicalFileName:()Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
bipush 47
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 3
start local 3 4: new java.io.File
dup
aload 1
aload 3
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/java/util/jar/pack/Package$Class;
0 5 1 parent Ljava/io/File;
1 5 2 name Ljava/lang/String;
4 5 3 fname Ljava/lang/String;
MethodParameters:
Name Flags
parent
public java.io.File getFileName();
descriptor: ()Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual com.sun.java.util.jar.pack.Package$Class.getFileName:(Ljava/io/File;)Ljava/io/File;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
invokevirtual com.sun.java.util.jar.pack.ConstantPool$ClassEntry.stringValue:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package$Class;
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.sun.java.util.jar.pack.Package$Class
invokevirtual com.sun.java.util.jar.pack.Package$Class.compareTo:(Lcom/sun/java/util/jar/pack/Package$Class;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
static com.sun.java.util.jar.pack.Package access$1(com.sun.java.util.jar.pack.Package$Class);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;)Lcom/sun/java/util/jar/pack/Package;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield com.sun.java.util.jar.pack.Package$Class.this$0:Lcom/sun/java/util/jar/pack/Package;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/sun/java/util/jar/pack/Attribute$Holder;Ljava/lang/Comparable<Lcom/sun/java/util/jar/pack/Package$Class;>;
SourceFile: "Package.java"
NestHost: com.sun.java.util.jar.pack.Package
InnerClasses:
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
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 abstract Entry = com.sun.java.util.jar.pack.ConstantPool$Entry 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
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 abstract Member = com.sun.java.util.jar.pack.Package$Class$Member 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