public class com.oracle.truffle.api.test.IsolatedClassLoaderTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.IsolatedClassLoaderTest
super_class: java.lang.Object
{
private static final boolean JDK8;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "java.specification.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ldc "1.9"
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.api.test.IsolatedClassLoaderTest.JDK8:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/oracle/truffle/api/test/IsolatedClassLoaderTest;
public void loadLanguageByOwnClassLoaderOnJDK8();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: ldc Lcom/oracle/truffle/api/impl/TruffleLocator;
invokevirtual java.lang.Class.getProtectionDomain:()Ljava/security/ProtectionDomain;
astore 1
start local 1 1: aload 1
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
astore 2
start local 2 2: aload 2
ifnull 3
getstatic com.oracle.truffle.api.test.IsolatedClassLoaderTest.JDK8:Z
ifne 4
3: StackMap locals: java.security.ProtectionDomain java.security.CodeSource
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
astore 3
start local 3 5: new com.oracle.truffle.api.test.IsolatedClassLoaderTest$1
dup
aload 0
iconst_1
anewarray java.net.URL
dup
iconst_0
aload 3
aastore
invokespecial com.oracle.truffle.api.test.IsolatedClassLoaderTest$1.<init>:(Lcom/oracle/truffle/api/test/IsolatedClassLoaderTest;[Ljava/net/URL;)V
astore 4
start local 4 6: aload 4
ldc "com.oracle.truffle.polyglot.EngineAccessor"
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 5
start local 5 7: ldc "Right classloader"
aload 4
aload 5
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 5
ldc "locatorOrDefaultLoaders"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 6
start local 6 9: aload 6
iconst_1
invokestatic com.oracle.truffle.api.test.ReflectionUtils.setAccessible:(Ljava/lang/reflect/Executable;Z)V
10: aload 6
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
java/util/function/Supplier.get()Ljava/lang/Object; (9 itf)
(Ljava/util/function/Supplier;)Ljava/lang/ClassLoader;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Set
astore 7
start local 7 11: new java.lang.StringBuilder
dup
ldc "Contains locator's loader: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
12: new java.lang.StringBuilder
dup
ldc "Contains system loader: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
13: return
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 14 0 this Lcom/oracle/truffle/api/test/IsolatedClassLoaderTest;
1 14 1 domain Ljava/security/ProtectionDomain;
2 14 2 source Ljava/security/CodeSource;
5 14 3 truffleURL Ljava/net/URL;
6 14 4 loader Ljava/lang/ClassLoader;
7 14 5 locatorClass Ljava/lang/Class<*>;
9 14 6 loadersMethod Ljava/lang/reflect/Method;
11 14 7 loaders Ljava/util/Set<Ljava/lang/ClassLoader;>;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "IsolatedClassLoaderTest.java"
NestMembers:
com.oracle.truffle.api.test.IsolatedClassLoaderTest$1
InnerClasses:
com.oracle.truffle.api.test.IsolatedClassLoaderTest$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles