public final class com.sun.jndi.ldap.VersionHelper
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.jndi.ldap.VersionHelper
super_class: java.lang.Object
{
private static final com.sun.jndi.ldap.VersionHelper helper;
descriptor: Lcom/sun/jndi/ldap/VersionHelper;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean trustURLCodebase;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: new com.sun.jndi.ldap.VersionHelper
dup
invokespecial com.sun.jndi.ldap.VersionHelper.<init>:()V
putstatic com.sun.jndi.ldap.VersionHelper.helper:Lcom/sun/jndi/ldap/VersionHelper;
1: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/sun/jndi/ldap/VersionHelper.lambda$0()Ljava/lang/String; (6)
()Ljava/lang/String;
2: astore 0
start local 0 3: aload 0
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 4: ldc "true"
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putstatic com.sun.jndi.ldap.VersionHelper.trustURLCodebase:Z
end local 1 end local 0 5: return
LocalVariableTable:
Start End Slot Name Signature
3 5 0 act Ljava/security/PrivilegedAction<Ljava/lang/String;>;
4 5 1 trust Ljava/lang/String;
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/VersionHelper;
static com.sun.jndi.ldap.VersionHelper getVersionHelper();
descriptor: ()Lcom/sun/jndi/ldap/VersionHelper;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.sun.jndi.ldap.VersionHelper.helper:Lcom/sun/jndi/ldap/VersionHelper;
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.ClassLoader getURLClassLoader(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/ClassLoader;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.jndi.ldap.VersionHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 1: aload 1
ifnull 3
getstatic com.sun.jndi.ldap.VersionHelper.trustURLCodebase:Z
ifeq 3
2: aload 1
invokestatic com.sun.jndi.ldap.VersionHelper.getUrlArray:([Ljava/lang/String;)[Ljava/net/URL;
aload 2
invokestatic java.net.URLClassLoader.newInstance:([Ljava/net/URL;Ljava/lang/ClassLoader;)Ljava/net/URLClassLoader;
areturn
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/ldap/VersionHelper;
0 4 1 url [Ljava/lang/String;
1 4 2 parent Ljava/lang/ClassLoader;
Exceptions:
throws java.net.MalformedURLException
MethodParameters:
Name Flags
url
java.lang.Class<?> loadClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
aload 0
invokevirtual com.sun.jndi.ldap.VersionHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/VersionHelper;
0 1 1 className Ljava/lang/String;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
className
java.lang.Thread createThread(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Ljava/lang/Thread;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
astore 2
start local 2 1: aload 1
aload 2
invokedynamic run(Ljava/lang/Runnable;Ljava/security/AccessControlContext;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/sun/jndi/ldap/VersionHelper.lambda$1(Ljava/lang/Runnable;Ljava/security/AccessControlContext;)Ljava/lang/Thread; (6)
()Ljava/lang/Thread;
2: astore 3
start local 3 3: aload 3
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Thread
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/ldap/VersionHelper;
0 4 1 r Ljava/lang/Runnable;
1 4 2 acc Ljava/security/AccessControlContext;
3 4 3 act Ljava/security/PrivilegedAction<Ljava/lang/Thread;>;
MethodParameters:
Name Flags
r
private java.lang.ClassLoader getContextClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic run(Ljava/lang/Thread;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/lang/Thread.getContextClassLoader()Ljava/lang/ClassLoader; (5)
()Ljava/lang/ClassLoader;
1: astore 1
start local 1 2: aload 1
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/ldap/VersionHelper;
2 3 1 act Ljava/security/PrivilegedAction<Ljava/lang/ClassLoader;>;
private static java.net.URL[] getUrlArray(java.lang.String[]);
descriptor: ([Ljava/lang/String;)[Ljava/net/URL;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray java.net.URL
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: java.net.URL[] int
StackMap stack:
aload 1
iload 2
new java.net.URL
dup
aload 0
iload 2
aaload
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 url [Ljava/lang/String;
1 7 1 urlArray [Ljava/net/URL;
2 6 2 i I
Exceptions:
throws java.net.MalformedURLException
MethodParameters:
Name Flags
url
private static java.lang.String lambda$0();
descriptor: ()Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: ldc "com.sun.jndi.ldap.object.trustURLCodebase"
ldc "false"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Thread lambda$1(java.lang.Runnable, java.security.AccessControlContext);
descriptor: (Ljava/lang/Runnable;Ljava/security/AccessControlContext;)Ljava/lang/Thread;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
0: invokestatic jdk.internal.misc.SharedSecrets.getJavaLangAccess:()Ljdk/internal/misc/JavaLangAccess;
aload 0
aload 1
invokeinterface jdk.internal.misc.JavaLangAccess.newThreadWithAcc:(Ljava/lang/Runnable;Ljava/security/AccessControlContext;)Ljava/lang/Thread;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "VersionHelper.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles