public class sun.applet.AppletClassLoader extends java.net.URLClassLoader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.applet.AppletClassLoader
super_class: java.net.URLClassLoader
{
private java.net.URL base;
descriptor: Ljava/net/URL;
flags: (0x0002) ACC_PRIVATE
private java.security.CodeSource codesource;
descriptor: Ljava/security/CodeSource;
flags: (0x0002) ACC_PRIVATE
private java.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0002) ACC_PRIVATE
private boolean exceptionStatus;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object threadGroupSynchronizer;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object grabReleaseSynchronizer;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean codebaseLookup;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private volatile boolean allowRecursiveDirectoryRead;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.lang.Object syncResourceAsStream;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object syncResourceAsStreamFromJar;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private boolean resourceAsStreamInCall;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean resourceAsStreamFromJarInCall;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.applet.AppletThreadGroup threadGroup;
descriptor: Lsun/applet/AppletThreadGroup;
flags: (0x0002) ACC_PRIVATE
private sun.awt.AppContext appContext;
descriptor: Lsun/awt/AppContext;
flags: (0x0002) ACC_PRIVATE
int usageCount;
descriptor: I
flags: (0x0000)
private java.util.HashMap<java.lang.String, java.lang.Boolean> jdk11AppletInfo;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Boolean;>;
private java.util.HashMap<java.lang.String, java.lang.Boolean> jdk12AppletInfo;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Boolean;>;
private static sun.applet.AppletMessageHandler mh;
descriptor: Lsun/applet/AppletMessageHandler;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.applet.AppletMessageHandler
dup
ldc "appletclassloader"
invokespecial sun.applet.AppletMessageHandler.<init>:(Ljava/lang/String;)V
1: putstatic sun.applet.AppletClassLoader.mh:Lsun/applet/AppletMessageHandler;
2: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
anewarray java.net.URL
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
1: aload 0
iconst_0
putfield sun.applet.AppletClassLoader.exceptionStatus:Z
2: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.applet.AppletClassLoader.threadGroupSynchronizer:Ljava/lang/Object;
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.applet.AppletClassLoader.grabReleaseSynchronizer:Ljava/lang/Object;
4: aload 0
iconst_1
putfield sun.applet.AppletClassLoader.codebaseLookup:Z
5: aload 0
iconst_1
putfield sun.applet.AppletClassLoader.allowRecursiveDirectoryRead:Z
6: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.applet.AppletClassLoader.syncResourceAsStream:Ljava/lang/Object;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.applet.AppletClassLoader.syncResourceAsStreamFromJar:Ljava/lang/Object;
8: aload 0
iconst_0
putfield sun.applet.AppletClassLoader.resourceAsStreamInCall:Z
9: aload 0
iconst_0
putfield sun.applet.AppletClassLoader.resourceAsStreamFromJarInCall:Z
10: aload 0
iconst_0
putfield sun.applet.AppletClassLoader.usageCount:I
11: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.applet.AppletClassLoader.jdk11AppletInfo:Ljava/util/HashMap;
12: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.applet.AppletClassLoader.jdk12AppletInfo:Ljava/util/HashMap;
13: aload 0
aload 1
putfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
14: aload 0
15: new java.security.CodeSource
dup
aload 1
aconst_null
invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
16: putfield sun.applet.AppletClassLoader.codesource:Ljava/security/CodeSource;
17: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield sun.applet.AppletClassLoader.acc:Ljava/security/AccessControlContext;
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/applet/AppletClassLoader;
0 19 1 base Ljava/net/URL;
MethodParameters:
Name Flags
base
public void disableRecursiveDirectoryRead();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.applet.AppletClassLoader.allowRecursiveDirectoryRead:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/applet/AppletClassLoader;
void setCodebaseLookup(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.applet.AppletClassLoader.codebaseLookup:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/applet/AppletClassLoader;
0 2 1 codebaseLookup Z
MethodParameters:
Name Flags
codebaseLookup
java.net.URL getBaseURL();
descriptor: ()Ljava/net/URL;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/applet/AppletClassLoader;
public java.net.URL[] getURLs();
descriptor: ()[Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokespecial java.net.URLClassLoader.getURLs:()[Ljava/net/URL;
astore 1
start local 1 1: aload 1
arraylength
iconst_1
iadd
anewarray java.net.URL
astore 2
start local 2 2: aload 1
iconst_0
aload 2
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 2
aload 2
arraylength
iconst_1
isub
aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
aastore
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/applet/AppletClassLoader;
1 5 1 jars [Ljava/net/URL;
2 5 2 urls [Ljava/net/URL;
protected void addJar(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.net.URL
dup
aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
aload 1
invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
astore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: java.net.MalformedURLException
2: pop
3: new java.lang.IllegalArgumentException
dup
ldc "name"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 2 4: StackMap locals: java.net.URL
StackMap stack:
aload 0
aload 2
invokevirtual sun.applet.AppletClassLoader.addURL:(Ljava/net/URL;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/applet/AppletClassLoader;
0 6 1 name Ljava/lang/String;
1 2 2 url Ljava/net/URL;
4 6 2 url Ljava/net/URL;
Exception table:
from to target type
0 1 2 Class java.net.MalformedURLException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
public synchronized java.lang.Class<?> loadClass(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 3
start local 3 1: iload 3
iconst_m1
if_icmpeq 5
2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
aload 1
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkPackageAccess:(Ljava/lang/String;)V
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
invokespecial java.net.URLClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
6: areturn
7: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 4
start local 4 8: aload 4
athrow
end local 4 9: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 10: aload 4
athrow
end local 4 11: StackMap locals:
StackMap stack: java.lang.Error
astore 4
start local 4 12: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/applet/AppletClassLoader;
0 13 1 name Ljava/lang/String;
0 13 2 resolve Z
1 13 3 i I
3 5 4 sm Ljava/lang/SecurityManager;
8 9 4 e Ljava/lang/ClassNotFoundException;
10 11 4 e Ljava/lang/RuntimeException;
12 13 4 e Ljava/lang/Error;
Exception table:
from to target type
5 6 7 Class java.lang.ClassNotFoundException
5 6 9 Class java.lang.RuntimeException
5 6 11 Class java.lang.Error
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
resolve
protected java.lang.Class<?> findClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 1: ldc ""
astore 3
start local 3 2: iload 2
iconst_m1
if_icmpeq 5
3: aload 1
iload 2
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
4: aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
5: StackMap locals: int java.lang.String
StackMap stack:
aload 0
aload 1
invokespecial java.net.URLClassLoader.findClass:(Ljava/lang/String;)Ljava/lang/Class;
6: areturn
7: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
8: aload 0
getfield sun.applet.AppletClassLoader.codebaseLookup:Z
ifne 10
9: new java.lang.ClassNotFoundException
dup
aload 1
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 1
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
iconst_0
invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;Z)Ljava/lang/String;
astore 4
start local 4 11: new java.lang.StringBuffer
dup
aload 4
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
ldc ".class"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 3
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
astore 5
start local 5 12: new sun.applet.AppletClassLoader$1
dup
aload 0
aload 5
invokespecial sun.applet.AppletClassLoader$1.<init>:(Lsun/applet/AppletClassLoader;Ljava/lang/String;)V
13: aload 0
getfield sun.applet.AppletClassLoader.acc:Ljava/security/AccessControlContext;
14: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
checkcast byte[]
astore 6
start local 6 15: aload 6
ifnull 18
16: aload 0
aload 1
aload 6
iconst_0
aload 6
arraylength
aload 0
getfield sun.applet.AppletClassLoader.codesource:Ljava/security/CodeSource;
invokevirtual sun.applet.AppletClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;
17: areturn
18: StackMap locals: java.lang.String java.lang.String byte[]
StackMap stack:
new java.lang.ClassNotFoundException
dup
aload 1
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 6 19: StackMap locals: sun.applet.AppletClassLoader java.lang.String int java.lang.String java.lang.String java.lang.String
StackMap stack: java.security.PrivilegedActionException
astore 6
start local 6 20: new java.lang.ClassNotFoundException
dup
aload 1
aload 6
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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 21 0 this Lsun/applet/AppletClassLoader;
0 21 1 name Ljava/lang/String;
1 21 2 index I
2 21 3 cookie Ljava/lang/String;
11 21 4 encodedName Ljava/lang/String;
12 21 5 path Ljava/lang/String;
15 19 6 b [B
20 21 6 e Ljava/security/PrivilegedActionException;
Exception table:
from to target type
5 6 7 Class java.lang.ClassNotFoundException
12 17 19 Class java.security.PrivilegedActionException
18 19 19 Class java.security.PrivilegedActionException
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
protected java.security.PermissionCollection getPermissions(java.security.CodeSource);
descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.net.URLClassLoader.getPermissions:(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
astore 2
start local 2 1: aload 1
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 3
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
invokevirtual java.net.URLConnection.getPermission:()Ljava/security/Permission;
astore 5
start local 5 4: goto 7
end local 5 StackMap locals: sun.applet.AppletClassLoader java.security.CodeSource java.security.PermissionCollection java.net.URL java.lang.String
StackMap stack: java.io.IOException
5: pop
6: aconst_null
astore 5
start local 5 7: StackMap locals: java.security.Permission
StackMap stack:
aload 5
instanceof java.io.FilePermission
ifeq 10
8: aload 5
invokevirtual java.security.Permission.getName:()Ljava/lang/String;
astore 4
9: goto 13
StackMap locals:
StackMap stack:
10: aload 5
ifnonnull 13
aload 3
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 3
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
bipush 47
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 4
12: aload 4
invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
astore 4
13: StackMap locals:
StackMap stack:
aload 4
ifnull 45
14: aload 4
astore 6
start local 6 15: aload 4
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 22
16: aload 4
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 7
start local 7 17: iload 7
iconst_m1
if_icmpeq 22
18: new java.lang.StringBuilder
dup
aload 4
iconst_0
iload 7
iconst_1
iadd
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 "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
19: aload 2
new java.io.FilePermission
dup
aload 4
20: ldc "read"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
21: invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
end local 7 22: StackMap locals: java.lang.String
StackMap stack:
new java.io.File
dup
aload 6
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 7
start local 7 23: aload 7
invokevirtual java.io.File.isDirectory:()Z
istore 8
start local 8 24: aload 0
getfield sun.applet.AppletClassLoader.allowRecursiveDirectoryRead:Z
ifeq 45
iload 8
ifne 27
25: aload 6
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 27
26: aload 6
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc ".zip"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 45
27: StackMap locals: java.io.File int
StackMap stack:
aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
invokevirtual java.net.URLConnection.getPermission:()Ljava/security/Permission;
astore 9
start local 9 28: goto 31
end local 9 StackMap locals:
StackMap stack: java.io.IOException
29: pop
30: aconst_null
astore 9
start local 9 31: StackMap locals: java.security.Permission
StackMap stack:
aload 9
instanceof java.io.FilePermission
ifeq 39
32: aload 9
invokevirtual java.security.Permission.getName:()Ljava/lang/String;
astore 10
start local 10 33: aload 10
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 35
34: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
35: StackMap locals: java.lang.String
StackMap stack:
aload 2
new java.io.FilePermission
dup
aload 10
36: ldc "read"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
37: invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
end local 10 38: goto 45
StackMap locals:
StackMap stack:
39: aload 9
ifnonnull 45
aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 45
40: aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
bipush 47
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 10
start local 10 41: aload 10
invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
astore 10
42: aload 10
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 44
43: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
44: StackMap locals: java.lang.String
StackMap stack:
aload 2
new java.io.FilePermission
dup
aload 10
ldc "read"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
end local 10 end local 9 end local 8 end local 7 end local 6 45: StackMap locals: sun.applet.AppletClassLoader java.security.CodeSource java.security.PermissionCollection java.net.URL java.lang.String java.security.Permission
StackMap stack:
aload 2
areturn
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 46 0 this Lsun/applet/AppletClassLoader;
0 46 1 codesource Ljava/security/CodeSource;
1 46 2 perms Ljava/security/PermissionCollection;
2 46 3 url Ljava/net/URL;
3 46 4 path Ljava/lang/String;
4 5 5 p Ljava/security/Permission;
7 46 5 p Ljava/security/Permission;
15 45 6 rawPath Ljava/lang/String;
17 22 7 endIndex I
23 45 7 f Ljava/io/File;
24 45 8 isDirectory Z
28 29 9 bperm Ljava/security/Permission;
31 45 9 bperm Ljava/security/Permission;
33 38 10 bpath Ljava/lang/String;
41 45 10 bpath Ljava/lang/String;
Exception table:
from to target type
3 4 5 Class java.io.IOException
27 28 29 Class java.io.IOException
MethodParameters:
Name Flags
codesource
private static byte[] getBytes(java.net.URL);
descriptor: (Ljava/net/URL;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
astore 1
start local 1 1: aload 1
instanceof java.net.HttpURLConnection
ifeq 6
2: aload 1
checkcast java.net.HttpURLConnection
astore 2
start local 2 3: aload 2
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
istore 3
start local 3 4: iload 3
sipush 400
if_icmplt 6
5: new java.io.IOException
dup
ldc "open HTTP connection failed."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 6: StackMap locals: java.net.URLConnection
StackMap stack:
aload 1
invokevirtual java.net.URLConnection.getContentLength:()I
istore 2
start local 2 7: new java.io.BufferedInputStream
dup
aload 1
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 3
start local 3 8: aload 3
invokevirtual java.io.InputStream.readAllBytes:()[B
astore 4
start local 4 9: iload 2
iconst_m1
if_icmpeq 14
aload 4
arraylength
iload 2
if_icmpeq 14
10: new java.io.EOFException
dup
new java.lang.StringBuilder
dup
ldc "Expected:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", read:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
end local 4 11: StackMap locals: java.net.URL java.net.URLConnection int java.io.InputStream
StackMap stack: java.lang.Throwable
astore 5
12: aload 3
invokevirtual java.io.InputStream.close:()V
13: aload 5
athrow
start local 4 14: StackMap locals: byte[]
StackMap stack:
aload 3
invokevirtual java.io.InputStream.close:()V
15: 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 16 0 url Ljava/net/URL;
1 16 1 uc Ljava/net/URLConnection;
3 6 2 huc Ljava/net/HttpURLConnection;
4 6 3 code I
7 16 2 len I
8 16 3 in Ljava/io/InputStream;
9 11 4 b [B
14 16 4 b [B
Exception table:
from to target type
8 11 11 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
url
public java.io.InputStream getResourceAsStream(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "name"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: aload 0
getfield sun.applet.AppletClassLoader.syncResourceAsStream:Ljava/lang/Object;
dup
astore 3
monitorenter
4: aload 0
iconst_1
putfield sun.applet.AppletClassLoader.resourceAsStreamInCall:Z
5: aload 0
aload 1
invokespecial java.net.URLClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 2
6: aload 0
iconst_0
putfield sun.applet.AppletClassLoader.resourceAsStreamInCall:Z
7: aload 3
monitorexit
8: goto 11
StackMap locals: sun.applet.AppletClassLoader java.lang.String java.io.InputStream java.lang.Object
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.applet.AppletClassLoader.codebaseLookup:Z
ifeq 14
aload 2
ifnonnull 14
12: new java.net.URL
dup
aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
aload 1
iconst_0
invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;Z)Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
astore 3
start local 3 13: aload 3
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 2
end local 3 14: StackMap locals:
StackMap stack:
aload 2
15: areturn
end local 2 16: StackMap locals: sun.applet.AppletClassLoader java.lang.String
StackMap stack: java.lang.Exception
pop
17: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/applet/AppletClassLoader;
0 18 1 name Ljava/lang/String;
3 16 2 is Ljava/io/InputStream;
13 14 3 url Ljava/net/URL;
Exception table:
from to target type
4 8 9 any
9 10 9 any
2 15 16 Class java.lang.Exception
MethodParameters:
Name Flags
name
public java.io.InputStream getResourceAsStreamFromJar(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "name"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: aload 0
getfield sun.applet.AppletClassLoader.syncResourceAsStreamFromJar:Ljava/lang/Object;
dup
astore 3
monitorenter
4: aload 0
iconst_1
putfield sun.applet.AppletClassLoader.resourceAsStreamFromJarInCall:Z
5: aload 0
aload 1
invokespecial java.net.URLClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 2
6: aload 0
iconst_0
putfield sun.applet.AppletClassLoader.resourceAsStreamFromJarInCall:Z
7: aload 3
monitorexit
8: goto 11
StackMap locals: sun.applet.AppletClassLoader java.lang.String java.io.InputStream java.lang.Object
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 2
12: areturn
end local 2 13: StackMap locals: sun.applet.AppletClassLoader java.lang.String
StackMap stack: java.lang.Exception
pop
14: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/applet/AppletClassLoader;
0 15 1 name Ljava/lang/String;
3 13 2 is Ljava/io/InputStream;
Exception table:
from to target type
4 8 9 any
9 10 9 any
2 12 13 Class java.lang.Exception
MethodParameters:
Name Flags
name
public java.net.URL findResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.net.URLClassLoader.findResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 1: aload 1
ldc "META-INF/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: aload 2
areturn
3: StackMap locals: java.net.URL
StackMap stack:
aload 0
getfield sun.applet.AppletClassLoader.codebaseLookup:Z
ifne 5
4: aload 2
areturn
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 29
6: iconst_0
istore 3
start local 3 7: aload 0
getfield sun.applet.AppletClassLoader.syncResourceAsStreamFromJar:Ljava/lang/Object;
dup
astore 4
monitorenter
8: aload 0
getfield sun.applet.AppletClassLoader.resourceAsStreamFromJarInCall:Z
istore 3
9: aload 4
monitorexit
10: goto 13
StackMap locals: sun.applet.AppletClassLoader java.lang.String java.net.URL int java.lang.Object
StackMap stack: java.lang.Throwable
11: aload 4
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
iload 3
ifeq 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 16: aload 0
getfield sun.applet.AppletClassLoader.syncResourceAsStream:Ljava/lang/Object;
dup
astore 5
monitorenter
17: aload 0
getfield sun.applet.AppletClassLoader.resourceAsStreamInCall:Z
istore 4
18: aload 5
monitorexit
19: goto 22
StackMap locals: sun.applet.AppletClassLoader java.lang.String java.net.URL int int java.lang.Object
StackMap stack: java.lang.Throwable
20: aload 5
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
iload 4
ifne 29
23: new java.net.URL
dup
aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
aload 1
iconst_0
invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;Z)Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
astore 2
24: aload 0
aload 2
invokevirtual sun.applet.AppletClassLoader.resourceExists:(Ljava/net/URL;)Z
ifne 29
25: aconst_null
astore 2
26: goto 29
StackMap locals:
StackMap stack: java.lang.Exception
27: pop
28: aconst_null
astore 2
end local 4 end local 3 29: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/applet/AppletClassLoader;
0 30 1 name Ljava/lang/String;
1 30 2 url Ljava/net/URL;
7 29 3 insideGetResourceAsStreamFromJar Z
16 29 4 insideGetResourceAsStream Z
Exception table:
from to target type
8 10 11 any
11 12 11 any
17 19 20 any
20 21 20 any
23 26 27 Class java.lang.Exception
MethodParameters:
Name Flags
name
private boolean resourceExists(java.net.URL);
descriptor: (Ljava/net/URL;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: aload 1
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
astore 3
start local 3 2: aload 3
instanceof java.net.HttpURLConnection
ifeq 11
3: aload 3
checkcast java.net.HttpURLConnection
4: astore 4
start local 4 5: aload 4
ldc "HEAD"
invokevirtual java.net.HttpURLConnection.setRequestMethod:(Ljava/lang/String;)V
6: aload 4
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
istore 5
start local 5 7: iload 5
sipush 200
if_icmpne 9
8: iconst_1
ireturn
9: StackMap locals: sun.applet.AppletClassLoader java.net.URL int java.net.URLConnection java.net.HttpURLConnection int
StackMap stack:
iload 5
sipush 400
if_icmplt 16
10: iconst_0
ireturn
end local 5 end local 4 11: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 4
start local 4 12: aload 4
invokevirtual java.io.InputStream.close:()V
end local 4 end local 3 13: goto 16
StackMap locals: sun.applet.AppletClassLoader java.net.URL int
StackMap stack: java.lang.Exception
14: pop
15: iconst_0
istore 2
16: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/applet/AppletClassLoader;
0 17 1 url Ljava/net/URL;
1 17 2 ok Z
2 13 3 conn Ljava/net/URLConnection;
5 11 4 hconn Ljava/net/HttpURLConnection;
7 11 5 code I
12 13 4 is Ljava/io/InputStream;
Exception table:
from to target type
1 8 14 Class java.lang.Exception
9 10 14 Class java.lang.Exception
11 13 14 Class java.lang.Exception
MethodParameters:
Name Flags
url
public java.util.Enumeration<java.net.URL> findResources(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.net.URLClassLoader.findResources:(Ljava/lang/String;)Ljava/util/Enumeration;
astore 2
start local 2 1: aload 1
ldc "META-INF/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: aload 2
areturn
3: StackMap locals: java.util.Enumeration
StackMap stack:
aload 0
getfield sun.applet.AppletClassLoader.codebaseLookup:Z
ifne 5
4: aload 2
areturn
5: StackMap locals:
StackMap stack:
new java.net.URL
dup
aload 0
getfield sun.applet.AppletClassLoader.base:Ljava/net/URL;
aload 1
iconst_0
invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;Z)Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
astore 3
start local 3 6: aload 0
aload 3
invokevirtual sun.applet.AppletClassLoader.resourceExists:(Ljava/net/URL;)Z
ifne 8
7: aconst_null
astore 3
8: StackMap locals: java.net.URL
StackMap stack:
aload 3
astore 4
start local 4 9: new sun.applet.AppletClassLoader$2
dup
aload 0
aload 2
aload 4
invokespecial sun.applet.AppletClassLoader$2.<init>:(Lsun/applet/AppletClassLoader;Ljava/util/Enumeration;Ljava/net/URL;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/applet/AppletClassLoader;
0 10 1 name Ljava/lang/String;
1 10 2 e Ljava/util/Enumeration<Ljava/net/URL;>;
6 10 3 u Ljava/net/URL;
9 10 4 url Ljava/net/URL;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name
java.lang.Class<?> loadCode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 1
1: aload 1
getstatic java.io.File.separatorChar:C
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 1
2: aconst_null
astore 2
start local 2 3: aload 1
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
istore 3
start local 3 4: iload 3
iconst_m1
if_icmpeq 7
5: aload 1
iload 3
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
6: aload 1
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
7: StackMap locals: java.lang.String int
StackMap stack:
aload 1
astore 4
start local 4 8: aload 1
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 9
aload 1
ldc ".java"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 10
9: StackMap locals: java.lang.String
StackMap stack:
aload 1
iconst_0
aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
10: StackMap locals:
StackMap stack:
aload 2
ifnull 12
11: new java.lang.StringBuffer
dup
aload 1
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
astore 1
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.applet.AppletClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
13: areturn
14: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
15: aload 2
ifnull 17
16: new java.lang.StringBuffer
dup
aload 4
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
astore 4
17: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual sun.applet.AppletClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/applet/AppletClassLoader;
0 18 1 name Ljava/lang/String;
3 18 2 cookie Ljava/lang/String;
4 18 3 index I
8 18 4 fullName Ljava/lang/String;
Exception table:
from to target type
10 13 14 Class java.lang.ClassNotFoundException
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
public java.lang.ThreadGroup getThreadGroup();
descriptor: ()Ljava/lang/ThreadGroup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.applet.AppletClassLoader.threadGroupSynchronizer:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.applet.AppletClassLoader.threadGroup:Lsun/applet/AppletThreadGroup;
ifnull 2
aload 0
getfield sun.applet.AppletClassLoader.threadGroup:Lsun/applet/AppletThreadGroup;
invokevirtual sun.applet.AppletThreadGroup.isDestroyed:()Z
ifeq 3
2: StackMap locals: java.lang.Object
StackMap stack:
new sun.applet.AppletClassLoader$3
dup
aload 0
invokespecial sun.applet.AppletClassLoader$3.<init>:(Lsun/applet/AppletClassLoader;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.applet.AppletClassLoader.threadGroup:Lsun/applet/AppletThreadGroup;
aload 1
monitorexit
4: areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
6: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/applet/AppletClassLoader;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public sun.awt.AppContext getAppContext();
descriptor: ()Lsun/awt/AppContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.applet.AppletClassLoader.appContext:Lsun/awt/AppContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/applet/AppletClassLoader;
public void grab();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.applet.AppletClassLoader.grabReleaseSynchronizer:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
dup
getfield sun.applet.AppletClassLoader.usageCount:I
iconst_1
iadd
putfield sun.applet.AppletClassLoader.usageCount:I
2: aload 1
monitorexit
3: goto 6
StackMap locals: sun.applet.AppletClassLoader java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.applet.AppletClassLoader.getThreadGroup:()Ljava/lang/ThreadGroup;
pop
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/applet/AppletClassLoader;
Exception table:
from to target type
1 3 4 any
4 5 4 any
protected void setExceptionStatus();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield sun.applet.AppletClassLoader.exceptionStatus:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/applet/AppletClassLoader;
public boolean getExceptionStatus();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.applet.AppletClassLoader.exceptionStatus:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/applet/AppletClassLoader;
protected void release();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield sun.applet.AppletClassLoader.grabReleaseSynchronizer:Ljava/lang/Object;
dup
astore 2
monitorenter
2: aload 0
getfield sun.applet.AppletClassLoader.usageCount:I
iconst_1
if_icmple 5
3: aload 0
dup
getfield sun.applet.AppletClassLoader.usageCount:I
iconst_1
isub
putfield sun.applet.AppletClassLoader.usageCount:I
4: goto 11
5: StackMap locals: sun.awt.AppContext java.lang.Object
StackMap stack:
aload 0
getfield sun.applet.AppletClassLoader.threadGroupSynchronizer:Ljava/lang/Object;
dup
astore 3
monitorenter
6: aload 0
invokevirtual sun.applet.AppletClassLoader.resetAppContext:()Lsun/awt/AppContext;
astore 1
7: aload 3
monitorexit
8: goto 11
StackMap locals: sun.applet.AppletClassLoader sun.awt.AppContext java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 2
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 2
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 1
ifnull 19
16: aload 1
invokevirtual sun.awt.AppContext.dispose:()V
17: goto 19
StackMap locals:
StackMap stack: java.lang.IllegalThreadStateException
18: pop
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/applet/AppletClassLoader;
1 20 1 tempAppContext Lsun/awt/AppContext;
Exception table:
from to target type
6 8 9 any
9 10 9 any
2 12 13 any
13 14 13 any
16 17 18 Class java.lang.IllegalThreadStateException
protected sun.awt.AppContext resetAppContext();
descriptor: ()Lsun/awt/AppContext;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield sun.applet.AppletClassLoader.threadGroupSynchronizer:Ljava/lang/Object;
dup
astore 2
monitorenter
2: aload 0
getfield sun.applet.AppletClassLoader.appContext:Lsun/awt/AppContext;
astore 1
3: aload 0
iconst_0
putfield sun.applet.AppletClassLoader.usageCount:I
4: aload 0
aconst_null
putfield sun.applet.AppletClassLoader.appContext:Lsun/awt/AppContext;
5: aload 0
aconst_null
putfield sun.applet.AppletClassLoader.threadGroup:Lsun/applet/AppletThreadGroup;
6: aload 2
monitorexit
7: goto 10
StackMap locals: sun.applet.AppletClassLoader sun.awt.AppContext java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/applet/AppletClassLoader;
1 11 1 tempAppContext Lsun/awt/AppContext;
Exception table:
from to target type
2 7 8 any
8 9 8 any
void setJDK11Target(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.applet.AppletClassLoader.jdk11AppletInfo:Ljava/util/HashMap;
aload 1
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/applet/AppletClassLoader;
0 2 1 clazz Ljava/lang/Class<*>;
0 2 2 bool Z
Signature: (Ljava/lang/Class<*>;Z)V
MethodParameters:
Name Flags
clazz
bool
void setJDK12Target(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.applet.AppletClassLoader.jdk12AppletInfo:Ljava/util/HashMap;
aload 1
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/applet/AppletClassLoader;
0 2 1 clazz Ljava/lang/Class<*>;
0 2 2 bool Z
Signature: (Ljava/lang/Class<*>;Z)V
MethodParameters:
Name Flags
clazz
bool
java.lang.Boolean isJDK11Target(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Boolean;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.applet.AppletClassLoader.jdk11AppletInfo:Ljava/util/HashMap;
aload 1
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/applet/AppletClassLoader;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Boolean;
MethodParameters:
Name Flags
clazz
java.lang.Boolean isJDK12Target(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Boolean;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.applet.AppletClassLoader.jdk12AppletInfo:Ljava/util/HashMap;
aload 1
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/applet/AppletClassLoader;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Boolean;
MethodParameters:
Name Flags
clazz
private static void printError(java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
ifnonnull 4
2: getstatic sun.applet.AppletClassLoader.mh:Lsun/applet/AppletMessageHandler;
ldc "filenotfound"
aload 0
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
astore 2
3: goto 15
StackMap locals: java.lang.String
StackMap stack:
4: aload 1
instanceof java.io.IOException
ifeq 7
5: getstatic sun.applet.AppletClassLoader.mh:Lsun/applet/AppletMessageHandler;
ldc "fileioexception"
aload 0
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
astore 2
6: goto 15
StackMap locals:
StackMap stack:
7: aload 1
instanceof java.lang.ClassFormatError
ifeq 10
8: getstatic sun.applet.AppletClassLoader.mh:Lsun/applet/AppletMessageHandler;
ldc "fileformat"
aload 0
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
astore 2
9: goto 15
StackMap locals:
StackMap stack:
10: aload 1
instanceof java.lang.ThreadDeath
ifeq 13
11: getstatic sun.applet.AppletClassLoader.mh:Lsun/applet/AppletMessageHandler;
ldc "filedeath"
aload 0
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
astore 2
12: goto 15
StackMap locals:
StackMap stack:
13: aload 1
instanceof java.lang.Error
ifeq 15
14: getstatic sun.applet.AppletClassLoader.mh:Lsun/applet/AppletMessageHandler;
ldc "fileerror"
aload 1
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
aload 0
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
astore 2
15: StackMap locals:
StackMap stack:
aload 2
ifnull 17
16: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 name Ljava/lang/String;
0 18 1 e Ljava/lang/Throwable;
1 18 2 s Ljava/lang/String;
MethodParameters:
Name Flags
name
e
}
SourceFile: "AppletClassLoader.java"
NestMembers:
sun.applet.AppletClassLoader$1 sun.applet.AppletClassLoader$2 sun.applet.AppletClassLoader$3
InnerClasses:
sun.applet.AppletClassLoader$1
sun.applet.AppletClassLoader$2
sun.applet.AppletClassLoader$3