class com.sun.java.util.jar.pack.Package
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.java.util.jar.pack.Package
super_class: java.lang.Object
{
int verbose;
descriptor: I
flags: (0x0000)
final int magic;
descriptor: I
flags: (0x0010) ACC_FINAL
ConstantValue: -889270259
int default_modtime;
descriptor: I
flags: (0x0000)
int default_options;
descriptor: I
flags: (0x0000)
com.sun.java.util.jar.pack.Package$Version defaultClassVersion;
descriptor: Lcom/sun/java/util/jar/pack/Package$Version;
flags: (0x0000)
final com.sun.java.util.jar.pack.Package$Version minClassVersion;
descriptor: Lcom/sun/java/util/jar/pack/Package$Version;
flags: (0x0010) ACC_FINAL
final com.sun.java.util.jar.pack.Package$Version maxClassVersion;
descriptor: Lcom/sun/java/util/jar/pack/Package$Version;
flags: (0x0010) ACC_FINAL
final com.sun.java.util.jar.pack.Package$Version packageVersion;
descriptor: Lcom/sun/java/util/jar/pack/Package$Version;
flags: (0x0010) ACC_FINAL
com.sun.java.util.jar.pack.Package$Version observedHighestClassVersion;
descriptor: Lcom/sun/java/util/jar/pack/Package$Version;
flags: (0x0000)
com.sun.java.util.jar.pack.ConstantPool$IndexGroup cp;
descriptor: Lcom/sun/java/util/jar/pack/ConstantPool$IndexGroup;
flags: (0x0000)
public static final com.sun.java.util.jar.pack.Attribute$Layout attrCodeEmpty;
descriptor: Lcom/sun/java/util/jar/pack/Attribute$Layout;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.sun.java.util.jar.pack.Attribute$Layout attrBootstrapMethodsEmpty;
descriptor: Lcom/sun/java/util/jar/pack/Attribute$Layout;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.sun.java.util.jar.pack.Attribute$Layout attrInnerClassesEmpty;
descriptor: Lcom/sun/java/util/jar/pack/Attribute$Layout;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.sun.java.util.jar.pack.Attribute$Layout attrSourceFileSpecial;
descriptor: Lcom/sun/java/util/jar/pack/Attribute$Layout;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.util.Map<com.sun.java.util.jar.pack.Attribute$Layout, com.sun.java.util.jar.pack.Attribute> attrDefs;
descriptor: Ljava/util/Map;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Lcom/sun/java/util/jar/pack/Attribute$Layout;Lcom/sun/java/util/jar/pack/Attribute;>;
java.util.ArrayList<com.sun.java.util.jar.pack.Package$Class> classes;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/Package$Class;>;
java.util.ArrayList<com.sun.java.util.jar.pack.Package$File> files;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Lcom/sun/java/util/jar/pack/Package$File;>;
java.util.List<com.sun.java.util.jar.pack.Package$InnerClass> allInnerClasses;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
java.util.Map<com.sun.java.util.jar.pack.ConstantPool$ClassEntry, com.sun.java.util.jar.pack.Package$InnerClass> allInnerClassesByThis;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
private static final int SLASH_MIN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 46
private static final int SLASH_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 47
private static final int DOLLAR_MIN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int DOLLAR_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 45
static final java.util.List<java.lang.Object> noObjects;
descriptor: Ljava/util/List;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Object;>;
static final java.util.List<com.sun.java.util.jar.pack.Package$Class$Field> noFields;
descriptor: Ljava/util/List;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$Class$Field;>;
static final java.util.List<com.sun.java.util.jar.pack.Package$Class$Method> noMethods;
descriptor: Ljava/util/List;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$Class$Method;>;
static final java.util.List<com.sun.java.util.jar.pack.Package$InnerClass> noInnerClasses;
descriptor: Ljava/util/List;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
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=4, locals=1, 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.$assertionsDisabled:Z
3: new java.util.HashMap
dup
iconst_3
invokespecial java.util.HashMap.<init>:(I)V
astore 0
start local 0 4: aload 0
iconst_2
5: ldc "Code"
ldc ""
6: invokestatic com.sun.java.util.jar.pack.Attribute.define:(Ljava/util/Map;ILjava/lang/String;Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
7: invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
8: putstatic com.sun.java.util.jar.pack.Package.attrCodeEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
9: aload 0
iconst_0
10: ldc "BootstrapMethods"
ldc ""
11: invokestatic com.sun.java.util.jar.pack.Attribute.define:(Ljava/util/Map;ILjava/lang/String;Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
12: invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
13: putstatic com.sun.java.util.jar.pack.Package.attrBootstrapMethodsEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
14: aload 0
iconst_0
15: ldc "InnerClasses"
ldc ""
16: invokestatic com.sun.java.util.jar.pack.Attribute.define:(Ljava/util/Map;ILjava/lang/String;Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
17: invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
18: putstatic com.sun.java.util.jar.pack.Package.attrInnerClassesEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
19: aload 0
iconst_0
20: ldc "SourceFile"
ldc "RUNH"
21: invokestatic com.sun.java.util.jar.pack.Attribute.define:(Ljava/util/Map;ILjava/lang/String;Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
22: invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
23: putstatic com.sun.java.util.jar.pack.Package.attrSourceFileSpecial:Lcom/sun/java/util/jar/pack/Attribute$Layout;
24: aload 0
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
putstatic com.sun.java.util.jar.pack.Package.attrDefs:Ljava/util/Map;
end local 0 25: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 26
iconst_0
bipush 45
ldc "x$$y$"
iconst_4
invokestatic com.sun.java.util.jar.pack.Package.lastIndexOf:(IILjava/lang/String;I)I
iconst_2
if_icmpeq 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 27
bipush 46
bipush 47
ldc "x//y/"
iconst_4
invokestatic com.sun.java.util.jar.pack.Package.lastIndexOf:(IILjava/lang/String;I)I
iconst_2
if_icmpeq 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
iconst_0
anewarray java.lang.Object
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
putstatic com.sun.java.util.jar.pack.Package.noObjects:Ljava/util/List;
28: iconst_0
anewarray com.sun.java.util.jar.pack.Package$Class$Field
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
putstatic com.sun.java.util.jar.pack.Package.noFields:Ljava/util/List;
29: iconst_0
anewarray com.sun.java.util.jar.pack.Package$Class$Method
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
putstatic com.sun.java.util.jar.pack.Package.noMethods:Ljava/util/List;
30: iconst_0
anewarray com.sun.java.util.jar.pack.Package$InnerClass
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
putstatic com.sun.java.util.jar.pack.Package.noInnerClasses:Ljava/util/List;
return
LocalVariableTable:
Start End Slot Name Signature
4 25 0 ad Ljava/util/Map<Lcom/sun/java/util/jar/pack/Attribute$Layout;Lcom/sun/java/util/jar/pack/Attribute;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: invokestatic com.sun.java.util.jar.pack.Utils.currentPropMap:()Lcom/sun/java/util/jar/pack/PropMap;
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 0
aload 1
ldc "com.sun.java.util.jar.pack.verbose"
invokevirtual com.sun.java.util.jar.pack.PropMap.getInteger:(Ljava/lang/String;)I
putfield com.sun.java.util.jar.pack.Package.verbose:I
end local 1 4: StackMap locals: com.sun.java.util.jar.pack.Package
StackMap stack:
aload 0
ldc -889270259
putfield com.sun.java.util.jar.pack.Package.magic:I
5: aload 0
iconst_0
putfield com.sun.java.util.jar.pack.Package.default_modtime:I
6: aload 0
iconst_0
putfield com.sun.java.util.jar.pack.Package.default_options:I
7: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Package.defaultClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
8: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Package.observedHighestClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
9: aload 0
new com.sun.java.util.jar.pack.ConstantPool$IndexGroup
dup
invokespecial com.sun.java.util.jar.pack.ConstantPool$IndexGroup.<init>:()V
putfield com.sun.java.util.jar.pack.Package.cp:Lcom/sun/java/util/jar/pack/ConstantPool$IndexGroup;
10: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
11: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
12: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
13: aload 0
getstatic com.sun.java.util.jar.pack.Constants.JAVA_MIN_CLASS_VERSION:Lcom/sun/java/util/jar/pack/Package$Version;
putfield com.sun.java.util.jar.pack.Package.minClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
14: aload 0
getstatic com.sun.java.util.jar.pack.Constants.JAVA_MAX_CLASS_VERSION:Lcom/sun/java/util/jar/pack/Package$Version;
putfield com.sun.java.util.jar.pack.Package.maxClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
15: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Package.packageVersion:Lcom/sun/java/util/jar/pack/Package$Version;
16: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/java/util/jar/pack/Package;
2 4 1 pmap Lcom/sun/java/util/jar/pack/PropMap;
public void <init>(com.sun.java.util.jar.pack.Package$Version, com.sun.java.util.jar.pack.Package$Version, com.sun.java.util.jar.pack.Package$Version);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Version;Lcom/sun/java/util/jar/pack/Package$Version;Lcom/sun/java/util/jar/pack/Package$Version;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: invokestatic com.sun.java.util.jar.pack.Utils.currentPropMap:()Lcom/sun/java/util/jar/pack/PropMap;
astore 4
start local 4 2: aload 4
ifnull 4
3: aload 0
aload 4
ldc "com.sun.java.util.jar.pack.verbose"
invokevirtual com.sun.java.util.jar.pack.PropMap.getInteger:(Ljava/lang/String;)I
putfield com.sun.java.util.jar.pack.Package.verbose:I
end local 4 4: StackMap locals: com.sun.java.util.jar.pack.Package com.sun.java.util.jar.pack.Package$Version com.sun.java.util.jar.pack.Package$Version com.sun.java.util.jar.pack.Package$Version
StackMap stack:
aload 0
ldc -889270259
putfield com.sun.java.util.jar.pack.Package.magic:I
5: aload 0
iconst_0
putfield com.sun.java.util.jar.pack.Package.default_modtime:I
6: aload 0
iconst_0
putfield com.sun.java.util.jar.pack.Package.default_options:I
7: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Package.defaultClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
8: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Package.observedHighestClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
9: aload 0
new com.sun.java.util.jar.pack.ConstantPool$IndexGroup
dup
invokespecial com.sun.java.util.jar.pack.ConstantPool$IndexGroup.<init>:()V
putfield com.sun.java.util.jar.pack.Package.cp:Lcom/sun/java/util/jar/pack/ConstantPool$IndexGroup;
10: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
11: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
12: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
13: aload 0
aload 1
ifnonnull 15
14: getstatic com.sun.java.util.jar.pack.Constants.JAVA_MIN_CLASS_VERSION:Lcom/sun/java/util/jar/pack/Package$Version;
goto 16
15: StackMap locals:
StackMap stack: com.sun.java.util.jar.pack.Package
aload 1
16: StackMap locals: com.sun.java.util.jar.pack.Package com.sun.java.util.jar.pack.Package$Version com.sun.java.util.jar.pack.Package$Version com.sun.java.util.jar.pack.Package$Version
StackMap stack: com.sun.java.util.jar.pack.Package com.sun.java.util.jar.pack.Package$Version
putfield com.sun.java.util.jar.pack.Package.minClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
17: aload 0
aload 2
ifnonnull 19
18: getstatic com.sun.java.util.jar.pack.Constants.JAVA_MAX_CLASS_VERSION:Lcom/sun/java/util/jar/pack/Package$Version;
goto 20
19: StackMap locals:
StackMap stack: com.sun.java.util.jar.pack.Package
aload 2
20: StackMap locals: com.sun.java.util.jar.pack.Package com.sun.java.util.jar.pack.Package$Version com.sun.java.util.jar.pack.Package$Version com.sun.java.util.jar.pack.Package$Version
StackMap stack: com.sun.java.util.jar.pack.Package com.sun.java.util.jar.pack.Package$Version
putfield com.sun.java.util.jar.pack.Package.maxClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
21: aload 0
aload 3
putfield com.sun.java.util.jar.pack.Package.packageVersion:Lcom/sun/java/util/jar/pack/Package$Version;
22: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/java/util/jar/pack/Package;
0 23 1 minClassVersion Lcom/sun/java/util/jar/pack/Package$Version;
0 23 2 maxClassVersion Lcom/sun/java/util/jar/pack/Package$Version;
0 23 3 packageVersion Lcom/sun/java/util/jar/pack/Package$Version;
2 4 4 pmap Lcom/sun/java/util/jar/pack/PropMap;
MethodParameters:
Name Flags
minClassVersion
maxClassVersion
packageVersion
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new com.sun.java.util.jar.pack.ConstantPool$IndexGroup
dup
invokespecial com.sun.java.util.jar.pack.ConstantPool$IndexGroup.<init>:()V
putfield com.sun.java.util.jar.pack.Package.cp:Lcom/sun/java/util/jar/pack/ConstantPool$IndexGroup;
1: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
2: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
3: iconst_0
putstatic com.sun.java.util.jar.pack.BandStructure.nextSeqForDebug:I
4: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Package.observedHighestClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/java/util/jar/pack/Package;
com.sun.java.util.jar.pack.Package$Version getDefaultClassVersion();
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.defaultClassVersion: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;
private void setHighestClassVersion();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package.observedHighestClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Constants.JAVA_MIN_CLASS_VERSION:Lcom/sun/java/util/jar/pack/Package$Version;
astore 1
start local 1 3: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: com.sun.java.util.jar.pack.Package com.sun.java.util.jar.pack.Package$Version top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class
astore 2
start local 2 5: aload 2
invokevirtual com.sun.java.util.jar.pack.Package$Class.getVersion:()Lcom/sun/java/util/jar/pack/Package$Version;
astore 4
start local 4 6: aload 1
aload 4
invokevirtual com.sun.java.util.jar.pack.Package$Version.lessThan:(Lcom/sun/java/util/jar/pack/Package$Version;)Z
ifeq 7
aload 4
astore 1
end local 4 end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 0
aload 1
putfield com.sun.java.util.jar.pack.Package.observedHighestClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/java/util/jar/pack/Package;
3 10 1 res Lcom/sun/java/util/jar/pack/Package$Version;
5 7 2 cls Lcom/sun/java/util/jar/pack/Package$Class;
6 7 4 ver Lcom/sun/java/util/jar/pack/Package$Version;
com.sun.java.util.jar.pack.Package$Version getHighestClassVersion();
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
invokevirtual com.sun.java.util.jar.pack.Package.setHighestClassVersion:()V
1: aload 0
getfield com.sun.java.util.jar.pack.Package.observedHighestClassVersion:Lcom/sun/java/util/jar/pack/Package$Version;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package;
public java.util.List<com.sun.java.util.jar.pack.Package$Class> getClasses();
descriptor: ()Ljava/util/List;
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.classes:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$Class;>;
void addClass(com.sun.java.util.jar.pack.Package$Class);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.sun.java.util.jar.pack.Package$Class.getPackage:()Lcom/sun/java/util/jar/pack/Package;
aload 0
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
istore 2
start local 2 2: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 3
iload 2
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int
StackMap stack:
aload 1
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
ifnonnull 4
aload 1
aconst_null
invokevirtual com.sun.java.util.jar.pack.Package$Class.initFile:(Lcom/sun/java/util/jar/pack/Package$File;)V
4: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
invokevirtual com.sun.java.util.jar.pack.Package.addFile:(Lcom/sun/java/util/jar/pack/Package$File;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/java/util/jar/pack/Package;
0 6 1 c Lcom/sun/java/util/jar/pack/Package$Class;
2 6 2 added Z
MethodParameters:
Name Flags
c
public java.util.List<com.sun.java.util.jar.pack.Package$File> getFiles();
descriptor: ()Ljava/util/List;
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.files:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$File;>;
public java.util.List<com.sun.java.util.jar.pack.Package$File> getClassStubs();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.sun.java.util.jar.pack.Package java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class
astore 2
start local 2 3: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 4
aload 2
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
invokevirtual com.sun.java.util.jar.pack.Package$File.isClassStub:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: com.sun.java.util.jar.pack.Package java.util.List com.sun.java.util.jar.pack.Package$Class java.util.Iterator
StackMap stack:
aload 1
aload 2
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 5: StackMap locals: com.sun.java.util.jar.pack.Package java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/java/util/jar/pack/Package;
1 7 1 classStubs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$File;>;
3 5 2 cls Lcom/sun/java/util/jar/pack/Package$Class;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$File;>;
com.sun.java.util.jar.pack.Package$File newStub(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Package$File;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new com.sun.java.util.jar.pack.Package$File
dup
aload 0
aload 1
invokespecial com.sun.java.util.jar.pack.Package$File.<init>:(Lcom/sun/java/util/jar/pack/Package;Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
dup
getfield com.sun.java.util.jar.pack.Package$File.options:I
iconst_2
ior
putfield com.sun.java.util.jar.pack.Package$File.options:I
2: aload 2
aconst_null
putfield com.sun.java.util.jar.pack.Package$File.prepend:Ljava/util/ArrayList;
3: aload 2
aconst_null
putfield com.sun.java.util.jar.pack.Package$File.append:Ljava/io/ByteArrayOutputStream;
4: aload 2
areturn
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;
0 5 1 classFileNameString Ljava/lang/String;
1 5 2 stub Lcom/sun/java/util/jar/pack/Package$File;
MethodParameters:
Name Flags
classFileNameString
private static java.lang.String fixupFileName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getstatic java.io.File.separatorChar:C
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "absolute file name "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 fname Ljava/lang/String;
MethodParameters:
Name Flags
name
void addFile(com.sun.java.util.jar.pack.Package$File);
descriptor: (Lcom/sun/java/util/jar/pack/Package$File;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
istore 2
start local 2 1: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 2
iload 2
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
return
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;
0 3 1 file Lcom/sun/java/util/jar/pack/Package$File;
1 3 2 added Z
MethodParameters:
Name Flags
file
public java.util.List<com.sun.java.util.jar.pack.Package$InnerClass> getAllInnerClasses();
descriptor: ()Ljava/util/List;
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.allInnerClasses:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Package;
Signature: ()Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
public void setAllInnerClasses(java.util.Collection<com.sun.java.util.jar.pack.Package$InnerClass>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 1
aload 1
aload 0
getfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
if_acmpne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
invokeinterface java.util.List.clear:()V
2: aload 0
getfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
aload 1
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
3: aload 0
new java.util.HashMap
dup
aload 0
getfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokespecial java.util.HashMap.<init>:(I)V
putfield com.sun.java.util.jar.pack.Package.allInnerClassesByThis:Ljava/util/Map;
4: aload 0
getfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: com.sun.java.util.jar.pack.Package java.util.Collection top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$InnerClass
astore 2
start local 2 6: aload 0
getfield com.sun.java.util.jar.pack.Package.allInnerClassesByThis:Ljava/util/Map;
aload 2
getfield com.sun.java.util.jar.pack.Package$InnerClass.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 7: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 8
aload 4
ifnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 end local 2 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/java/util/jar/pack/Package;
0 10 1 ics Ljava/util/Collection<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
6 8 2 ic Lcom/sun/java/util/jar/pack/Package$InnerClass;
7 8 4 pic Ljava/lang/Object;
Signature: (Ljava/util/Collection<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;)V
MethodParameters:
Name Flags
ics
public com.sun.java.util.jar.pack.Package$InnerClass getGlobalInnerClass(com.sun.java.util.jar.pack.ConstantPool$Entry);
descriptor: (Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)Lcom/sun/java/util/jar/pack/Package$InnerClass;
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.$assertionsDisabled:Z
ifne 1
aload 1
instanceof com.sun.java.util.jar.pack.ConstantPool$ClassEntry
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package.allInnerClassesByThis:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$InnerClass
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Package;
0 2 1 thisClass Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
MethodParameters:
Name Flags
thisClass
private static void visitInnerClassRefs(java.util.Collection<com.sun.java.util.jar.pack.Package$InnerClass>, int, java.util.Collection<com.sun.java.util.jar.pack.ConstantPool$Entry>);
descriptor: (Ljava/util/Collection;ILjava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
iload 1
ifne 4
3: aload 2
ldc "InnerClasses"
invokestatic com.sun.java.util.jar.pack.Package.getRefString:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.Collection.size:()I
ifle 9
5: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: java.util.Collection int java.util.Collection top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$InnerClass
astore 3
start local 3 7: aload 3
iload 1
aload 2
invokevirtual com.sun.java.util.jar.pack.Package$InnerClass.visitRefs:(ILjava/util/Collection;)V
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: StackMap locals: java.util.Collection int java.util.Collection
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 innerClasses Ljava/util/Collection<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
0 10 1 mode I
0 10 2 refs Ljava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
7 8 3 c Lcom/sun/java/util/jar/pack/Package$InnerClass;
Signature: (Ljava/util/Collection<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;ILjava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;)V
MethodParameters:
Name Flags
innerClasses
mode
refs
static java.lang.String[] parseInnerClassName(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 6
start local 6 1: bipush 46
bipush 47
aload 0
aload 0
invokevirtual java.lang.String.length:()I
invokestatic com.sun.java.util.jar.pack.Package.lastIndexOf:(IILjava/lang/String;I)I
iconst_1
iadd
istore 7
start local 7 2: iconst_0
bipush 45
aload 0
aload 0
invokevirtual java.lang.String.length:()I
invokestatic com.sun.java.util.jar.pack.Package.lastIndexOf:(IILjava/lang/String;I)I
istore 5
start local 5 3: iload 5
iload 7
if_icmpge 4
aconst_null
areturn
4: StackMap locals: java.lang.String top top top top int int int
StackMap stack:
aload 0
iload 5
iconst_1
iadd
iload 6
invokestatic com.sun.java.util.jar.pack.Package.isDigitString:(Ljava/lang/String;II)Z
ifeq 9
5: aload 0
iload 5
iconst_1
iadd
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
start local 2 6: aconst_null
astore 3
start local 3 7: iload 5
istore 4
start local 4 8: goto 19
end local 4 end local 3 end local 2 9: StackMap locals:
StackMap stack:
iconst_0
bipush 45
aload 0
iload 5
iconst_1
isub
invokestatic com.sun.java.util.jar.pack.Package.lastIndexOf:(IILjava/lang/String;I)I
10: dup
istore 4
start local 4 11: iload 7
if_icmple 16
12: aload 0
iload 4
iconst_1
iadd
iload 5
invokestatic com.sun.java.util.jar.pack.Package.isDigitString:(Ljava/lang/String;II)Z
ifeq 16
13: aload 0
iload 4
iconst_1
iadd
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
start local 2 14: aload 0
iload 5
iconst_1
iadd
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 3
start local 3 15: goto 19
end local 3 end local 2 16: StackMap locals: java.lang.String top top top int int int int
StackMap stack:
iload 5
istore 4
17: aconst_null
astore 2
start local 2 18: aload 0
iload 5
iconst_1
iadd
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 3
start local 3 19: StackMap locals: java.lang.String top java.lang.String java.lang.String int int int int
StackMap stack:
aload 2
ifnonnull 22
20: aload 0
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 1
start local 1 21: goto 23
end local 1 22: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 23: StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String int int int int
StackMap stack:
iconst_3
anewarray java.lang.String
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 n Ljava/lang/String;
21 22 1 pkgOuter Ljava/lang/String;
23 24 1 pkgOuter Ljava/lang/String;
6 9 2 number Ljava/lang/String;
14 16 2 number Ljava/lang/String;
18 24 2 number Ljava/lang/String;
7 9 3 name Ljava/lang/String;
15 16 3 name Ljava/lang/String;
19 24 3 name Ljava/lang/String;
8 9 4 dollar1 I
11 24 4 dollar1 I
3 24 5 dollar2 I
1 24 6 nlen I
2 24 7 pkglen I
MethodParameters:
Name Flags
n
private static int lastIndexOf(int, int, java.lang.String, int);
descriptor: (IILjava/lang/String;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 3: iload 5
iload 0
if_icmplt 5
iload 5
iload 1
if_icmpgt 5
4: iload 4
ireturn
end local 5 5: StackMap locals:
StackMap stack:
iinc 4 -1
iload 4
ifge 2
end local 4 6: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 chMin I
0 7 1 chMax I
0 7 2 str Ljava/lang/String;
0 7 3 pos I
1 6 4 i I
3 5 5 ch I
MethodParameters:
Name Flags
chMin
chMax
str
pos
private static boolean isDigitString(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
if_icmpne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
iload 1
istore 3
start local 3 2: goto 7
3: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 4: iload 4
bipush 48
if_icmplt 5
iload 4
bipush 57
if_icmple 6
StackMap locals: int
StackMap stack:
5: iconst_0
ireturn
end local 4 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 3
end local 3 8: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 x Ljava/lang/String;
0 9 1 beg I
0 9 2 end I
2 8 3 i I
4 6 4 ch C
MethodParameters:
Name Flags
x
beg
end
static java.lang.String getObviousSourceFile(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: bipush 46
bipush 47
aload 1
aload 1
invokevirtual java.lang.String.length:()I
invokestatic com.sun.java.util.jar.pack.Package.lastIndexOf:(IILjava/lang/String;I)I
iconst_1
iadd
istore 2
start local 2 2: aload 1
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
3: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 4: StackMap locals: java.lang.String int int
StackMap stack:
iconst_0
bipush 45
aload 1
iload 3
iconst_1
isub
invokestatic com.sun.java.util.jar.pack.Package.lastIndexOf:(IILjava/lang/String;I)I
istore 4
start local 4 5: iload 4
ifge 7
6: goto 9
7: StackMap locals: int
StackMap stack:
iload 4
istore 3
8: iload 3
ifne 4
end local 4 9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
10: aload 1
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".java"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 11: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 className Ljava/lang/String;
1 12 1 n Ljava/lang/String;
2 12 2 pkglen I
4 12 3 cutoff I
5 9 4 dollar2 I
11 12 4 obvious Ljava/lang/String;
MethodParameters:
Name Flags
className
static com.sun.java.util.jar.pack.ConstantPool$Utf8Entry getRefString(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.sun.java.util.jar.pack.ConstantPool.getUtf8Entry:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
static com.sun.java.util.jar.pack.ConstantPool$LiteralEntry getRefLiteral(java.lang.Comparable<?>);
descriptor: (Ljava/lang/Comparable;)Lcom/sun/java/util/jar/pack/ConstantPool$LiteralEntry;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.sun.java.util.jar.pack.ConstantPool.getLiteralEntry:(Ljava/lang/Comparable;)Lcom/sun/java/util/jar/pack/ConstantPool$LiteralEntry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/Comparable<*>;
Signature: (Ljava/lang/Comparable<*>;)Lcom/sun/java/util/jar/pack/ConstantPool$LiteralEntry;
MethodParameters:
Name Flags
s
void stripAttributeKind(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Package.verbose:I
ifle 2
1: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Stripping "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " data and attributes..."
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.info:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1679822317: 3
-503167036: 4
65906227: 5
679220772: 6
default: 18
}
StackMap locals: java.lang.String
StackMap stack:
3: aload 2
ldc "Compile"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 18
StackMap locals:
StackMap stack:
4: aload 2
ldc "Constant"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 18
StackMap locals:
StackMap stack:
5: aload 2
ldc "Debug"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 18
StackMap locals:
StackMap stack:
6: aload 2
ldc "Exceptions"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 18
7: StackMap locals:
StackMap stack:
aload 0
ldc "SourceFile"
invokevirtual com.sun.java.util.jar.pack.Package.strip:(Ljava/lang/String;)V
8: aload 0
ldc "LineNumberTable"
invokevirtual com.sun.java.util.jar.pack.Package.strip:(Ljava/lang/String;)V
9: aload 0
ldc "LocalVariableTable"
invokevirtual com.sun.java.util.jar.pack.Package.strip:(Ljava/lang/String;)V
10: aload 0
ldc "LocalVariableTypeTable"
invokevirtual com.sun.java.util.jar.pack.Package.strip:(Ljava/lang/String;)V
11: goto 18
12: StackMap locals:
StackMap stack:
aload 0
ldc "Deprecated"
invokevirtual com.sun.java.util.jar.pack.Package.strip:(Ljava/lang/String;)V
13: aload 0
ldc "Synthetic"
invokevirtual com.sun.java.util.jar.pack.Package.strip:(Ljava/lang/String;)V
14: goto 18
15: StackMap locals:
StackMap stack:
aload 0
ldc "Exceptions"
invokevirtual com.sun.java.util.jar.pack.Package.strip:(Ljava/lang/String;)V
16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Package.stripConstantFields:()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/Package;
0 19 1 what Ljava/lang/String;
MethodParameters:
Name Flags
what
public void trimToSize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.trimToSize:()V
1: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: com.sun.java.util.jar.pack.Package top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class
astore 1
start local 1 3: aload 1
invokevirtual com.sun.java.util.jar.pack.Package$Class.trimToSize:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.trimToSize:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/java/util/jar/pack/Package;
3 4 1 c Lcom/sun/java/util/jar/pack/Package$Class;
public void strip(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: com.sun.java.util.jar.pack.Package java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class
astore 2
start local 2 2: aload 2
aload 1
invokevirtual com.sun.java.util.jar.pack.Package$Class.strip:(Ljava/lang/String;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/java/util/jar/pack/Package;
0 5 1 attrName Ljava/lang/String;
2 3 2 c Lcom/sun/java/util/jar/pack/Package$Class;
MethodParameters:
Name Flags
attrName
public void stripConstantFields();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 13
StackMap locals: com.sun.java.util.jar.pack.Package top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class
astore 1
start local 1 2: aload 1
getfield com.sun.java.util.jar.pack.Package$Class.fields:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
start local 3 3: goto 12
4: StackMap locals: com.sun.java.util.jar.pack.Package com.sun.java.util.jar.pack.Package$Class java.util.Iterator java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class$Field
astore 4
start local 4 5: aload 4
getfield com.sun.java.util.jar.pack.Package$Class$Field.flags:I
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 12
6: aload 4
getfield com.sun.java.util.jar.pack.Package$Class$Field.flags:I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 12
7: aload 4
ldc "ConstantValue"
invokevirtual com.sun.java.util.jar.pack.Package$Class$Field.getAttribute:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/Attribute;
ifnull 12
8: aload 4
invokevirtual com.sun.java.util.jar.pack.Package$Class$Field.getName:()Ljava/lang/String;
ldc "serial"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 12
9: aload 0
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_2
if_icmple 12
10: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc ">> Strip "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ConstantValue"
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
11: aload 3
invokeinterface java.util.Iterator.remove:()V
end local 4 12: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 3 end local 1 13: StackMap locals: com.sun.java.util.jar.pack.Package top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/java/util/jar/pack/Package;
2 13 1 c Lcom/sun/java/util/jar/pack/Package$Class;
3 13 3 j Ljava/util/Iterator<Lcom/sun/java/util/jar/pack/Package$Class$Field;>;
5 12 4 f Lcom/sun/java/util/jar/pack/Package$Class$Field;
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=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: com.sun.java.util.jar.pack.Package int java.util.Collection top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class
astore 3
start local 3 2: aload 3
iload 1
aload 2
invokevirtual com.sun.java.util.jar.pack.Package$Class.visitRefs:(ILjava/util/Collection;)V
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: iload 1
ifeq 10
5: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals:
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$File
astore 3
start local 3 7: aload 3
iload 1
aload 2
invokevirtual com.sun.java.util.jar.pack.Package$File.visitRefs:(ILjava/util/Collection;)V
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 0
getfield com.sun.java.util.jar.pack.Package.allInnerClasses:Ljava/util/List;
iload 1
aload 2
invokestatic com.sun.java.util.jar.pack.Package.visitInnerClassRefs:(Ljava/util/Collection;ILjava/util/Collection;)V
10: StackMap locals: com.sun.java.util.jar.pack.Package int java.util.Collection
StackMap stack:
return
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/Package;
0 11 1 mode I
0 11 2 refs Ljava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
2 3 3 c Lcom/sun/java/util/jar/pack/Package$Class;
7 8 3 f Lcom/sun/java/util/jar/pack/Package$File;
Signature: (ILjava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;)V
MethodParameters:
Name Flags
mode
refs
void reorderFiles(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 2
1: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Package.getClassStubs:()Ljava/util/List;
astore 3
start local 3 3: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
start local 4 4: goto 9
5: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$File
astore 5
start local 5 6: aload 5
invokevirtual com.sun.java.util.jar.pack.Package$File.isClassStub:()Z
ifne 8
7: iload 2
ifeq 9
aload 5
invokevirtual com.sun.java.util.jar.pack.Package$File.isDirectory:()Z
ifeq 9
8: StackMap locals: com.sun.java.util.jar.pack.Package$File
StackMap stack:
aload 4
invokeinterface java.util.Iterator.remove:()V
end local 5 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 4 10: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
new com.sun.java.util.jar.pack.Package$1
dup
aload 0
invokespecial com.sun.java.util.jar.pack.Package$1.<init>:(Lcom/sun/java/util/jar/pack/Package;)V
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
11: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
aload 3
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
12: return
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;
0 13 1 keepClassOrder Z
0 13 2 stripDirectories Z
3 13 3 stubs Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$File;>;
4 10 4 i Ljava/util/Iterator<Lcom/sun/java/util/jar/pack/Package$File;>;
6 9 5 file Lcom/sun/java/util/jar/pack/Package$File;
MethodParameters:
Name Flags
keepClassOrder
stripDirectories
void trimStubs();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
astore 1
start local 1 1: goto 10
2: StackMap locals: java.util.ListIterator
StackMap stack:
aload 1
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$File
astore 2
start local 2 3: aload 2
invokevirtual com.sun.java.util.jar.pack.Package$File.isTrivialClassStub:()Z
ifne 7
4: aload 0
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_1
if_icmple 11
5: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Keeping last non-trivial "
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;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
6: goto 11
7: StackMap locals: com.sun.java.util.jar.pack.Package$File
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_2
if_icmple 9
8: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Removing trivial "
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;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.ListIterator.remove:()V
end local 2 10: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.ListIterator.hasPrevious:()Z
ifne 2
end local 1 11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package.verbose:I
ifle 13
12: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Transmitting "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " files, including per-file data for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.sun.java.util.jar.pack.Package.getClassStubs:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " classes out of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokevirtual java.lang.StringBuilder.append:(I)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
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/java/util/jar/pack/Package;
1 11 1 i Ljava/util/ListIterator<Lcom/sun/java/util/jar/pack/Package$File;>;
3 10 2 file Lcom/sun/java/util/jar/pack/Package$File;
void buildGlobalConstantPool(java.util.Set<com.sun.java.util.jar.pack.ConstantPool$Entry>);
descriptor: (Ljava/util/Set;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_1
if_icmple 2
1: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
ldc "Checking for unused CP entries"
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokestatic com.sun.java.util.jar.pack.Package.getRefString:(Ljava/lang/String;)Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 0
iconst_1
aload 1
invokevirtual com.sun.java.util.jar.pack.Package.visitRefs:(ILjava/util/Collection;)V
4: aload 1
iconst_0
invokestatic com.sun.java.util.jar.pack.ConstantPool.completeReferencesIn:(Ljava/util/Set;Z)V
5: aload 0
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_1
if_icmple 7
6: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
ldc "Sorting CP entries"
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
ldc "unsorted"
aload 1
invokestatic com.sun.java.util.jar.pack.ConstantPool.makeIndex:(Ljava/lang/String;Ljava/util/Collection;)Lcom/sun/java/util/jar/pack/ConstantPool$Index;
astore 2
start local 2 8: aload 2
invokestatic com.sun.java.util.jar.pack.ConstantPool.partitionByTag:(Lcom/sun/java/util/jar/pack/ConstantPool$Index;)[Lcom/sun/java/util/jar/pack/ConstantPool$Index;
astore 3
start local 3 9: iconst_0
istore 4
start local 4 10: goto 18
11: StackMap locals: com.sun.java.util.jar.pack.ConstantPool$Index com.sun.java.util.jar.pack.ConstantPool$Index[] int
StackMap stack:
getstatic com.sun.java.util.jar.pack.ConstantPool.TAGS_IN_ORDER:[B
iload 4
baload
istore 5
start local 5 12: aload 3
iload 5
aaload
astore 6
start local 6 13: aload 6
ifnonnull 14
goto 17
14: StackMap locals: int com.sun.java.util.jar.pack.ConstantPool$Index
StackMap stack:
aload 6
invokestatic com.sun.java.util.jar.pack.ConstantPool.sort:(Lcom/sun/java/util/jar/pack/ConstantPool$Index;)V
15: aload 0
getfield com.sun.java.util.jar.pack.Package.cp:Lcom/sun/java/util/jar/pack/ConstantPool$IndexGroup;
iload 5
aload 6
invokevirtual com.sun.java.util.jar.pack.ConstantPool$IndexGroup.initIndexByTag:(BLcom/sun/java/util/jar/pack/ConstantPool$Index;)V
16: aload 3
iload 5
aconst_null
aastore
end local 6 end local 5 17: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
getstatic com.sun.java.util.jar.pack.ConstantPool.TAGS_IN_ORDER:[B
arraylength
if_icmplt 11
end local 4 19: iconst_0
istore 4
start local 4 20: goto 24
21: StackMap locals:
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 22: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 23
aload 5
ifnull 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 5 23: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
24: iload 4
aload 3
arraylength
if_icmplt 21
end local 4 25: iconst_0
istore 4
start local 4 26: goto 32
27: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.ConstantPool.TAGS_IN_ORDER:[B
iload 4
baload
istore 5
start local 5 28: aload 0
getfield com.sun.java.util.jar.pack.Package.cp:Lcom/sun/java/util/jar/pack/ConstantPool$IndexGroup;
iload 5
invokevirtual com.sun.java.util.jar.pack.ConstantPool$IndexGroup.getIndexByTag:(B)Lcom/sun/java/util/jar/pack/ConstantPool$Index;
astore 6
start local 6 29: getstatic com.sun.java.util.jar.pack.Package.$assertionsDisabled:Z
ifne 30
aload 6
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Index.assertIsSorted:()Z
ifne 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals: int com.sun.java.util.jar.pack.ConstantPool$Index
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Package.verbose:I
iconst_2
if_icmple 31
getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
aload 6
invokevirtual com.sun.java.util.jar.pack.ConstantPool$Index.dumpString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
end local 6 end local 5 31: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
32: iload 4
getstatic com.sun.java.util.jar.pack.ConstantPool.TAGS_IN_ORDER:[B
arraylength
if_icmplt 27
end local 4 33: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/sun/java/util/jar/pack/Package;
0 34 1 requiredEntries Ljava/util/Set<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
8 34 2 cpAllU Lcom/sun/java/util/jar/pack/ConstantPool$Index;
9 34 3 byTagU [Lcom/sun/java/util/jar/pack/ConstantPool$Index;
10 19 4 i I
12 17 5 tag B
13 17 6 ix Lcom/sun/java/util/jar/pack/ConstantPool$Index;
20 25 4 i I
22 23 5 ix Lcom/sun/java/util/jar/pack/ConstantPool$Index;
26 33 4 i I
28 31 5 tag B
29 31 6 ix Lcom/sun/java/util/jar/pack/ConstantPool$Index;
Signature: (Ljava/util/Set<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;)V
MethodParameters:
Name Flags
requiredEntries
void ensureAllClassFiles();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.HashSet
dup
aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 1: aload 0
getfield com.sun.java.util.jar.pack.Package.classes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.sun.java.util.jar.pack.Package java.util.Set top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.java.util.jar.pack.Package$Class
astore 2
start local 2 3: aload 1
aload 2
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 5
4: aload 0
getfield com.sun.java.util.jar.pack.Package.files:Ljava/util/ArrayList;
aload 2
getfield com.sun.java.util.jar.pack.Package$Class.file:Lcom/sun/java/util/jar/pack/Package$File;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/java/util/jar/pack/Package;
1 7 1 fileSet Ljava/util/Set<Lcom/sun/java/util/jar/pack/Package$File;>;
3 5 2 cls Lcom/sun/java/util/jar/pack/Package$Class;
}
SourceFile: "Package.java"
NestMembers:
com.sun.java.util.jar.pack.Package$1 com.sun.java.util.jar.pack.Package$Class com.sun.java.util.jar.pack.Package$Class$Field com.sun.java.util.jar.pack.Package$Class$Member com.sun.java.util.jar.pack.Package$Class$Method com.sun.java.util.jar.pack.Package$File com.sun.java.util.jar.pack.Package$InnerClass com.sun.java.util.jar.pack.Package$Version
InnerClasses:
public Layout = com.sun.java.util.jar.pack.Attribute$Layout of com.sun.java.util.jar.pack.Attribute
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 final Index = com.sun.java.util.jar.pack.ConstantPool$Index of com.sun.java.util.jar.pack.ConstantPool
public IndexGroup = com.sun.java.util.jar.pack.ConstantPool$IndexGroup 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 Utf8Entry = com.sun.java.util.jar.pack.ConstantPool$Utf8Entry of com.sun.java.util.jar.pack.ConstantPool
com.sun.java.util.jar.pack.Package$1
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