public abstract class com.oracle.truffle.api.test.host.ProxyLanguageEnvTest
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.api.test.host.ProxyLanguageEnvTest
super_class: java.lang.Object
{
protected org.graalvm.polyglot.Context context;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0004) ACC_PROTECTED
protected com.oracle.truffle.api.TruffleLanguage$Env env;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$Env;
flags: (0x0004) ACC_PROTECTED
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/host/ProxyLanguageEnvTest;
public void before();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.context:Lorg/graalvm/polyglot/Context;
1: new com.oracle.truffle.api.test.host.ProxyLanguageEnvTest$1
dup
aload 0
invokespecial com.oracle.truffle.api.test.host.ProxyLanguageEnvTest$1.<init>:(Lcom/oracle/truffle/api/test/host/ProxyLanguageEnvTest;)V
invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
pop
2: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.context:Lorg/graalvm/polyglot/Context;
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
3: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.enter:()V
4: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/host/ProxyLanguageEnvTest;
RuntimeVisibleAnnotations:
org.junit.Before()
public void after();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.leave:()V
1: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/test/host/ProxyLanguageEnvTest;
RuntimeVisibleAnnotations:
org.junit.After()
void assertThrowsExceptionWithCause(java.util.concurrent.Callable<?>, java.lang.Class<? extends java.lang.Exception>);
descriptor: (Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
pop
1: new java.lang.StringBuilder
dup
ldc "Expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " but no exception was thrown"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
2: goto 16
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 3
start local 3 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: aload 3
astore 5
start local 5 6: goto 14
7: StackMap locals: java.lang.Exception java.util.List java.lang.Throwable
StackMap stack:
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 2
if_acmpne 9
8: return
9: StackMap locals:
StackMap stack:
aload 4
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 5
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostException:(Ljava/lang/Throwable;)Z
ifeq 13
11: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 5
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asHostException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 5
12: goto 14
13: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 5
14: StackMap locals:
StackMap stack:
aload 5
ifnonnull 7
15: new java.lang.StringBuilder
dup
ldc "Expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
end local 5 end local 4 end local 3 16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/api/test/host/ProxyLanguageEnvTest;
0 17 1 callable Ljava/util/concurrent/Callable<*>;
0 17 2 exception Ljava/lang/Class<+Ljava/lang/Exception;>;
4 16 3 e Ljava/lang/Exception;
5 16 4 causes Ljava/util/List<Ljava/lang/Class<+Ljava/lang/Throwable;>;>;
6 16 5 cause Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
Signature: (Ljava/util/concurrent/Callable<*>;Ljava/lang/Class<+Ljava/lang/Exception;>;)V
MethodParameters:
Name Flags
callable
exception
protected com.oracle.truffle.api.interop.TruffleObject asTruffleObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asGuestValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 3
2: aload 2
checkcast com.oracle.truffle.api.interop.TruffleObject
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asBoxedGuestValue:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/test/host/ProxyLanguageEnvTest;
0 4 1 javaObj Ljava/lang/Object;
1 4 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
javaObj
com.oracle.truffle.api.interop.TruffleObject toJavaClass(com.oracle.truffle.api.interop.TruffleObject);
descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;)Lcom/oracle/truffle/api/interop/TruffleObject;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
aload 1
ldc "class"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
1: areturn
2: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
astore 2
start local 2 3: new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/test/host/ProxyLanguageEnvTest;
0 4 1 obj Lcom/oracle/truffle/api/interop/TruffleObject;
3 4 2 e Lcom/oracle/truffle/api/interop/InteropException;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.interop.UnknownIdentifierException
0 1 2 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
obj
protected com.oracle.truffle.api.interop.TruffleObject asTruffleHostSymbol(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookupHostSymbol:(Ljava/lang/String;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/host/ProxyLanguageEnvTest;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Lcom/oracle/truffle/api/interop/TruffleObject;
MethodParameters:
Name Flags
clazz
protected <T> T asJavaObject(java.lang.Class<T>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.context:Lorg/graalvm/polyglot/Context;
aload 2
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
aload 1
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/host/ProxyLanguageEnvTest;
0 1 1 type Ljava/lang/Class<TT;>;
0 1 2 truffleObject Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
type
truffleObject
}
SourceFile: "ProxyLanguageEnvTest.java"
NestMembers:
com.oracle.truffle.api.test.host.ProxyLanguageEnvTest$1
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
com.oracle.truffle.api.test.host.ProxyLanguageEnvTest$1
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context