public class java.lang.Package implements java.lang.reflect.AnnotatedElement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.lang.Package
super_class: java.lang.Object
{
private static java.util.Map<java.lang.String, java.lang.Package> pkgs;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Package;>;
private static java.util.Map<java.lang.String, java.net.URL> urls;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/net/URL;>;
private static java.util.Map<java.lang.String, java.util.jar.Manifest> mans;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/jar/Manifest;>;
private final java.lang.String pkgName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String specTitle;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String specVersion;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String specVendor;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String implTitle;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String implVersion;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String implVendor;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.net.URL sealBase;
descriptor: Ljava/net/URL;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final transient java.lang.ClassLoader loader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private transient java.lang.Class packageInfo;
descriptor: Ljava/lang/Class;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashMap
dup
bipush 31
invokespecial java.util.HashMap.<init>:(I)V
1: putstatic java.lang.Package.pkgs:Ljava/util/Map;
2: new java.util.HashMap
dup
bipush 10
invokespecial java.util.HashMap.<init>:(I)V
3: putstatic java.lang.Package.urls:Ljava/util/Map;
4: new java.util.HashMap
dup
bipush 10
invokespecial java.util.HashMap.<init>:(I)V
5: putstatic java.lang.Package.mans:Ljava/util/Map;
6: return
LocalVariableTable:
Start End Slot Name Signature
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 java.lang.Package.pkgName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public java.lang.String getSpecificationTitle();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.specTitle:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public java.lang.String getSpecificationVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.specVersion:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public java.lang.String getSpecificationVendor();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.specVendor:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public java.lang.String getImplementationTitle();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.implTitle:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public java.lang.String getImplementationVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.implVersion:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public java.lang.String getImplementationVendor();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.implVendor:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public boolean isSealed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.sealBase:Ljava/net/URL;
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 Ljava/lang/Package;
public boolean isSealed(java.net.URL);
descriptor: (Ljava/net/URL;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield java.lang.Package.sealBase:Ljava/net/URL;
invokevirtual java.net.URL.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
0 1 1 url Ljava/net/URL;
MethodParameters:
Name Flags
url
public boolean isCompatibleWith(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.Package.specVersion:Ljava/lang/String;
ifnull 1
aload 0
getfield java.lang.Package.specVersion:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 2
1: StackMap locals:
StackMap stack:
new java.lang.NumberFormatException
dup
ldc "Empty version string"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.Package.specVersion:Ljava/lang/String;
ldc "\\."
iconst_m1
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 2
start local 2 3: aload 2
arraylength
newarray 10
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 10
6: StackMap locals: java.lang.String[] int[] int
StackMap stack:
aload 3
iload 4
aload 2
iload 4
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
iastore
7: aload 3
iload 4
iaload
ifge 9
8: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 3
iload 4
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.NumberFormatException.forInputString:(Ljava/lang/String;)Ljava/lang/NumberFormatException;
athrow
9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 2
arraylength
if_icmplt 6
end local 4 11: aload 1
ldc "\\."
iconst_m1
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 4
start local 4 12: aload 4
arraylength
newarray 10
astore 5
start local 5 13: iconst_0
istore 6
start local 6 14: goto 19
15: StackMap locals: java.lang.Package java.lang.String java.lang.String[] int[] java.lang.String[] int[] int
StackMap stack:
aload 5
iload 6
aload 4
iload 6
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
iastore
16: aload 5
iload 6
iaload
ifge 18
17: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 5
iload 6
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.NumberFormatException.forInputString:(Ljava/lang/String;)Ljava/lang/NumberFormatException;
athrow
18: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
19: iload 6
aload 4
arraylength
if_icmplt 15
end local 6 20: aload 5
arraylength
aload 3
arraylength
invokestatic java.lang.Math.max:(II)I
istore 6
start local 6 21: iconst_0
istore 7
start local 7 22: goto 34
23: StackMap locals: int
StackMap stack:
iload 7
aload 5
arraylength
if_icmpge 24
aload 5
iload 7
iaload
goto 25
StackMap locals:
StackMap stack:
24: iconst_0
StackMap locals:
StackMap stack: int
25: istore 8
start local 8 26: iload 7
aload 3
arraylength
if_icmpge 27
aload 3
iload 7
iaload
goto 28
StackMap locals: int
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 9
start local 9 29: iload 9
iload 8
if_icmpge 31
30: iconst_0
ireturn
31: StackMap locals: int
StackMap stack:
iload 9
iload 8
if_icmple 33
32: iconst_1
ireturn
end local 9 end local 8 33: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
34: iload 7
iload 6
if_icmplt 23
end local 7 35: iconst_1
ireturn
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 36 0 this Ljava/lang/Package;
0 36 1 desired Ljava/lang/String;
3 36 2 sa [Ljava/lang/String;
4 36 3 si [I
5 11 4 i I
12 36 4 da [Ljava/lang/String;
13 36 5 di [I
14 20 6 i I
21 36 6 len I
22 35 7 i I
26 33 8 d I
29 33 9 s I
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
desired
public static java.lang.Package getPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Package;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
aload 0
invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
areturn
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0
invokestatic java.lang.Package.getSystemPackage:(Ljava/lang/String;)Ljava/lang/Package;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 l Ljava/lang/ClassLoader;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
name
public static java.lang.Package[] getPackages();
descriptor: ()[Ljava/lang/Package;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
invokevirtual java.lang.ClassLoader.getPackages:()[Ljava/lang/Package;
areturn
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
invokestatic java.lang.Package.getSystemPackages:()[Ljava/lang/Package;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 l Ljava/lang/ClassLoader;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
static java.lang.Package getPackage(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Package;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpeq 8
3: aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
4: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 3
start local 3 5: aload 3
ifnull 7
6: aload 3
aload 1
invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
areturn
7: StackMap locals: java.lang.String int java.lang.ClassLoader
StackMap stack:
aload 1
invokestatic java.lang.Package.getSystemPackage:(Ljava/lang/String;)Ljava/lang/Package;
areturn
end local 3 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 c Ljava/lang/Class;
1 9 1 name Ljava/lang/String;
2 9 2 i I
5 8 3 cl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
c
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.pkgName:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.specTitle:Ljava/lang/String;
astore 1
start local 1 1: aload 0
getfield java.lang.Package.specVersion:Ljava/lang/String;
astore 2
start local 2 2: aload 1
ifnull 4
aload 1
invokevirtual java.lang.String.length:()I
ifle 4
3: new java.lang.StringBuilder
dup
ldc ", "
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;
astore 1
goto 5
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
ldc ""
astore 1
5: StackMap locals:
StackMap stack:
aload 2
ifnull 7
aload 2
invokevirtual java.lang.String.length:()I
ifle 7
6: new java.lang.StringBuilder
dup
ldc ", version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
goto 8
7: StackMap locals:
StackMap stack:
ldc ""
astore 2
8: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.lang.Package.pkgName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/Package;
1 9 1 spec Ljava/lang/String;
2 9 2 ver Ljava/lang/String;
private java.lang.Class<?> getPackageInfo();
descriptor: ()Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Package.packageInfo:Ljava/lang/Class;
ifnonnull 5
1: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield java.lang.Package.pkgName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".package-info"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
aload 0
getfield java.lang.Package.loader:Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
putfield java.lang.Package.packageInfo:Ljava/lang/Class;
2: goto 5
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
3: pop
4: aload 0
ldc Ljava/lang/Package$1PackageInfoProxy;
putfield java.lang.Package.packageInfo:Ljava/lang/Class;
5: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.Package.packageInfo:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/Package;
Exception table:
from to target type
1 2 3 Class java.lang.ClassNotFoundException
Signature: ()Ljava/lang/Class<*>;
public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Package.getPackageInfo:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
0 1 1 annotationClass Ljava/lang/Class<TA;>;
Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
annotationClass
public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Package.getPackageInfo:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
0 1 1 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
MethodParameters:
Name Flags
annotationClass
public java.lang.annotation.Annotation[] getAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Package.getPackageInfo:()Ljava/lang/Class;
invokevirtual java.lang.Class.getAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
public java.lang.annotation.Annotation[] getDeclaredAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Package.getPackageInfo:()Ljava/lang/Class;
invokevirtual java.lang.Class.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Package;
void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/lang/ClassLoader;)V
flags: (0x0000)
Code:
stack=2, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.lang.Package.pkgName:Ljava/lang/String;
2: aload 0
aload 5
putfield java.lang.Package.implTitle:Ljava/lang/String;
3: aload 0
aload 6
putfield java.lang.Package.implVersion:Ljava/lang/String;
4: aload 0
aload 7
putfield java.lang.Package.implVendor:Ljava/lang/String;
5: aload 0
aload 2
putfield java.lang.Package.specTitle:Ljava/lang/String;
6: aload 0
aload 3
putfield java.lang.Package.specVersion:Ljava/lang/String;
7: aload 0
aload 4
putfield java.lang.Package.specVendor:Ljava/lang/String;
8: aload 0
aload 8
putfield java.lang.Package.sealBase:Ljava/net/URL;
9: aload 0
aload 9
putfield java.lang.Package.loader:Ljava/lang/ClassLoader;
10: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/Package;
0 11 1 name Ljava/lang/String;
0 11 2 spectitle Ljava/lang/String;
0 11 3 specversion Ljava/lang/String;
0 11 4 specvendor Ljava/lang/String;
0 11 5 impltitle Ljava/lang/String;
0 11 6 implversion Ljava/lang/String;
0 11 7 implvendor Ljava/lang/String;
0 11 8 sealbase Ljava/net/URL;
0 11 9 loader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
name
spectitle
specversion
specvendor
impltitle
implversion
implvendor
sealbase
loader
private void <init>(java.lang.String, java.util.jar.Manifest, java.net.URL, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;Ljava/lang/ClassLoader;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: aconst_null
astore 8
start local 8 5: aconst_null
astore 9
start local 9 6: aconst_null
astore 10
start local 10 7: aconst_null
astore 11
start local 11 8: aconst_null
astore 12
start local 12 9: aconst_null
astore 13
start local 13 10: aload 2
aload 5
invokevirtual java.util.jar.Manifest.getAttributes:(Ljava/lang/String;)Ljava/util/jar/Attributes;
astore 14
start local 14 11: aload 14
ifnull 19
12: aload 14
getstatic java.util.jar.Attributes$Name.SPECIFICATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 7
13: aload 14
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 8
14: aload 14
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 9
15: aload 14
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 10
16: aload 14
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 11
17: aload 14
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 12
18: aload 14
getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 6
19: StackMap locals: java.lang.Package java.lang.String java.util.jar.Manifest java.net.URL java.lang.ClassLoader java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.net.URL java.util.jar.Attributes
StackMap stack:
aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 14
20: aload 14
ifnull 35
21: aload 7
ifnonnull 23
22: aload 14
getstatic java.util.jar.Attributes$Name.SPECIFICATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 7
23: StackMap locals:
StackMap stack:
aload 8
ifnonnull 25
24: aload 14
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 8
25: StackMap locals:
StackMap stack:
aload 9
ifnonnull 27
26: aload 14
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 9
27: StackMap locals:
StackMap stack:
aload 10
ifnonnull 29
28: aload 14
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 10
29: StackMap locals:
StackMap stack:
aload 11
ifnonnull 31
30: aload 14
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 11
31: StackMap locals:
StackMap stack:
aload 12
ifnonnull 33
32: aload 14
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 12
33: StackMap locals:
StackMap stack:
aload 6
ifnonnull 35
34: aload 14
getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 6
35: StackMap locals:
StackMap stack:
ldc "true"
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 37
36: aload 3
astore 13
37: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.lang.Package.pkgName:Ljava/lang/String;
38: aload 0
aload 7
putfield java.lang.Package.specTitle:Ljava/lang/String;
39: aload 0
aload 8
putfield java.lang.Package.specVersion:Ljava/lang/String;
40: aload 0
aload 9
putfield java.lang.Package.specVendor:Ljava/lang/String;
41: aload 0
aload 10
putfield java.lang.Package.implTitle:Ljava/lang/String;
42: aload 0
aload 11
putfield java.lang.Package.implVersion:Ljava/lang/String;
43: aload 0
aload 12
putfield java.lang.Package.implVendor:Ljava/lang/String;
44: aload 0
aload 13
putfield java.lang.Package.sealBase:Ljava/net/URL;
45: aload 0
aload 4
putfield java.lang.Package.loader:Ljava/lang/ClassLoader;
46: return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Ljava/lang/Package;
0 47 1 name Ljava/lang/String;
0 47 2 man Ljava/util/jar/Manifest;
0 47 3 url Ljava/net/URL;
0 47 4 loader Ljava/lang/ClassLoader;
2 47 5 path Ljava/lang/String;
3 47 6 sealed Ljava/lang/String;
4 47 7 specTitle Ljava/lang/String;
5 47 8 specVersion Ljava/lang/String;
6 47 9 specVendor Ljava/lang/String;
7 47 10 implTitle Ljava/lang/String;
8 47 11 implVersion Ljava/lang/String;
9 47 12 implVendor Ljava/lang/String;
10 47 13 sealBase Ljava/net/URL;
11 47 14 attr Ljava/util/jar/Attributes;
MethodParameters:
Name Flags
name
man
url
loader
static java.lang.Package getSystemPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Package;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic java.lang.Package.pkgs:Ljava/util/Map;
dup
astore 1
monitorenter
1: getstatic java.lang.Package.pkgs:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Package
astore 2
start local 2 2: aload 2
ifnonnull 7
3: aload 0
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
astore 0
4: aload 0
invokestatic java.lang.Package.getSystemPackage0:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 5: aload 3
ifnull 7
6: aload 0
aload 3
invokestatic java.lang.Package.defineSystemPackage:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Package;
astore 2
end local 3 7: StackMap locals: java.util.Map java.lang.Package
StackMap stack:
aload 2
aload 1
monitorexit
8: areturn
end local 2 9: StackMap locals: java.lang.String java.util.Map
StackMap stack: java.lang.Throwable
aload 1
monitorexit
10: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 name Ljava/lang/String;
2 9 2 pkg Ljava/lang/Package;
5 7 3 fn Ljava/lang/String;
Exception table:
from to target type
1 8 9 any
9 10 9 any
MethodParameters:
Name Flags
name
static java.lang.Package[] getSystemPackages();
descriptor: ()[Ljava/lang/Package;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: invokestatic java.lang.Package.getSystemPackages0:()[Ljava/lang/String;
astore 0
start local 0 1: getstatic java.lang.Package.pkgs:Ljava/util/Map;
dup
astore 1
monitorenter
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: java.lang.String[] java.util.Map int
StackMap stack:
aload 0
iload 2
aaload
aload 0
iload 2
aaload
invokestatic java.lang.Package.getSystemPackage0:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Package.defineSystemPackage:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Package;
pop
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
arraylength
if_icmplt 4
end local 2 7: getstatic java.lang.Package.pkgs:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
getstatic java.lang.Package.pkgs:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
anewarray java.lang.Package
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Package[]
aload 1
monitorexit
8: areturn
9: StackMap locals: java.lang.String[] java.util.Map
StackMap stack: java.lang.Throwable
aload 1
monitorexit
10: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 names [Ljava/lang/String;
3 7 2 i I
Exception table:
from to target type
2 8 9 any
9 10 9 any
private static java.lang.Package defineSystemPackage(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Package;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.Package$1
dup
aload 0
aload 1
invokespecial java.lang.Package$1.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Package
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 iname Ljava/lang/String;
0 1 1 fn Ljava/lang/String;
MethodParameters:
Name Flags
iname final
fn final
private static java.util.jar.Manifest loadManifest(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/jar/Manifest;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: new java.util.jar.JarInputStream
dup
aload 1
iconst_0
invokespecial java.util.jar.JarInputStream.<init>:(Ljava/io/InputStream;Z)V
astore 2
start local 2 2: aload 2
invokevirtual java.util.jar.JarInputStream.getManifest:()Ljava/util/jar/Manifest;
astore 3
start local 3 3: aload 2
invokevirtual java.util.jar.JarInputStream.close:()V
4: aload 3
5: areturn
end local 3 end local 2 end local 1 6: StackMap locals:
StackMap stack: java.io.IOException
pop
7: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 fn Ljava/lang/String;
1 6 1 fis Ljava/io/FileInputStream;
2 6 2 jis Ljava/util/jar/JarInputStream;
3 6 3 man Ljava/util/jar/Manifest;
Exception table:
from to target type
0 5 6 Class java.io.IOException
MethodParameters:
Name Flags
fn
private static native java.lang.String getSystemPackage0(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
name
private static native java.lang.String[] getSystemPackages0();
descriptor: ()[Ljava/lang/String;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "Package.java"
NestMembers:
java.lang.Package$1 java.lang.Package$1PackageInfoProxy
InnerClasses:
java.lang.Package$1
PackageInfoProxy = java.lang.Package$1PackageInfoProxy
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes