class sun.rmi.server.LoaderHandler$Loader extends java.net.URLClassLoader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.rmi.server.LoaderHandler$Loader
super_class: java.net.URLClassLoader
{
private java.lang.ClassLoader parent;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
private java.lang.String annotation;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.security.Permissions permissions;
descriptor: Ljava/security/Permissions;
flags: (0x0002) ACC_PRIVATE
private void <init>(java.net.URL[], java.lang.ClassLoader);
descriptor: ([Ljava/net/URL;Ljava/lang/ClassLoader;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;Ljava/lang/ClassLoader;)V
1: aload 0
aload 2
putfield sun.rmi.server.LoaderHandler$Loader.parent:Ljava/lang/ClassLoader;
2: aload 0
new java.security.Permissions
dup
invokespecial java.security.Permissions.<init>:()V
putfield sun.rmi.server.LoaderHandler$Loader.permissions:Ljava/security/Permissions;
3: aload 1
aload 0
getfield sun.rmi.server.LoaderHandler$Loader.permissions:Ljava/security/Permissions;
iconst_0
invokestatic sun.rmi.server.LoaderHandler.addPermissionsForURLs:([Ljava/net/URL;Ljava/security/PermissionCollection;Z)V
4: aload 0
aload 1
invokestatic sun.rmi.server.LoaderHandler.urlsToPath:([Ljava/net/URL;)Ljava/lang/String;
putfield sun.rmi.server.LoaderHandler$Loader.annotation:Ljava/lang/String;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/server/LoaderHandler$Loader;
0 6 1 urls [Ljava/net/URL;
0 6 2 parent Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
urls
parent
public java.lang.String getClassAnnotation();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.server.LoaderHandler$Loader.annotation:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/LoaderHandler$Loader;
private void checkPermissions();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 6
2: aload 0
getfield sun.rmi.server.LoaderHandler$Loader.permissions:Ljava/security/Permissions;
invokevirtual java.security.Permissions.elements:()Ljava/util/Enumeration;
astore 2
start local 2 3: goto 5
4: StackMap locals: java.lang.SecurityManager java.util.Enumeration
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.Permission
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/rmi/server/LoaderHandler$Loader;
1 7 1 sm Ljava/lang/SecurityManager;
3 6 2 enum_ Ljava/util/Enumeration;
protected java.security.PermissionCollection getPermissions(java.security.CodeSource);
descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, 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 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/server/LoaderHandler$Loader;
0 2 1 codesource Ljava/security/CodeSource;
1 2 2 perms Ljava/security/PermissionCollection;
MethodParameters:
Name Flags
codesource
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokespecial java.lang.Object.toString:()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;
aload 0
getfield sun.rmi.server.LoaderHandler$Loader.annotation:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\"]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/LoaderHandler$Loader;
protected java.lang.Class<?> loadClass(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.rmi.server.LoaderHandler$Loader.parent:Ljava/lang/ClassLoader;
ifnonnull 2
1: aload 1
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokespecial java.net.URLClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/server/LoaderHandler$Loader;
0 3 1 name Ljava/lang/String;
0 3 2 resolve Z
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
resolve
}
SourceFile: "LoaderHandler.java"
NestHost: sun.rmi.server.LoaderHandler
InnerClasses:
private Loader = sun.rmi.server.LoaderHandler$Loader of sun.rmi.server.LoaderHandler