interface com.oracle.truffle.polyglot.HostWrapper
minor version: 0
major version: 59
flags: flags: (0x0600) ACC_INTERFACE, ACC_ABSTRACT
this_class: com.oracle.truffle.polyglot.HostWrapper
super_class: java.lang.Object
{
public abstract java.lang.Object getGuestObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract com.oracle.truffle.polyglot.PolyglotContextImpl getContext();
descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract com.oracle.truffle.polyglot.PolyglotLanguageContext getLanguageContext();
descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public static boolean isInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.reflect.Proxy
ifeq 4
3: aload 0
invokestatic com.oracle.truffle.polyglot.HostWrapper.isHostProxy:(Ljava/lang/Object;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.polyglot.HostWrapper
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 v Ljava/lang/Object;
MethodParameters:
Name Flags
v
public static boolean isHostProxy(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifeq 2
1: aload 0
invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
instanceof com.oracle.truffle.polyglot.HostWrapper
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 v Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
v
public static com.oracle.truffle.polyglot.HostWrapper asInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/polyglot/HostWrapper;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.reflect.Proxy
ifeq 2
1: aload 0
invokestatic com.oracle.truffle.polyglot.HostWrapper.getHostProxy:(Ljava/lang/Object;)Lcom/oracle/truffle/polyglot/HostWrapper;
areturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.polyglot.HostWrapper
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 v Ljava/lang/Object;
MethodParameters:
Name Flags
v
public static com.oracle.truffle.polyglot.HostWrapper getHostProxy(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/polyglot/HostWrapper;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
checkcast com.oracle.truffle.polyglot.HostWrapper
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
v
public static boolean equalsProxy(com.oracle.truffle.polyglot.HostWrapper, java.lang.Object);
descriptor: (Lcom/oracle/truffle/polyglot/HostWrapper;Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifeq 4
3: aload 0
invokeinterface com.oracle.truffle.polyglot.HostWrapper.getLanguageContext:()Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
aload 0
invokeinterface com.oracle.truffle.polyglot.HostWrapper.getGuestObject:()Ljava/lang/Object;
aload 1
invokestatic com.oracle.truffle.polyglot.HostWrapper.getHostProxy:(Ljava/lang/Object;)Lcom/oracle/truffle/polyglot/HostWrapper;
invokeinterface com.oracle.truffle.polyglot.HostWrapper.getGuestObject:()Ljava/lang/Object;
invokestatic com.oracle.truffle.polyglot.HostWrapper.equals:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 wrapper Lcom/oracle/truffle/polyglot/HostWrapper;
0 5 1 other Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
wrapper
other
public static boolean equals(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.Object);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
ifnull 6
aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.closed:Z
ifne 5
aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.invalid:Z
ifeq 6
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 7: aload 0
invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
astore 3
8: goto 11
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
9: pop
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 4
start local 4 12: aload 2
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 5
start local 5 13: aload 4
aload 1
aload 2
aload 5
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
istore 7
14: aload 0
aload 3
invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
15: goto 17
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary top int
StackMap stack: java.lang.Throwable
16: pop
17: StackMap locals:
StackMap stack:
iload 7
ireturn
end local 5 end local 4 18: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
astore 4
start local 4 19: aload 0
aload 4
iconst_1
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
athrow
end local 4 20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
21: aload 0
aload 3
invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
22: goto 24
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object java.lang.Object top top java.lang.Throwable
StackMap stack: java.lang.Throwable
23: pop
24: StackMap locals:
StackMap stack:
aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 25 1 receiver Ljava/lang/Object;
0 25 2 obj Ljava/lang/Object;
7 25 3 prev Ljava/lang/Object;
12 18 4 receiverLib Lcom/oracle/truffle/api/interop/InteropLibrary;
13 18 5 objLib Lcom/oracle/truffle/api/interop/InteropLibrary;
19 20 4 t Ljava/lang/Throwable;
Exception table:
from to target type
7 8 9 Class java.lang.Throwable
14 15 16 Class java.lang.Throwable
11 14 18 Class java.lang.Throwable
11 14 20 any
18 20 20 any
21 22 23 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
languageContext
receiver
obj
public static int hashCode(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ifnull 2
aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.closed:Z
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.invalid:Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
ireturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: aload 0
invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
astore 2
4: goto 7
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
5: pop
6: aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
ireturn
7: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 3
start local 3 8: aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasIdentity:(Ljava/lang/Object;)Z
ifeq 14
9: aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
istore 5
10: aload 0
aload 2
invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
11: goto 13
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary top int
StackMap stack: java.lang.Throwable
12: pop
13: StackMap locals:
StackMap stack:
iload 5
ireturn
14: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
istore 5
15: aload 0
aload 2
invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
16: goto 18
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary top int
StackMap stack: java.lang.Throwable
17: pop
18: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 3 19: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
astore 3
start local 3 20: aload 0
aload 3
iconst_1
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
athrow
end local 3 21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
22: aload 0
aload 2
invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
23: goto 25
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object top java.lang.Throwable
StackMap stack: java.lang.Throwable
24: pop
25: StackMap locals:
StackMap stack:
aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 26 1 receiver Ljava/lang/Object;
3 26 2 prev Ljava/lang/Object;
8 19 3 receiverLib Lcom/oracle/truffle/api/interop/InteropLibrary;
20 21 3 t Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
10 11 12 Class java.lang.Throwable
15 16 17 Class java.lang.Throwable
7 10 19 Class java.lang.Throwable
14 15 19 Class java.lang.Throwable
7 10 21 any
14 15 21 any
19 21 21 any
22 23 24 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
languageContext
receiver
public static java.lang.String toString(com.oracle.truffle.polyglot.HostWrapper);
descriptor: (Lcom/oracle/truffle/polyglot/HostWrapper;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface com.oracle.truffle.polyglot.HostWrapper.getLanguageContext:()Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
astore 1
start local 1 1: aload 0
invokeinterface com.oracle.truffle.polyglot.HostWrapper.getGuestObject:()Ljava/lang/Object;
astore 2
start local 2 2: aload 1
ifnull 6
3: aload 1
aload 2
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.toString:()Ljava/lang/String;
4: areturn
5: StackMap locals: com.oracle.truffle.polyglot.HostWrapper com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object
StackMap stack: java.lang.Exception
pop
6: StackMap locals:
StackMap stack:
ldc "Error in toString()"
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 thisObj Lcom/oracle/truffle/polyglot/HostWrapper;
1 7 1 thisContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
2 7 2 thisGuestObject Ljava/lang/Object;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
MethodParameters:
Name Flags
thisObj
}
SourceFile: "HostWrapper.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives