public class com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
super_class: java.lang.Object
{
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/polyglot/ExposeToGuestTest;
public void byDefaultOnlyAnnotatedMethodsCanBeAccessed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
astore 1
start local 1 1: aload 1
ldc "sl"
ldc "function readValue(x) {\n return x.value;\n}\nfunction main() {\n return readValue;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 2: ldc 42
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
3: ldc "PublicValue isn't enough by default"
aload 2
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue.<init>:()V
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertPropertyUndefined:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 5 1 context Lorg/graalvm/polyglot/Context;
2 5 2 readValue Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
private static void assertPropertyUndefined(java.lang.String, org.graalvm.polyglot.Value, java.lang.Object);
descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "value"
aload 1
aload 2
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertPropertyUndefined:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
0 2 1 readValue Lorg/graalvm/polyglot/Value;
0 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
msg
readValue
value
static void assertPropertyUndefined(java.lang.String, java.lang.String, org.graalvm.polyglot.Value, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
1: aload 0
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
2: goto 5
StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
3: astore 4
start local 4 4: new java.lang.StringBuilder
dup
ldc "Undefined property: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 msg Ljava/lang/String;
0 6 1 propName Ljava/lang/String;
0 6 2 readValue Lorg/graalvm/polyglot/Value;
0 6 3 value Ljava/lang/Object;
4 5 4 ex Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
0 2 3 Class org.graalvm.polyglot.PolyglotException
MethodParameters:
Name Flags
msg
propName
readValue
value
public void exportingAllPublicIsEasy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 1
start local 1 1: aload 1
ldc "sl"
ldc "function readValue(x) {\n return x.value;\n}\nfunction main() {\n return readValue;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 2: ldc 42
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
3: ldc 42
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 5 1 context Lorg/graalvm/polyglot/Context;
2 5 2 readValue Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void customExportedAnnotation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$AccessMe;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 2
start local 2 2: aload 2
ldc "sl"
ldc "function readValue(x) {\n return x.value;\n}\nfunction main() {\n return readValue;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 3: ldc 42
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AccessibleValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AccessibleValue.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: ldc "Default annotation isn't enough"
aload 3
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue.<init>:()V
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertPropertyUndefined:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
5: ldc "Public isn't enough by default"
aload 3
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue.<init>:()V
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertPropertyUndefined:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 7 1 accessMeConfig Lorg/graalvm/polyglot/HostAccess;
2 7 2 context Lorg/graalvm/polyglot/Context;
3 7 3 readValue Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void explicitlyEnumeratingField();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$AccessibleValue;
ldc "value"
invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccess:(Ljava/lang/reflect/Field;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 2
start local 2 2: aload 2
ldc "sl"
ldc "function readValue(x) {\n return x.value;\n}\nfunction main() {\n return readValue;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 3: ldc 42
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AccessibleValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AccessibleValue.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: ldc "Default annotation isn't enough"
aload 3
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue.<init>:()V
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertPropertyUndefined:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
5: ldc "Public isn't enough by default"
aload 3
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue.<init>:()V
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertPropertyUndefined:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 7 1 explictConfig Lorg/graalvm/polyglot/HostAccess;
2 7 2 context Lorg/graalvm/polyglot/Context;
3 7 3 readValue Lorg/graalvm/polyglot/Value;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void fooBarExposedByInheritance();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.EXPLICIT:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 1
start local 1 1: aload 1
ldc "sl"
ldc "function callFoo(x) {\n return x.foo(1);\n}\nfunction main() {\n return callFoo;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 2: ldc "basic foo"
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Foo
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Foo.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: ldc "enhanced bar"
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Bar
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Bar.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: ldc "Cannot call public method in package private class"
ldc "foo"
aload 2
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PackagePrivateBar
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PackagePrivateBar.<init>:()V
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertPropertyUndefined:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/Value;Ljava/lang/Object;)V
5: ldc "basic foo"
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PrivateFoo
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PrivateFoo.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "overriden foo"
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PrivateChangedFoo
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PrivateChangedFoo.<init>:()V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 8 1 context Lorg/graalvm/polyglot/Context;
2 8 2 readValue Lorg/graalvm/polyglot/Value;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void functionalInterfaceCall();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.EXPLICIT:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 1
start local 1 1: aload 1
ldc "sl"
ldc "function callFoo(x) {\n return x.foo(1);\n}\nfunction main() {\n return callFoo;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 2: invokedynamic foo()Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface;
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/Number;)Ljava/lang/Object;
com/oracle/truffle/api/test/polyglot/ExposeToGuestTest.lambda$0(Ljava/lang/Number;)Ljava/lang/Object; (6)
(Ljava/lang/Number;)Ljava/lang/Object;
astore 3
start local 3 3: ldc "functional foo"
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 5 1 context Lorg/graalvm/polyglot/Context;
2 5 2 readValue Lorg/graalvm/polyglot/Value;
3 5 3 foo Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface<Ljava/lang/Number;>;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void listAccessAllowedInPublicHostAccess();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.doAccessAllowedInPublicHostAccess:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void arrayAccessAllowedInPublicHostAccess();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.doAccessAllowedInPublicHostAccess:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private static void doAccessAllowedInPublicHostAccess(boolean);
descriptor: (Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 1
start local 1 1: aload 1
ldc "sl"
ldc "function callFoo(x) {\n return x.foo(1)[0];\n}\nfunction main() {\n return callFoo;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 2: iconst_1
newarray 4
astore 3
start local 3 3: aload 3
iload 0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.returnAsArrayOrList:([ZZ)Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface;
astore 4
start local 4 4: aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: ldc "Foo lamda called"
aload 3
iconst_0
baload
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
6: lconst_1
aload 5
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: return
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 8 0 asList Z
1 8 1 context Lorg/graalvm/polyglot/Context;
2 8 2 readValue Lorg/graalvm/polyglot/Value;
3 8 3 gotIn [Z
4 8 4 foo Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface<Ljava/lang/Number;>;
5 8 5 arrayRead Lorg/graalvm/polyglot/Value;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
asList
public void listAccessForbiddenInExplicit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.doAccessForbiddenInExplicit:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void arrayAccessForbiddenInExplicit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.doAccessForbiddenInExplicit:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private static void doAccessForbiddenInExplicit(boolean);
descriptor: (Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.EXPLICIT:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 1
start local 1 1: aload 1
ldc "sl"
ldc "function callFoo(x) {\n return x.foo(1)[0];\n}\nfunction main() {\n return callFoo;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 2: iconst_1
newarray 4
astore 3
start local 3 3: aload 3
iload 0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.returnAsArrayOrList:([ZZ)Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface;
astore 4
start local 4 4: aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: goto 10
end local 5 StackMap locals: int org.graalvm.polyglot.Context org.graalvm.polyglot.Value boolean[] com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$FooInterface
StackMap stack: java.lang.Exception
6: astore 6
start local 6 7: ldc "Expecting an exception"
ldc Lorg/graalvm/polyglot/PolyglotException;
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: ldc "Foo lamda called"
aload 3
iconst_0
baload
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
9: return
end local 6 start local 5 10: StackMap locals: org.graalvm.polyglot.Value
StackMap stack:
new java.lang.StringBuilder
dup
ldc "The read shouldn't succeed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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
11: return
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 12 0 asList Z
1 12 1 context Lorg/graalvm/polyglot/Context;
2 12 2 readValue Lorg/graalvm/polyglot/Value;
3 12 3 gotIn [Z
4 12 4 foo Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface<Ljava/lang/Number;>;
5 6 5 arrayRead Lorg/graalvm/polyglot/Value;
10 12 5 arrayRead Lorg/graalvm/polyglot/Value;
7 10 6 ex Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
asList
public void listAccessForbiddenInManual();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.doAccessForbiddenInManual:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void arrayAccessForbiddenInManual();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.doAccessForbiddenInManual:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private static void doAccessForbiddenInManual(boolean);
descriptor: (Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface;
ldc "foo"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Number;
aastore
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccess:(Ljava/lang/reflect/Executable;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 2
start local 2 2: aload 2
ldc "sl"
ldc "function callFoo(x) {\n return x.foo(1)[0];\n}\nfunction main() {\n return callFoo;\n}\n"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 3: iconst_1
newarray 4
astore 4
start local 4 4: aload 4
iload 0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.returnAsArrayOrList:([ZZ)Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface;
astore 5
start local 5 5: aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: goto 11
end local 6 StackMap locals: int org.graalvm.polyglot.HostAccess org.graalvm.polyglot.Context org.graalvm.polyglot.Value boolean[] com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$FooInterface
StackMap stack: java.lang.Exception
7: astore 7
start local 7 8: ldc "Expecting an exception"
ldc Lorg/graalvm/polyglot/PolyglotException;
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
9: ldc "Foo lamda called"
aload 4
iconst_0
baload
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
10: return
end local 7 start local 6 11: StackMap locals: org.graalvm.polyglot.Value
StackMap stack:
new java.lang.StringBuilder
dup
ldc "The read shouldn't succeed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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
12: return
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 13 0 asList Z
1 13 1 config Lorg/graalvm/polyglot/HostAccess;
2 13 2 context Lorg/graalvm/polyglot/Context;
3 13 3 readValue Lorg/graalvm/polyglot/Value;
4 13 4 gotIn [Z
5 13 5 foo Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface<Ljava/lang/Number;>;
6 7 6 arrayRead Lorg/graalvm/polyglot/Value;
11 13 6 arrayRead Lorg/graalvm/polyglot/Value;
8 11 7 ex Ljava/lang/Exception;
Exception table:
from to target type
5 6 7 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
asList
private static com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$FooInterface<java.lang.Number> returnAsArrayOrList(boolean[], boolean);
descriptor: ([ZZ)Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokedynamic foo([ZZ)Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface;
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/Number;)Ljava/lang/Object;
com/oracle/truffle/api/test/polyglot/ExposeToGuestTest.lambda$1([ZZLjava/lang/Number;)Ljava/lang/Object; (6)
(Ljava/lang/Number;)Ljava/lang/Object;
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 gotIn [Z
0 2 1 asList Z
1 2 2 foo Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface<Ljava/lang/Number;>;
Signature: ([ZZ)Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FooInterface<Ljava/lang/Number;>;
MethodParameters:
Name Flags
gotIn
asList
public void staticFieldAccessIsForbidden();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
astore 1
start local 1 1: aload 1
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/truffle/api/test/polyglot/ExposeToGuestTest.lambda$2(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostClassLookup:(Ljava/util/function/Predicate;)Lorg/graalvm/polyglot/Context$Builder;
pop
2: aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 2
start local 2 3: aload 2
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 2
invokevirtual org.graalvm.polyglot.Context.enter:()V
5: invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentContext:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage$LanguageContext;
invokevirtual com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$FieldAccess;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookupHostSymbol:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 6: aload 3
ldc "staticField"
iconst_0
iconst_0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertMember:(Ljava/lang/Object;Ljava/lang/String;ZZ)V
7: aload 3
ldc "finalField"
iconst_0
iconst_0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertMember:(Ljava/lang/Object;Ljava/lang/String;ZZ)V
8: aload 3
ldc "exportedStaticField"
iconst_1
iconst_1
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertMember:(Ljava/lang/Object;Ljava/lang/String;ZZ)V
9: aload 3
ldc "exportedField"
iconst_1
iconst_0
invokestatic com.oracle.truffle.api.test.polyglot.ExposeToGuestTest.assertMember:(Ljava/lang/Object;Ljava/lang/String;ZZ)V
end local 3 10: goto 15
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.Context$Builder org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
11: astore 4
12: aload 2
invokevirtual org.graalvm.polyglot.Context.leave:()V
13: aload 2
invokevirtual org.graalvm.polyglot.Context.close:()V
14: aload 4
athrow
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.polyglot.Context.leave:()V
16: aload 2
invokevirtual org.graalvm.polyglot.Context.close:()V
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 18 1 builder Lorg/graalvm/polyglot/Context$Builder;
3 18 2 c Lorg/graalvm/polyglot/Context;
6 10 3 hostLookup Ljava/lang/Object;
Exception table:
from to target type
5 11 11 any
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
private static void assertMember(java.lang.Object, java.lang.String, boolean, boolean);
descriptor: (Ljava/lang/Object;Ljava/lang/String;ZZ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 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
astore 4
start local 4 1: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberModifiable:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
5: aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberRemovable:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
6: iload 2
ifeq 9
7: ldc "42"
aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: goto 13
9: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
10: invokestatic org.junit.Assert.fail:()V
11: goto 13
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnknownIdentifierException
12: pop
13: StackMap locals:
StackMap stack:
iload 3
ifeq 16
14: aload 4
aload 0
aload 1
ldc "42"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
15: goto 20
16: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
ldc "43"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
17: invokestatic org.junit.Assert.fail:()V
18: goto 20
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnknownIdentifierException
19: pop
20: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeMember:(Ljava/lang/Object;Ljava/lang/String;)V
21: invokestatic org.junit.Assert.fail:()V
22: goto 24
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
23: pop
24: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 object Ljava/lang/Object;
0 25 1 member Ljava/lang/String;
0 25 2 readable Z
0 25 3 modifiable Z
1 25 4 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
Exception table:
from to target type
9 11 12 Class com.oracle.truffle.api.interop.UnknownIdentifierException
16 18 19 Class com.oracle.truffle.api.interop.UnknownIdentifierException
20 22 23 Class com.oracle.truffle.api.interop.UnsupportedMessageException
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
MethodParameters:
Name Flags
object
member
readable
modifiable
public void staticConstructorAccessIsForbidden();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
astore 1
start local 1 1: aload 1
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/truffle/api/test/polyglot/ExposeToGuestTest.lambda$3(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostClassLookup:(Ljava/util/function/Predicate;)Lorg/graalvm/polyglot/Context$Builder;
pop
2: aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 2
start local 2 3: aload 2
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 2
invokevirtual org.graalvm.polyglot.Context.enter:()V
5: invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentContext:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage$LanguageContext;
invokevirtual com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$AllowedConstructorAccess;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookupHostSymbol:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 6: 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
astore 4
start local 4 7: aload 4
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: aload 4
aload 3
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.instantiate:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
9: invokestatic org.junit.Assert.fail:()V
10: goto 12
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.Context$Builder org.graalvm.polyglot.Context java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
StackMap stack: com.oracle.truffle.api.interop.ArityException
11: pop
12: StackMap locals:
StackMap stack:
aload 4
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.instantiate:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
13: invokestatic org.junit.Assert.fail:()V
14: goto 16
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedTypeException
15: pop
16: StackMap locals:
StackMap stack:
aload 4
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "asdf"
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.instantiate:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
17: invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentContext:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage$LanguageContext;
invokevirtual com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$DeniedConstructorAccess;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookupHostSymbol:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 18: aload 4
aload 5
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
19: aload 4
aload 5
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.instantiate:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
20: invokestatic org.junit.Assert.fail:()V
21: goto 28
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.Context$Builder org.graalvm.polyglot.Context java.lang.Object com.oracle.truffle.api.interop.InteropLibrary java.lang.Object
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
22: pop
end local 5 end local 4 end local 3 23: goto 28
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.Context$Builder org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
24: astore 6
25: aload 2
invokevirtual org.graalvm.polyglot.Context.leave:()V
26: aload 2
invokevirtual org.graalvm.polyglot.Context.close:()V
27: aload 6
athrow
28: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.polyglot.Context.leave:()V
29: aload 2
invokevirtual org.graalvm.polyglot.Context.close:()V
30: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 31 1 builder Lorg/graalvm/polyglot/Context$Builder;
3 31 2 c Lorg/graalvm/polyglot/Context;
6 23 3 allowed Ljava/lang/Object;
7 23 4 library Lcom/oracle/truffle/api/interop/InteropLibrary;
18 23 5 denied Ljava/lang/Object;
Exception table:
from to target type
8 10 11 Class com.oracle.truffle.api.interop.ArityException
12 14 15 Class com.oracle.truffle.api.interop.UnsupportedTypeException
19 21 22 Class com.oracle.truffle.api.interop.UnsupportedMessageException
5 24 24 any
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testProxyOverloads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=1
start local 0 0: getstatic org.graalvm.polyglot.HostAccess.EXPLICIT:Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: aload 5
ldc "overloaded"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
7: invokestatic org.junit.Assert.fail:()V
8: goto 11
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value org.graalvm.polyglot.Value
StackMap stack: java.lang.IllegalArgumentException
9: astore 7
start local 7 10: aload 7
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
aload 7
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
ldc "Multiple applicable overloads"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 7 11: StackMap locals:
StackMap stack:
ldc "42"
aload 5
ldc "overloaded"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "42"
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 12: aload 4
ifnull 18
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 18
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
13: astore 2
aload 4
ifnull 14
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
14: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 3
aload 2
ifnonnull 16
aload 3
astore 2
goto 17
StackMap locals:
StackMap stack:
16: aload 2
aload 3
if_acmpeq 17
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 2
athrow
18: StackMap locals:
StackMap stack:
invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
19: aconst_null
astore 2
aconst_null
astore 3
20: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 21: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
22: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 23: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 24: aload 5
ldc "overloaded"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
25: invokestatic org.junit.Assert.fail:()V
26: goto 29
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value org.graalvm.polyglot.Value
StackMap stack: java.lang.IllegalArgumentException
27: astore 7
start local 7 28: aload 7
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
aload 7
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
ldc "no applicable overload found"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 7 29: StackMap locals:
StackMap stack:
ldc "42"
aload 5
ldc "overloaded"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "42"
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 30: aload 4
ifnull 36
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 36
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
31: astore 2
aload 4
ifnull 32
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
32: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 3
aload 2
ifnonnull 34
aload 3
astore 2
goto 35
StackMap locals:
StackMap stack:
34: aload 2
aload 3
if_acmpeq 35
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 2
athrow
36: StackMap locals:
StackMap stack:
invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Ljava/lang/FunctionalInterface;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowImplementationsAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
37: aconst_null
astore 2
aconst_null
astore 3
38: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 39: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
40: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 41: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 42: ldc "MarkedFunctional"
aload 5
ldc "overloaded"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
ldc "noArg"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
43: ldc "42"
aload 5
ldc "overloaded"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "42"
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 44: aload 4
ifnull 50
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 50
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
45: astore 2
aload 4
ifnull 46
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
46: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
47: astore 3
aload 2
ifnonnull 48
aload 3
astore 2
goto 49
StackMap locals:
StackMap stack:
48: aload 2
aload 3
if_acmpeq 49
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
49: aload 2
athrow
50: StackMap locals:
StackMap stack:
invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedInterface;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowImplementations:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
51: aconst_null
astore 2
aconst_null
astore 3
52: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 53: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
54: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 55: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 56: ldc "MarkedInterface"
aload 5
ldc "overloaded"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
57: ldc "42"
aload 5
ldc "overloaded"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "42"
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 58: aload 4
ifnull 64
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 64
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
59: astore 2
aload 4
ifnull 60
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
60: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
61: astore 3
aload 2
ifnonnull 62
aload 3
astore 2
goto 63
StackMap locals:
StackMap stack:
62: aload 2
aload 3
if_acmpeq 63
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
63: aload 2
athrow
64: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 65 1 access Lorg/graalvm/polyglot/HostAccess;
3 14 4 c Lorg/graalvm/polyglot/Context;
5 12 5 v Lorg/graalvm/polyglot/Value;
6 12 6 arg Lorg/graalvm/polyglot/Value;
10 11 7 e Ljava/lang/IllegalArgumentException;
21 32 4 c Lorg/graalvm/polyglot/Context;
23 30 5 v Lorg/graalvm/polyglot/Value;
24 30 6 arg Lorg/graalvm/polyglot/Value;
28 29 7 e Ljava/lang/IllegalArgumentException;
39 46 4 c Lorg/graalvm/polyglot/Context;
41 44 5 v Lorg/graalvm/polyglot/Value;
42 44 6 arg Lorg/graalvm/polyglot/Value;
53 60 4 c Lorg/graalvm/polyglot/Context;
55 58 5 v Lorg/graalvm/polyglot/Value;
56 58 6 arg Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
6 8 9 Class java.lang.IllegalArgumentException
3 12 13 any
2 15 15 any
24 26 27 Class java.lang.IllegalArgumentException
21 30 31 any
20 33 33 any
39 44 45 any
38 47 47 any
53 58 59 any
52 61 61 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testProxyExplicit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: getstatic org.graalvm.polyglot.HostAccess.EXPLICIT:Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: aload 5
ldc "noArg"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: ldc "42"
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedInterface
ldc "42"
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedInterface.exported:(Ljava/lang/String;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$EmptyInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
8: invokestatic org.junit.Assert.fail:()V
9: goto 11
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value org.graalvm.polyglot.Value
StackMap stack: java.lang.ClassCastException
10: pop
11: StackMap locals:
StackMap stack:
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
12: invokestatic org.junit.Assert.fail:()V
13: goto 15
StackMap locals:
StackMap stack: java.lang.ClassCastException
14: pop
15: StackMap locals:
StackMap stack:
ldc 42
aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedFunctional
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedFunctional.f:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
17: invokestatic org.junit.Assert.fail:()V
18: goto 20
StackMap locals:
StackMap stack: java.lang.ClassCastException
19: pop
20: StackMap locals:
StackMap stack:
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
ldc Ljava/util/function/Function;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.function.Function
aconst_null
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 21: aload 4
ifnull 27
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 27
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
22: astore 2
aload 4
ifnull 23
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
23: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 3
aload 2
ifnonnull 25
aload 3
astore 2
goto 26
StackMap locals:
StackMap stack:
25: aload 2
aload 3
if_acmpeq 26
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 2
athrow
27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 28 1 access Lorg/graalvm/polyglot/HostAccess;
3 23 4 c Lorg/graalvm/polyglot/Context;
5 21 5 v Lorg/graalvm/polyglot/Value;
6 21 6 f Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
7 9 10 Class java.lang.ClassCastException
11 13 14 Class java.lang.ClassCastException
16 18 19 Class java.lang.ClassCastException
3 21 22 any
2 24 24 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testProxyMarked();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
1: ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedInterface;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowImplementations:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedFunctional;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowImplementations:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
2: astore 1
start local 1 3: aconst_null
astore 2
aconst_null
astore 3
4: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 5: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
6: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 7: aload 5
ldc "noArg"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 8: ldc "42"
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedInterface
ldc "42"
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedInterface.exported:(Ljava/lang/String;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$EmptyInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
10: invokestatic org.junit.Assert.fail:()V
11: goto 13
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value org.graalvm.polyglot.Value
StackMap stack: java.lang.ClassCastException
12: pop
13: StackMap locals:
StackMap stack:
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
14: invokestatic org.junit.Assert.fail:()V
15: goto 17
StackMap locals:
StackMap stack: java.lang.ClassCastException
16: pop
17: StackMap locals:
StackMap stack:
ldc 42
aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedFunctional
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedFunctional.f:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
19: invokestatic org.junit.Assert.fail:()V
20: goto 22
StackMap locals:
StackMap stack: java.lang.ClassCastException
21: pop
22: StackMap locals:
StackMap stack:
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
ldc Ljava/util/function/Function;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.function.Function
aconst_null
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 23: aload 4
ifnull 29
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 29
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
24: astore 2
aload 4
ifnull 25
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
25: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 3
aload 2
ifnonnull 27
aload 3
astore 2
goto 28
StackMap locals:
StackMap stack:
27: aload 2
aload 3
if_acmpeq 28
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 2
athrow
29: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
3 30 1 access Lorg/graalvm/polyglot/HostAccess;
5 25 4 c Lorg/graalvm/polyglot/Context;
7 23 5 v Lorg/graalvm/polyglot/Value;
8 23 6 f Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
9 11 12 Class java.lang.ClassCastException
13 15 16 Class java.lang.ClassCastException
18 20 21 Class java.lang.ClassCastException
5 23 24 any
4 26 26 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testProxyNone();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: aload 5
ldc "exported"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
7: invokestatic org.junit.Assert.fail:()V
8: goto 10
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value org.graalvm.polyglot.Value
StackMap stack: java.lang.ClassCastException
9: pop
10: StackMap locals:
StackMap stack:
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$EmptyInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
11: invokestatic org.junit.Assert.fail:()V
12: goto 14
StackMap locals:
StackMap stack: java.lang.ClassCastException
13: pop
14: StackMap locals:
StackMap stack:
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
15: invokestatic org.junit.Assert.fail:()V
16: goto 18
StackMap locals:
StackMap stack: java.lang.ClassCastException
17: pop
18: StackMap locals:
StackMap stack:
aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
19: invokestatic org.junit.Assert.fail:()V
20: goto 22
StackMap locals:
StackMap stack: java.lang.ClassCastException
21: pop
22: StackMap locals:
StackMap stack:
aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
23: invokestatic org.junit.Assert.fail:()V
24: goto 26
StackMap locals:
StackMap stack: java.lang.ClassCastException
25: pop
26: StackMap locals:
StackMap stack:
ldc "42"
aload 6
ldc Ljava/util/function/Function;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.function.Function
ldc "42"
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 27: aload 4
ifnull 33
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 33
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
28: astore 2
aload 4
ifnull 29
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
29: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 3
aload 2
ifnonnull 31
aload 3
astore 2
goto 32
StackMap locals:
StackMap stack:
31: aload 2
aload 3
if_acmpeq 32
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 2
athrow
33: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 34 1 access Lorg/graalvm/polyglot/HostAccess;
3 29 4 c Lorg/graalvm/polyglot/Context;
5 27 5 v Lorg/graalvm/polyglot/Value;
6 27 6 f Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
6 8 9 Class java.lang.ClassCastException
10 12 13 Class java.lang.ClassCastException
14 16 17 Class java.lang.ClassCastException
18 20 21 Class java.lang.ClassCastException
22 24 25 Class java.lang.ClassCastException
3 27 28 any
2 30 30 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testProxyManualAll();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAllImplementations:(Z)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: aload 5
ldc "noArg"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: ldc "42"
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedInterface
ldc "42"
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedInterface.exported:(Ljava/lang/String;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "42"
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedInterface
ldc "42"
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedInterface.exported:(Ljava/lang/String;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$EmptyInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
9: ldc 42
aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedFunctional
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedFunctional.f:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: ldc 42
aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedFunctional
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedFunctional.f:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
11: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
ldc Ljava/util/function/Function;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.function.Function
aconst_null
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 12: aload 4
ifnull 18
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 18
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
13: astore 2
aload 4
ifnull 14
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
14: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 3
aload 2
ifnonnull 16
aload 3
astore 2
goto 17
StackMap locals:
StackMap stack:
16: aload 2
aload 3
if_acmpeq 17
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 2
athrow
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 19 1 access Lorg/graalvm/polyglot/HostAccess;
3 14 4 c Lorg/graalvm/polyglot/Context;
5 12 5 v Lorg/graalvm/polyglot/Value;
6 12 6 f Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
3 12 13 any
2 15 15 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testProxyAll();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: aload 5
ldc "noArg"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: ldc "42"
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedInterface
ldc "42"
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedInterface.exported:(Ljava/lang/String;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "42"
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedInterface
ldc "42"
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedInterface.exported:(Ljava/lang/String;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$EmptyInterface;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
9: ldc 42
aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedFunctional
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedFunctional.f:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: ldc 42
aload 6
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$UnmarkedFunctional;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedFunctional
invokeinterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedFunctional.f:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
11: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
ldc Ljava/util/function/Function;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.function.Function
aconst_null
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 12: aload 4
ifnull 18
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 18
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
13: astore 2
aload 4
ifnull 14
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
14: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 3
aload 2
ifnonnull 16
aload 3
astore 2
goto 17
StackMap locals:
StackMap stack:
16: aload 2
aload 3
if_acmpeq 17
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 2
athrow
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 19 1 access Lorg/graalvm/polyglot/HostAccess;
3 14 4 c Lorg/graalvm/polyglot/Context;
5 12 5 v Lorg/graalvm/polyglot/Value;
6 12 6 f Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
3 12 13 any
2 15 15 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAdapterClass();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedClass;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowImplementations:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: aload 5
ldc "noArg"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedClass;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedClass
astore 7
start local 7 7: ldc "42"
aload 7
ldc "42"
invokevirtual com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedClass.exported:(Ljava/lang/String;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: ldc "adapter class should be cached"
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedClass;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedClass
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
9: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
ldc Ljava/util/function/Function;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.function.Function
aconst_null
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 7 end local 6 end local 5 10: aload 4
ifnull 16
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 16
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
11: astore 2
aload 4
ifnull 12
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 2
ifnonnull 14
aload 3
astore 2
goto 15
StackMap locals:
StackMap stack:
14: aload 2
aload 3
if_acmpeq 15
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 2
athrow
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 17 1 access Lorg/graalvm/polyglot/HostAccess;
3 12 4 c Lorg/graalvm/polyglot/Context;
5 10 5 v Lorg/graalvm/polyglot/Value;
6 10 6 f Lorg/graalvm/polyglot/Value;
7 10 7 markedClass Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedClass;
Exception table:
from to target type
3 10 11 any
2 13 13 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAdapterNoDefaultConstructor();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$NoDefaultConstructor;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowImplementations:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$NoDefaultConstructor;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
6: invokestatic org.junit.Assert.fail:()V
7: goto 10
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value
StackMap stack: java.lang.ClassCastException
8: astore 6
start local 6 9: aload 6
invokevirtual java.lang.ClassCastException.getMessage:()Ljava/lang/String;
ldc "Unsupported target type"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
end local 6 end local 5 10: StackMap locals:
StackMap stack:
aload 4
ifnull 16
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 2
aload 4
ifnull 12
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 2
ifnonnull 14
aload 3
astore 2
goto 15
StackMap locals:
StackMap stack:
14: aload 2
aload 3
if_acmpeq 15
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 2
athrow
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 17 1 access Lorg/graalvm/polyglot/HostAccess;
3 12 4 c Lorg/graalvm/polyglot/Context;
5 10 5 v Lorg/graalvm/polyglot/Value;
9 10 6 e Ljava/lang/ClassCastException;
Exception table:
from to target type
5 7 8 Class java.lang.ClassCastException
3 10 11 any
2 13 13 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAdapterClassImplementationsNotAllowed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
ldc Lorg/graalvm/polyglot/HostAccess$Export;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
4: aload 4
new com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl
dup
invokespecial com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl.<init>:()V
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 5: aload 5
ldc Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest$MarkedClass;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
pop
6: invokestatic org.junit.Assert.fail:()V
7: goto 10
StackMap locals: com.oracle.truffle.api.test.polyglot.ExposeToGuestTest org.graalvm.polyglot.HostAccess java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value
StackMap stack: java.lang.ClassCastException
8: astore 6
start local 6 9: aload 6
invokevirtual java.lang.ClassCastException.getMessage:()Ljava/lang/String;
ldc "Unsupported target type"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
end local 6 end local 5 10: StackMap locals:
StackMap stack:
aload 4
ifnull 16
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 2
aload 4
ifnull 12
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 2
ifnonnull 14
aload 3
astore 2
goto 15
StackMap locals:
StackMap stack:
14: aload 2
aload 3
if_acmpeq 15
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 2
athrow
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/api/test/polyglot/ExposeToGuestTest;
1 17 1 access Lorg/graalvm/polyglot/HostAccess;
3 12 4 c Lorg/graalvm/polyglot/Context;
5 10 5 v Lorg/graalvm/polyglot/Value;
9 10 6 e Ljava/lang/ClassCastException;
Exception table:
from to target type
5 7 8 Class java.lang.ClassCastException
3 10 11 any
2 13 13 any
RuntimeVisibleAnnotations:
org.junit.Test()
private static java.lang.Object lambda$0(java.lang.Number);
descriptor: (Ljava/lang/Number;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "functional foo"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ignore Ljava/lang/Number;
private static java.lang.Object lambda$1(boolean[], boolean, java.lang.Number);
descriptor: ([ZZLjava/lang/Number;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 2 0: aload 0
iconst_0
iconst_1
bastore
1: iload 1
ifeq 3
2: iconst_1
anewarray java.lang.Number
dup
iconst_0
aload 2
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
3: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Number
dup
iconst_0
aload 2
aastore
areturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 4 2 n Ljava/lang/Number;
private static boolean lambda$2(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "FieldAccess"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Ljava/lang/String;
private static boolean lambda$3(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "ConstructorAccess"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Ljava/lang/String;
}
SourceFile: "ExposeToGuestTest.java"
NestMembers:
com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AccessMe com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AccessibleValue com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AllowedConstructorAccess com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Bar com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$DeniedConstructorAccess com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$EmptyInterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$FieldAccess com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Foo com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$FooInterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedClass com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedFunctional com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedInterface com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$NoDefaultConstructor com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PackagePrivateBar com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PrivateChangedFoo com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PrivateFoo com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedFunctional com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedInterface
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public abstract AccessMe = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AccessMe of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public AccessibleValue = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AccessibleValue of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public AllowedConstructorAccess = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$AllowedConstructorAccess of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
Bar = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Bar of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public DeniedConstructorAccess = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$DeniedConstructorAccess of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
abstract EmptyInterface = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$EmptyInterface of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public ExportedValue = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$ExportedValue of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public FieldAccess = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$FieldAccess of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public Foo = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Foo of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public abstract FooInterface = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$FooInterface of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public Impl = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Impl of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public abstract MarkedClass = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedClass of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
abstract MarkedFunctional = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedFunctional of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
abstract MarkedInterface = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$MarkedInterface of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public abstract NoDefaultConstructor = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$NoDefaultConstructor of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public Overloaded = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$Overloaded of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
PackagePrivateBar = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PackagePrivateBar of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public PrivateChangedFoo = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PrivateChangedFoo of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
PrivateFoo = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PrivateFoo of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public PublicValue = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$PublicValue of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
abstract UnmarkedFunctional = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedFunctional of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
abstract UnmarkedInterface = com.oracle.truffle.api.test.polyglot.ExposeToGuestTest$UnmarkedInterface of com.oracle.truffle.api.test.polyglot.ExposeToGuestTest
public LanguageContext = com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext of com.oracle.truffle.api.test.polyglot.ProxyLanguage
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public final Builder = org.graalvm.polyglot.HostAccess$Builder of org.graalvm.polyglot.HostAccess
public abstract Export = org.graalvm.polyglot.HostAccess$Export of org.graalvm.polyglot.HostAccess