final class com.oracle.truffle.polyglot.HostObject implements com.oracle.truffle.api.interop.TruffleObject
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.polyglot.HostObject
super_class: java.lang.Object
{
static final int LIMIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final java.time.ZoneId UTC;
descriptor: Ljava/time/ZoneId;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final com.oracle.truffle.polyglot.HostObject NULL;
descriptor: Lcom/oracle/truffle/polyglot/HostObject;
flags: (0x0018) ACC_STATIC, ACC_FINAL
final java.lang.Object obj;
descriptor: Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
flags: (0x0010) ACC_FINAL
private final java.lang.Object ;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/polyglot/HostObject;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.polyglot.HostObject.$assertionsDisabled:Z
3: ldc "UTC"
invokestatic java.time.ZoneId.of:(Ljava/lang/String;)Ljava/time/ZoneId;
putstatic com.oracle.truffle.polyglot.HostObject.UTC:Ljava/time/ZoneId;
4: new com.oracle.truffle.polyglot.HostObject
dup
aconst_null
aconst_null
aconst_null
invokespecial com.oracle.truffle.polyglot.HostObject.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
putstatic com.oracle.truffle.polyglot.HostObject.NULL:Lcom/oracle/truffle/polyglot/HostObject;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.Object, com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
2: aload 0
aload 2
putfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
3: aload 0
aload 3
putfield com.oracle.truffle.polyglot.HostObject.extraInfo:Ljava/lang/Object;
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/polyglot/HostObject;
0 5 1 obj Ljava/lang/Object;
0 5 2 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 5 3 extraInfo Ljava/lang/Object;
MethodParameters:
Name Flags
obj
languageContext
extraInfo
static com.oracle.truffle.polyglot.HostObject forClass(java.lang.Class<?>, com.oracle.truffle.polyglot.PolyglotLanguageContext);
descriptor: (Ljava/lang/Class;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.polyglot.HostObject.$assertionsDisabled:Z
ifne 1
aload 0
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new com.oracle.truffle.polyglot.HostObject
dup
aload 0
aload 1
aconst_null
invokespecial com.oracle.truffle.polyglot.HostObject.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Ljava/lang/Class<*>;
0 2 1 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
Signature: (Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
MethodParameters:
Name Flags
clazz
languageContext
static com.oracle.truffle.polyglot.HostObject forStaticClass(java.lang.Class<?>, com.oracle.truffle.polyglot.PolyglotLanguageContext);
descriptor: (Ljava/lang/Class;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.polyglot.HostObject.$assertionsDisabled:Z
ifne 1
aload 0
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new com.oracle.truffle.polyglot.HostObject
dup
aload 0
aload 1
aload 0
invokespecial com.oracle.truffle.polyglot.HostObject.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Ljava/lang/Class<*>;
0 2 1 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
Signature: (Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
MethodParameters:
Name Flags
clazz
languageContext
static com.oracle.truffle.polyglot.HostObject forObject(java.lang.Object, com.oracle.truffle.polyglot.PolyglotLanguageContext);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.polyglot.HostObject.$assertionsDisabled:Z
ifne 2
aload 0
ifnull 1
aload 0
instanceof java.lang.Class
ifeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.polyglot.HostObject
dup
aload 0
aload 1
aconst_null
invokespecial com.oracle.truffle.polyglot.HostObject.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 object Ljava/lang/Object;
0 3 1 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
MethodParameters:
Name Flags
object
languageContext
static com.oracle.truffle.polyglot.HostObject forException(java.lang.Throwable, com.oracle.truffle.polyglot.PolyglotLanguageContext, com.oracle.truffle.polyglot.HostException);
descriptor: (Ljava/lang/Throwable;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Lcom/oracle/truffle/polyglot/HostException;)Lcom/oracle/truffle/polyglot/HostObject;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: new com.oracle.truffle.polyglot.HostObject
dup
aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.polyglot.HostObject.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 object Ljava/lang/Throwable;
0 2 1 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 2 2 hostException Lcom/oracle/truffle/polyglot/HostException;
MethodParameters:
Name Flags
object
languageContext
hostException
static boolean isInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.polyglot.HostObject
ifne 1
aload 0
instanceof com.oracle.truffle.polyglot.HostException
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
static boolean isHostObjectInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.polyglot.HostObject
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
static java.lang.Object withContext(java.lang.Object, com.oracle.truffle.polyglot.PolyglotLanguageContext);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
instanceof com.oracle.truffle.polyglot.HostObject
ifeq 3
1: aload 0
checkcast com.oracle.truffle.polyglot.HostObject
astore 2
start local 2 2: new com.oracle.truffle.polyglot.HostObject
dup
aload 2
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
aload 1
aload 2
getfield com.oracle.truffle.polyglot.HostObject.extraInfo:Ljava/lang/Object;
invokespecial com.oracle.truffle.polyglot.HostObject.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.polyglot.HostException
ifeq 5
4: new com.oracle.truffle.polyglot.HostException
dup
aload 0
checkcast com.oracle.truffle.polyglot.HostException
invokevirtual com.oracle.truffle.polyglot.HostException.getOriginal:()Ljava/lang/Throwable;
aload 1
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
invokespecial com.oracle.truffle.polyglot.HostException.<init>:(Ljava/lang/Throwable;Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)V
areturn
5: StackMap locals:
StackMap stack:
ldc "Parameter must be HostObject or HostException."
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 obj Ljava/lang/Object;
0 6 1 context Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
2 3 2 hostObject Lcom/oracle/truffle/polyglot/HostObject;
MethodParameters:
Name Flags
obj
context
static boolean isJavaInstance(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.polyglot.HostObject.isInstance:(Ljava/lang/Object;)Z
ifeq 3
1: aload 1
invokestatic com.oracle.truffle.polyglot.HostObject.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ireturn
end local 2 3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 targetType Ljava/lang/Class<*>;
0 4 1 javaObject Ljava/lang/Object;
2 3 2 value Ljava/lang/Object;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;)Z
MethodParameters:
Name Flags
targetType
javaObject
static java.lang.Object valueOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.polyglot.HostException
ifeq 2
1: aload 0
checkcast com.oracle.truffle.polyglot.HostException
invokevirtual com.oracle.truffle.polyglot.HostException.getOriginal:()Ljava/lang/Throwable;
areturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.polyglot.HostObject
astore 1
start local 1 3: aload 1
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value Ljava/lang/Object;
3 4 1 obj Lcom/oracle/truffle/polyglot/HostObject;
MethodParameters:
Name Flags
value
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
boolean isClass();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.lang.Class
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
boolean isArrayClass();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
boolean isDefaultClass();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
boolean hasMembers();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object getMembers(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 2
1: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getEngine:()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getLookupClass:()Ljava/lang/Class;
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isStaticClass:()Z
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
iload 1
invokestatic com.oracle.truffle.polyglot.HostInteropReflect.findUniquePublicMemberNames:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Class;ZZZ)[Ljava/lang/String;
astore 2
start local 2 3: new com.oracle.truffle.polyglot.HostObject$KeysArray
dup
aload 2
invokespecial com.oracle.truffle.polyglot.HostObject$KeysArray.<init>:([Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 includeInternal Z
3 4 2 fields [Ljava/lang/String;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
includeInternal
java.lang.Object readMember(java.lang.String, com.oracle.truffle.polyglot.HostObject$LookupFieldNode, com.oracle.truffle.polyglot.HostObject$ReadFieldNode, com.oracle.truffle.polyglot.HostObject$LookupMethodNode, com.oracle.truffle.polyglot.HostObject$LookupInnerClassNode, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/polyglot/HostObject$LookupFieldNode;Lcom/oracle/truffle/polyglot/HostObject$ReadFieldNode;Lcom/oracle/truffle/polyglot/HostObject$LookupMethodNode;Lcom/oracle/truffle/polyglot/HostObject$LookupInnerClassNode;Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=13, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 3
1: aload 6
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
2: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isStaticClass:()Z
istore 7
start local 7 4: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getLookupClass:()Ljava/lang/Class;
astore 8
start local 8 5: aload 2
aload 0
aload 8
aload 1
iload 7
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupFieldNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Class;Ljava/lang/String;Z)Lcom/oracle/truffle/polyglot/HostFieldDesc;
astore 9
start local 9 6: aload 9
ifnull 8
7: aload 3
aload 9
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject$ReadFieldNode.execute:(Lcom/oracle/truffle/polyglot/HostFieldDesc;Lcom/oracle/truffle/polyglot/HostObject;)Ljava/lang/Object;
areturn
8: StackMap locals: int java.lang.Class com.oracle.truffle.polyglot.HostFieldDesc
StackMap stack:
aload 4
aload 0
aload 8
aload 1
iload 7
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupMethodNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Class;Ljava/lang/String;Z)Lcom/oracle/truffle/polyglot/HostMethodDesc;
astore 10
start local 10 9: aload 10
ifnull 11
10: new com.oracle.truffle.polyglot.HostFunction
dup
aload 10
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokespecial com.oracle.truffle.polyglot.HostFunction.<init>:(Lcom/oracle/truffle/polyglot/HostMethodDesc;Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)V
areturn
11: StackMap locals: com.oracle.truffle.polyglot.HostMethodDesc
StackMap stack:
iload 7
ifeq 18
12: aload 5
astore 11
start local 11 13: ldc "class"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: aload 8
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokestatic com.oracle.truffle.polyglot.HostObject.forClass:(Ljava/lang/Class;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
areturn
15: StackMap locals: com.oracle.truffle.polyglot.HostObject$LookupInnerClassNode
StackMap stack:
aload 11
aload 8
aload 1
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupInnerClassNode.execute:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
astore 12
start local 12 16: aload 12
ifnull 22
17: aload 12
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokestatic com.oracle.truffle.polyglot.HostObject.forStaticClass:(Ljava/lang/Class;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
areturn
end local 12 end local 11 18: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifeq 20
ldc "static"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
19: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokestatic com.oracle.truffle.polyglot.HostObject.forStaticClass:(Ljava/lang/Class;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
areturn
20: StackMap locals:
StackMap stack:
ldc "super"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokestatic com.oracle.truffle.polyglot.HostAdapterFactory.isAdapterInstance:(Ljava/lang/Object;)Z
ifeq 22
21: aload 0
invokestatic com.oracle.truffle.polyglot.HostAdapterFactory.getSuperAdapter:(Lcom/oracle/truffle/polyglot/HostObject;)Ljava/lang/Object;
areturn
22: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
23: aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 24 1 name Ljava/lang/String;
0 24 2 lookupField Lcom/oracle/truffle/polyglot/HostObject$LookupFieldNode;
0 24 3 readField Lcom/oracle/truffle/polyglot/HostObject$ReadFieldNode;
0 24 4 lookupMethod Lcom/oracle/truffle/polyglot/HostObject$LookupMethodNode;
0 24 5 lookupInnerClass Lcom/oracle/truffle/polyglot/HostObject$LookupInnerClassNode;
0 24 6 error Lcom/oracle/truffle/api/profiles/BranchProfile;
4 24 7 isStatic Z
5 24 8 lookupClass Ljava/lang/Class<*>;
6 24 9 foundField Lcom/oracle/truffle/polyglot/HostFieldDesc;
9 24 10 foundMethod Lcom/oracle/truffle/polyglot/HostMethodDesc;
13 18 11 lookupInnerClassNode Lcom/oracle/truffle/polyglot/HostObject$LookupInnerClassNode;
16 18 12 innerclass Ljava/lang/Class<*>;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnknownIdentifierException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookupField")
com.oracle.truffle.api.dsl.Cached()
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "readField")
com.oracle.truffle.api.dsl.Cached()
3:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookupMethod")
com.oracle.truffle.api.dsl.Cached()
4:
com.oracle.truffle.api.dsl.Cached()
5:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
name
lookupField
readField
lookupMethod
lookupInnerClass
error
boolean isMemberInsertable(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 1 1 member Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
member
void writeMember(java.lang.String, java.lang.Object, com.oracle.truffle.polyglot.HostObject$LookupFieldNode, com.oracle.truffle.polyglot.HostObject$WriteFieldNode, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lcom/oracle/truffle/polyglot/HostObject$LookupFieldNode;Lcom/oracle/truffle/polyglot/HostObject$WriteFieldNode;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 3
1: aload 5
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
2: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
3: StackMap locals:
StackMap stack:
aload 3
aload 0
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getLookupClass:()Ljava/lang/Class;
aload 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isStaticClass:()Z
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupFieldNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Class;Ljava/lang/String;Z)Lcom/oracle/truffle/polyglot/HostFieldDesc;
astore 6
start local 6 4: aload 6
ifnonnull 7
5: aload 5
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
6: aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
7: StackMap locals: com.oracle.truffle.polyglot.HostFieldDesc
StackMap stack:
aload 4
aload 6
aload 0
aload 2
invokevirtual com.oracle.truffle.polyglot.HostObject$WriteFieldNode.execute:(Lcom/oracle/truffle/polyglot/HostFieldDesc;Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Object;)V
8: goto 12
StackMap locals:
StackMap stack: java.lang.RuntimeException
9: astore 7
start local 7 10: aload 5
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
11: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
aload 7
invokestatic com.oracle.truffle.polyglot.HostObject.getMessage:(Ljava/lang/RuntimeException;)Ljava/lang/String;
invokestatic com.oracle.truffle.api.interop.UnsupportedTypeException.create:([Ljava/lang/Object;Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnsupportedTypeException;
athrow
end local 7 12: StackMap locals:
StackMap stack:
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 this Lcom/oracle/truffle/polyglot/HostObject;
0 13 1 member Ljava/lang/String;
0 13 2 value Ljava/lang/Object;
0 13 3 lookupField Lcom/oracle/truffle/polyglot/HostObject$LookupFieldNode;
0 13 4 writeField Lcom/oracle/truffle/polyglot/HostObject$WriteFieldNode;
0 13 5 error Lcom/oracle/truffle/api/profiles/BranchProfile;
4 13 6 f Lcom/oracle/truffle/polyglot/HostFieldDesc;
10 12 7 e Ljava/lang/RuntimeException;
Exception table:
from to target type
7 8 9 Class java.lang.ClassCastException
7 8 9 Class java.lang.NullPointerException
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedTypeException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookupField")
com.oracle.truffle.api.dsl.Cached()
3:
com.oracle.truffle.api.dsl.Cached()
4:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
member
value
lookupField
writeField
error
private static java.lang.String getMessage(java.lang.RuntimeException);
descriptor: (Ljava/lang/RuntimeException;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/lang/RuntimeException;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
e
java.lang.Object invokeMember(java.lang.String, java.lang.Object[], com.oracle.truffle.polyglot.HostObject$LookupMethodNode, com.oracle.truffle.polyglot.HostExecuteNode, com.oracle.truffle.polyglot.HostObject$LookupFieldNode, com.oracle.truffle.polyglot.HostObject$ReadFieldNode, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;Lcom/oracle/truffle/polyglot/HostObject$LookupMethodNode;Lcom/oracle/truffle/polyglot/HostExecuteNode;Lcom/oracle/truffle/polyglot/HostObject$LookupFieldNode;Lcom/oracle/truffle/polyglot/HostObject$ReadFieldNode;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=14, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 3
1: aload 8
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
2: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isStaticClass:()Z
istore 9
start local 9 4: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getLookupClass:()Ljava/lang/Class;
astore 10
start local 10 5: aload 3
aload 0
aload 10
aload 1
iload 9
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupMethodNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Class;Ljava/lang/String;Z)Lcom/oracle/truffle/polyglot/HostMethodDesc;
astore 11
start local 11 6: aload 11
ifnull 8
7: aload 4
aload 11
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
aload 2
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokevirtual com.oracle.truffle.polyglot.HostExecuteNode.execute:(Lcom/oracle/truffle/polyglot/HostMethodDesc;Ljava/lang/Object;[Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
areturn
8: StackMap locals: int java.lang.Class com.oracle.truffle.polyglot.HostMethodDesc
StackMap stack:
aload 5
aload 0
aload 10
aload 1
iload 9
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupFieldNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Class;Ljava/lang/String;Z)Lcom/oracle/truffle/polyglot/HostFieldDesc;
astore 12
start local 12 9: aload 12
ifnull 13
10: aload 6
aload 12
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject$ReadFieldNode.execute:(Lcom/oracle/truffle/polyglot/HostFieldDesc;Lcom/oracle/truffle/polyglot/HostObject;)Ljava/lang/Object;
astore 13
start local 13 11: aload 7
aload 13
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
ifeq 13
12: aload 7
aload 13
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 13 13: StackMap locals: com.oracle.truffle.polyglot.HostFieldDesc
StackMap stack:
aload 8
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
14: aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 15 1 name Ljava/lang/String;
0 15 2 args [Ljava/lang/Object;
0 15 3 lookupMethod Lcom/oracle/truffle/polyglot/HostObject$LookupMethodNode;
0 15 4 executeMethod Lcom/oracle/truffle/polyglot/HostExecuteNode;
0 15 5 lookupField Lcom/oracle/truffle/polyglot/HostObject$LookupFieldNode;
0 15 6 readField Lcom/oracle/truffle/polyglot/HostObject$ReadFieldNode;
0 15 7 fieldValues Lcom/oracle/truffle/api/interop/InteropLibrary;
0 15 8 error Lcom/oracle/truffle/api/profiles/BranchProfile;
4 15 9 isStatic Z
5 15 10 lookupClass Ljava/lang/Class<*>;
6 15 11 foundMethod Lcom/oracle/truffle/polyglot/HostMethodDesc;
9 15 12 foundField Lcom/oracle/truffle/polyglot/HostFieldDesc;
11 13 13 fieldValue Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnknownIdentifierException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookupMethod")
com.oracle.truffle.api.dsl.Cached()
3:
com.oracle.truffle.api.dsl.Cached$Shared(value = "hostExecute")
com.oracle.truffle.api.dsl.Cached()
4:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookupField")
com.oracle.truffle.api.dsl.Cached()
5:
com.oracle.truffle.api.dsl.Cached$Shared(value = "readField")
com.oracle.truffle.api.dsl.Cached()
6:
com.oracle.truffle.api.library.CachedLibrary(limit = "5")
7:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
name
args
lookupMethod
executeMethod
lookupField
readField
fieldValues
error
boolean isArrayElementInsertable(long, com.oracle.truffle.polyglot.HostObject$IsListNode);
descriptor: (JLcom/oracle/truffle/polyglot/HostObject$IsListNode;)Z
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 3
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject$IsListNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;)Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getListSize:()I
i2l
lload 1
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 2 1 index J
0 2 3 isList Lcom/oracle/truffle/polyglot/HostObject$IsListNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "isList")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
index
isList
boolean hasArrayElements(com.oracle.truffle.polyglot.HostObject$IsListNode, com.oracle.truffle.polyglot.HostObject$IsArrayNode);
descriptor: (Lcom/oracle/truffle/polyglot/HostObject$IsListNode;Lcom/oracle/truffle/polyglot/HostObject$IsArrayNode;)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject$IsListNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;)Z
ifne 1
aload 2
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject$IsArrayNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 2 1 isList Lcom/oracle/truffle/polyglot/HostObject$IsListNode;
0 2 2 isArray Lcom/oracle/truffle/polyglot/HostObject$IsArrayNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "isList")
com.oracle.truffle.api.dsl.Cached()
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "isArray")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
isList
isArray
long getArraySize(com.oracle.truffle.polyglot.HostObject$IsArrayNode, com.oracle.truffle.polyglot.HostObject$IsListNode, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/polyglot/HostObject$IsArrayNode;Lcom/oracle/truffle/polyglot/HostObject$IsListNode;Lcom/oracle/truffle/api/profiles/BranchProfile;)J
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject$IsArrayNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;)Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
i2l
lreturn
2: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject$IsListNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;)Z
ifeq 4
3: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getListSize:()I
i2l
lreturn
4: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
5: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 6 1 isArray Lcom/oracle/truffle/polyglot/HostObject$IsArrayNode;
0 6 2 isList Lcom/oracle/truffle/polyglot/HostObject$IsListNode;
0 6 3 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "isArray")
com.oracle.truffle.api.dsl.Cached()
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "isList")
com.oracle.truffle.api.dsl.Cached()
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
isArray
isList
error
int getListSize();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(allowInlining = true)
boolean isNull();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean isExecutable(com.oracle.truffle.polyglot.HostObject$LookupFunctionalMethodNode);
descriptor: (Lcom/oracle/truffle/polyglot/HostObject$LookupFunctionalMethodNode;)Z
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifne 1
aload 1
aload 0
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getLookupClass:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupFunctionalMethodNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Class;)Lcom/oracle/truffle/polyglot/HostMethodDesc;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 2 1 lookupMethod Lcom/oracle/truffle/polyglot/HostObject$LookupFunctionalMethodNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookupFunctionalMethod")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
lookupMethod
java.lang.Object execute(java.lang.Object[], com.oracle.truffle.polyglot.HostExecuteNode, com.oracle.truffle.polyglot.HostObject$LookupFunctionalMethodNode, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/polyglot/HostExecuteNode;Lcom/oracle/truffle/polyglot/HostObject$LookupFunctionalMethodNode;Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifne 4
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifne 4
1: aload 3
aload 0
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getLookupClass:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupFunctionalMethodNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Class;)Lcom/oracle/truffle/polyglot/HostMethodDesc;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 2
aload 5
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokevirtual com.oracle.truffle.polyglot.HostExecuteNode.execute:(Lcom/oracle/truffle/polyglot/HostMethodDesc;Ljava/lang/Object;[Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
areturn
end local 5 4: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
5: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 6 1 args [Ljava/lang/Object;
0 6 2 doExecute Lcom/oracle/truffle/polyglot/HostExecuteNode;
0 6 3 lookupMethod Lcom/oracle/truffle/polyglot/HostObject$LookupFunctionalMethodNode;
0 6 4 error Lcom/oracle/truffle/api/profiles/BranchProfile;
2 4 5 method Lcom/oracle/truffle/polyglot/HostMethodDesc;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.ArityException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "hostExecute")
com.oracle.truffle.api.dsl.Cached()
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookupFunctionalMethod")
com.oracle.truffle.api.dsl.Cached()
3:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
args
doExecute
lookupMethod
error
boolean isNumber();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 3: aload 1
ldc Ljava/lang/Byte;
if_acmpeq 4
aload 1
ldc Ljava/lang/Short;
if_acmpeq 4
aload 1
ldc Ljava/lang/Integer;
if_acmpeq 4
aload 1
ldc Ljava/lang/Long;
if_acmpeq 4
aload 1
ldc Ljava/lang/Float;
if_acmpeq 4
aload 1
ldc Ljava/lang/Double;
if_acmpeq 4
iconst_0
ireturn
StackMap locals: java.lang.Class
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/polyglot/HostObject;
3 5 1 c Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean fitsInByte(com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInByte:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 3 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
MethodParameters:
Name Flags
numbers
boolean fitsInShort(com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInShort:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 3 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
MethodParameters:
Name Flags
numbers
boolean fitsInInt(com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 3 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
MethodParameters:
Name Flags
numbers
boolean fitsInLong(com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 3 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
MethodParameters:
Name Flags
numbers
boolean fitsInFloat(com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInFloat:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 3 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
MethodParameters:
Name Flags
numbers
boolean fitsInDouble(com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 3 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
MethodParameters:
Name Flags
numbers
byte asByte(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)B
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asByte:(Ljava/lang/Object;)B
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
0 4 2 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
numbers
error
short asShort(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)S
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asShort:(Ljava/lang/Object;)S
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
0 4 2 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
numbers
error
int asInt(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)I
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
0 4 2 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
numbers
error
long asLong(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)J
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
lreturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
0 4 2 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
numbers
error
float asFloat(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)F
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asFloat:(Ljava/lang/Object;)F
freturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
0 4 2 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
numbers
error
double asDouble(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)D
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNumber:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
dreturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 numbers Lcom/oracle/truffle/api/interop/InteropLibrary;
0 4 2 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
numbers
error
boolean isString();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 3: aload 1
ldc Ljava/lang/String;
if_acmpeq 4
aload 1
ldc Ljava/lang/Character;
if_acmpeq 4
iconst_0
ireturn
StackMap locals: java.lang.Class
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/polyglot/HostObject;
3 5 1 c Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.String asString(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isString:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 strings Lcom/oracle/truffle/api/interop/InteropLibrary;
0 4 2 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "numbers")
com.oracle.truffle.api.library.CachedLibrary(limit = "LIMIT")
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
strings
error
boolean isBoolean();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/Boolean;
if_acmpne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean asBoolean(com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/profiles/BranchProfile;)Z
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isBoolean:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
error
boolean isDate();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.LocalDate
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.LocalDateTime
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.Instant
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZonedDateTime
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.util.Date
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.time.LocalDate asDate();
descriptor: ()Ljava/time/LocalDate;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.LocalDate
ifeq 2
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.LocalDate
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.LocalDateTime
ifeq 4
3: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.LocalDateTime
invokevirtual java.time.LocalDateTime.toLocalDate:()Ljava/time/LocalDate;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.Instant
ifeq 6
5: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.Instant
getstatic com.oracle.truffle.polyglot.HostObject.UTC:Ljava/time/ZoneId;
invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.toLocalDate:()Ljava/time/LocalDate;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZonedDateTime
ifeq 8
7: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.ZonedDateTime
invokevirtual java.time.ZonedDateTime.toLocalDate:()Ljava/time/LocalDate;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.util.Date
ifeq 10
9: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.util.Date
invokevirtual java.util.Date.toInstant:()Ljava/time/Instant;
getstatic com.oracle.truffle.polyglot.HostObject.UTC:Ljava/time/ZoneId;
invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.toLocalDate:()Ljava/time/LocalDate;
areturn
10: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/polyglot/HostObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean isTime();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.LocalTime
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.LocalDateTime
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.Instant
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZonedDateTime
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.util.Date
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.time.LocalTime asTime();
descriptor: ()Ljava/time/LocalTime;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.LocalTime
ifeq 2
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.LocalTime
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.LocalDateTime
ifeq 4
3: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.LocalDateTime
invokevirtual java.time.LocalDateTime.toLocalTime:()Ljava/time/LocalTime;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZonedDateTime
ifeq 6
5: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.ZonedDateTime
invokevirtual java.time.ZonedDateTime.toLocalTime:()Ljava/time/LocalTime;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.Instant
ifeq 8
7: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.Instant
getstatic com.oracle.truffle.polyglot.HostObject.UTC:Ljava/time/ZoneId;
invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.toLocalTime:()Ljava/time/LocalTime;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.util.Date
ifeq 10
9: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.util.Date
invokevirtual java.util.Date.toInstant:()Ljava/time/Instant;
getstatic com.oracle.truffle.polyglot.HostObject.UTC:Ljava/time/ZoneId;
invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.toLocalTime:()Ljava/time/LocalTime;
areturn
10: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/polyglot/HostObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean isTimeZone();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZoneId
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.Instant
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZonedDateTime
ifne 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.util.Date
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.time.ZoneId asTimeZone();
descriptor: ()Ljava/time/ZoneId;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZoneId
ifeq 2
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.ZoneId
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZonedDateTime
ifeq 4
3: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.ZonedDateTime
invokevirtual java.time.ZonedDateTime.getZone:()Ljava/time/ZoneId;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.Instant
ifeq 6
5: getstatic com.oracle.truffle.polyglot.HostObject.UTC:Ljava/time/ZoneId;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.util.Date
ifeq 8
7: getstatic com.oracle.truffle.polyglot.HostObject.UTC:Ljava/time/ZoneId;
areturn
8: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/polyglot/HostObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.time.Instant asInstant();
descriptor: ()Ljava/time/Instant;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.ZonedDateTime
ifeq 2
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.ZonedDateTime
invokevirtual java.time.ZonedDateTime.toInstant:()Ljava/time/Instant;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.Instant
ifeq 4
3: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.Instant
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.util.Date
ifeq 6
5: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.util.Date
invokevirtual java.util.Date.toInstant:()Ljava/time/Instant;
areturn
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/polyglot/HostObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean isDuration();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.time.Duration
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.time.Duration asDuration();
descriptor: ()Ljava/time/Duration;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isDuration:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.time.Duration
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean isException();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.lang.Throwable
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.interop.ExceptionType getExceptionType(com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/profiles/BranchProfile;)Lcom/oracle/truffle/api/interop/ExceptionType;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 4
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
instanceof java.lang.InterruptedException
ifeq 2
getstatic com.oracle.truffle.api.interop.ExceptionType.INTERRUPT:Lcom/oracle/truffle/api/interop/ExceptionType;
goto 3
StackMap locals:
StackMap stack:
2: getstatic com.oracle.truffle.api.interop.ExceptionType.RUNTIME_ERROR:Lcom/oracle/truffle/api/interop/ExceptionType;
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.ExceptionType
3: areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
5: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 6 1 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
error
boolean isExceptionIncompleteSource(com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/profiles/BranchProfile;)Z
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 4 1 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
error
int getExceptionExitStatus(com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/profiles/BranchProfile;)I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
1: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 2 1 error Lcom/oracle/truffle/api/profiles/BranchProfile;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
error
boolean hasExceptionMessage();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Throwable
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
java.lang.Object getExceptionMessage(com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Throwable
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.String
2: astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
areturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
6: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 7 1 error Lcom/oracle/truffle/api/profiles/BranchProfile;
3 7 2 message Ljava/lang/String;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
error
boolean hasExceptionCause();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Throwable
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
instanceof com.oracle.truffle.api.TruffleException
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
java.lang.Object getExceptionCause();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 4
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Throwable
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 1
start local 1 2: aload 1
instanceof com.oracle.truffle.api.TruffleException
ifeq 4
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/polyglot/HostObject;
2 4 1 cause Ljava/lang/Throwable;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean hasExceptionStackTrace();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Throwable
invokestatic com.oracle.truffle.api.TruffleStackTrace.fillIn:(Ljava/lang/Throwable;)Lcom/oracle/truffle/api/TruffleStackTrace;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
java.lang.Object getExceptionStackTrace();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 2
1: getstatic com.oracle.truffle.polyglot.EngineAccessor.EXCEPTION:Lcom/oracle/truffle/api/impl/Accessor$ExceptionSupport;
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.impl.Accessor$ExceptionSupport.getExceptionStackTrace:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
java.lang.RuntimeException throwException(com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/RuntimeException;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isException:()Z
ifeq 5
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.extraInfo:Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.HostException
astore 2
start local 2 2: aload 2
ifnonnull 4
3: new com.oracle.truffle.polyglot.HostException
dup
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Throwable
invokespecial com.oracle.truffle.polyglot.HostException.<init>:(Ljava/lang/Throwable;)V
astore 2
4: StackMap locals: com.oracle.truffle.polyglot.HostException
StackMap stack:
aload 2
athrow
end local 2 5: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
6: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 7 1 error Lcom/oracle/truffle/api/profiles/BranchProfile;
2 5 2 ex Lcom/oracle/truffle/polyglot/HostException;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
error
boolean hasLanguage();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> getLanguage();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Lcom/oracle/truffle/polyglot/HostLanguage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
Signature: ()Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.String toDisplayString(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
iconst_0
iload 1
invokestatic com.oracle.truffle.polyglot.HostObject.toStringImpl:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;IZ)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 1 1 allowSideEffects Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
allowSideEffects
static java.lang.String toStringImpl(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, int, boolean);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;IZ)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: ldc "null"
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 5
3: aload 0
aload 1
iload 2
iload 3
invokestatic com.oracle.truffle.polyglot.HostObject.arrayToString:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;IZ)Ljava/lang/String;
4: areturn
5: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Class
ifeq 8
6: aload 1
checkcast java.lang.Class
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
7: areturn
8: StackMap locals:
StackMap stack:
iload 3
ifeq 11
9: aload 1
invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
10: areturn
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: areturn
13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 14: aload 0
aload 4
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.hostToGuestException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 context Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 15 1 javaObject Ljava/lang/Object;
0 15 2 level I
0 15 3 allowSideEffects Z
14 15 4 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 13 Class java.lang.Throwable
2 4 13 Class java.lang.Throwable
5 7 13 Class java.lang.Throwable
8 10 13 Class java.lang.Throwable
11 12 13 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
javaObject
level
allowSideEffects
private static java.lang.String arrayToString(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, int, boolean);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;IZ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: ldc "null"
areturn
2: StackMap locals:
StackMap stack:
iload 2
ifle 4
3: ldc "[...]"
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
iconst_1
isub
istore 4
start local 4 5: iload 4
iconst_m1
if_icmpne 7
6: ldc "[]"
areturn
7: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 8: aload 5
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: iconst_0
istore 6
start local 6 10: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
iload 6
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 7
start local 7 11: aload 5
aload 0
aload 7
iload 2
iconst_1
iadd
iload 3
invokestatic com.oracle.truffle.polyglot.HostObject.toStringImpl:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;IZ)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: iload 6
iload 4
if_icmpne 14
13: aload 5
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
14: StackMap locals: java.lang.Object
StackMap stack:
aload 5
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 15: iinc 6 1
goto 10
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 16 0 context Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 16 1 array Ljava/lang/Object;
0 16 2 level I
0 16 3 allowSideEffects Z
5 16 4 iMax I
8 16 5 b Ljava/lang/StringBuilder;
10 16 6 i I
11 15 7 arrayValue Ljava/lang/Object;
MethodParameters:
Name Flags
context
array
level
allowSideEffects
boolean hasMetaObject();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isNull:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object getMetaObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.hasMetaObject:()Z
ifeq 4
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
astore 1
start local 1 2: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 2
start local 2 3: aload 2
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokestatic com.oracle.truffle.polyglot.HostObject.forClass:(Ljava/lang/Class;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
areturn
end local 2 end local 1 4: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/polyglot/HostObject;
2 4 1 javaObject Ljava/lang/Object;
3 4 2 javaType Ljava/lang/Class<*>;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean isMetaObject();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object getMetaQualifiedName();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
java.lang.Object getMetaSimpleName();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean isMetaInstance(java.lang.Object, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/BranchProfile;)Z
flags: (0x0000)
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifeq 17
1: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
astore 3
start local 3 2: aload 1
invokestatic com.oracle.truffle.polyglot.HostObject.isInstance:(Ljava/lang/Object;)Z
ifeq 7
3: aload 1
invokestatic com.oracle.truffle.polyglot.HostObject.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 4: aload 4
ifnonnull 6
5: iconst_0
ireturn
6: StackMap locals: java.lang.Class java.lang.Object
StackMap stack:
aload 3
aload 4
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ireturn
end local 4 7: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.polyglot.PolyglotProxy.isProxyGuestObject:(Ljava/lang/Object;)Z
ifeq 10
8: aload 1
checkcast com.oracle.truffle.polyglot.PolyglotProxy
astore 4
start local 4 9: aload 3
aload 4
getfield com.oracle.truffle.polyglot.PolyglotProxy.proxy:Lorg/graalvm/polyglot/proxy/Proxy;
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ireturn
end local 4 10: StackMap locals:
StackMap stack:
aload 1
aload 3
aload 3
11: aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
aload 3
invokestatic com.oracle.truffle.polyglot.ToHostNode.allowsImplementation:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Class;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
12: aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
bipush 8
13: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 1
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
14: invokestatic com.oracle.truffle.polyglot.TargetMappingNode.getUncached:()Lcom/oracle/truffle/polyglot/TargetMappingNode;
15: invokestatic com.oracle.truffle.polyglot.ToHostNode.canConvert:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;Ljava/lang/Boolean;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;ILcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/polyglot/TargetMappingNode;)Z
istore 4
start local 4 16: iload 4
ireturn
end local 4 end local 3 17: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
18: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 19 1 other Ljava/lang/Object;
0 19 2 error Lcom/oracle/truffle/api/profiles/BranchProfile;
2 17 3 c Ljava/lang/Class<*>;
4 7 4 otherHostObj Ljava/lang/Object;
9 10 4 otherHost Lcom/oracle/truffle/polyglot/PolyglotProxy;
16 17 4 canConvert Z
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
other
error
boolean isStaticClass();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.extraInfo:Ljava/lang/Object;
instanceof java.lang.Class
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
java.lang.Class<?> getObjectClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/HostObject;
Signature: ()Ljava/lang/Class<*>;
java.lang.Class<?> asStaticClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.polyglot.HostObject.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isStaticClass:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Class
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
Signature: ()Ljava/lang/Class<*>;
java.lang.Class<?> asClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.polyglot.HostObject.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
checkcast java.lang.Class
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject;
Signature: ()Ljava/lang/Class<*>;
java.lang.Class<?> getLookupClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isStaticClass:()Z
ifeq 4
3: aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asStaticClass:()Ljava/lang/Class;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/polyglot/HostObject;
Signature: ()Ljava/lang/Class<*>;
com.oracle.truffle.polyglot.PolyglotEngineImpl getEngine();
descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
ifnull 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.polyglot.PolyglotContextImpl
2: astore 1
start local 1 3: aload 1
ifnonnull 5
4: invokestatic com.oracle.truffle.polyglot.PolyglotContextImpl.currentNotEntered:()Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
astore 1
5: StackMap locals: com.oracle.truffle.polyglot.PolyglotContextImpl
StackMap stack:
aload 1
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/polyglot/HostObject;
3 6 1 context Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
com.oracle.truffle.polyglot.HostClassCache getHostClassCache();
descriptor: ()Lcom/oracle/truffle/polyglot/HostClassCache;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.polyglot.HostClassCache.forInstance:(Lcom/oracle/truffle/polyglot/HostObject;)Lcom/oracle/truffle/polyglot/HostClassCache;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject;
static int identityHashCode(com.oracle.truffle.polyglot.HostObject);
descriptor: (Lcom/oracle/truffle/polyglot/HostObject;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 receiver Lcom/oracle/truffle/polyglot/HostObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
receiver
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.polyglot.HostObject
ifeq 4
1: aload 1
checkcast com.oracle.truffle.polyglot.HostObject
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
aload 2
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
if_acmpne 3
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
aload 2
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
if_acmpne 3
iconst_1
ireturn
StackMap locals: com.oracle.truffle.polyglot.HostObject
StackMap stack:
3: iconst_0
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/polyglot/HostObject;
0 5 1 o Ljava/lang/Object;
2 4 2 other Lcom/oracle/truffle/polyglot/HostObject;
MethodParameters:
Name Flags
o
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
ifnonnull 2
1: ldc "null"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isClass:()Z
ifeq 4
3: new java.lang.StringBuilder
dup
ldc "JavaClass["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "JavaObject["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.getObjectClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/polyglot/HostObject;
}
SourceFile: "HostObject.java"
NestMembers:
com.oracle.truffle.polyglot.HostObject$ArrayGet com.oracle.truffle.polyglot.HostObject$ArraySet com.oracle.truffle.polyglot.HostObject$Instantiate com.oracle.truffle.polyglot.HostObject$IsArrayElementExisting com.oracle.truffle.polyglot.HostObject$IsArrayElementRemovable com.oracle.truffle.polyglot.HostObject$IsArrayNode com.oracle.truffle.polyglot.HostObject$IsIdenticalOrUndefined com.oracle.truffle.polyglot.HostObject$IsInstantiable com.oracle.truffle.polyglot.HostObject$IsListNode com.oracle.truffle.polyglot.HostObject$IsMemberInternal com.oracle.truffle.polyglot.HostObject$IsMemberInvocable com.oracle.truffle.polyglot.HostObject$IsMemberModifiable com.oracle.truffle.polyglot.HostObject$IsMemberReadable com.oracle.truffle.polyglot.HostObject$KeysArray com.oracle.truffle.polyglot.HostObject$LookupConstructorNode com.oracle.truffle.polyglot.HostObject$LookupFieldNode com.oracle.truffle.polyglot.HostObject$LookupFunctionalMethodNode com.oracle.truffle.polyglot.HostObject$LookupInnerClassNode com.oracle.truffle.polyglot.HostObject$LookupMethodNode com.oracle.truffle.polyglot.HostObject$ReadArrayElement com.oracle.truffle.polyglot.HostObject$ReadFieldNode com.oracle.truffle.polyglot.HostObject$RemoveArrayElement com.oracle.truffle.polyglot.HostObject$WriteArrayElement com.oracle.truffle.polyglot.HostObject$WriteFieldNode
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
public abstract ExceptionSupport = com.oracle.truffle.api.impl.Accessor$ExceptionSupport of com.oracle.truffle.api.impl.Accessor
abstract ArrayGet = com.oracle.truffle.polyglot.HostObject$ArrayGet of com.oracle.truffle.polyglot.HostObject
abstract ArraySet = com.oracle.truffle.polyglot.HostObject$ArraySet of com.oracle.truffle.polyglot.HostObject
Instantiate = com.oracle.truffle.polyglot.HostObject$Instantiate of com.oracle.truffle.polyglot.HostObject
IsArrayElementExisting = com.oracle.truffle.polyglot.HostObject$IsArrayElementExisting of com.oracle.truffle.polyglot.HostObject
IsArrayElementRemovable = com.oracle.truffle.polyglot.HostObject$IsArrayElementRemovable of com.oracle.truffle.polyglot.HostObject
abstract IsArrayNode = com.oracle.truffle.polyglot.HostObject$IsArrayNode of com.oracle.truffle.polyglot.HostObject
final IsIdenticalOrUndefined = com.oracle.truffle.polyglot.HostObject$IsIdenticalOrUndefined of com.oracle.truffle.polyglot.HostObject
IsInstantiable = com.oracle.truffle.polyglot.HostObject$IsInstantiable of com.oracle.truffle.polyglot.HostObject
abstract IsListNode = com.oracle.truffle.polyglot.HostObject$IsListNode of com.oracle.truffle.polyglot.HostObject
IsMemberInternal = com.oracle.truffle.polyglot.HostObject$IsMemberInternal of com.oracle.truffle.polyglot.HostObject
IsMemberInvocable = com.oracle.truffle.polyglot.HostObject$IsMemberInvocable of com.oracle.truffle.polyglot.HostObject
IsMemberModifiable = com.oracle.truffle.polyglot.HostObject$IsMemberModifiable of com.oracle.truffle.polyglot.HostObject
IsMemberReadable = com.oracle.truffle.polyglot.HostObject$IsMemberReadable of com.oracle.truffle.polyglot.HostObject
final KeysArray = com.oracle.truffle.polyglot.HostObject$KeysArray of com.oracle.truffle.polyglot.HostObject
abstract LookupConstructorNode = com.oracle.truffle.polyglot.HostObject$LookupConstructorNode of com.oracle.truffle.polyglot.HostObject
abstract LookupFieldNode = com.oracle.truffle.polyglot.HostObject$LookupFieldNode of com.oracle.truffle.polyglot.HostObject
abstract LookupFunctionalMethodNode = com.oracle.truffle.polyglot.HostObject$LookupFunctionalMethodNode of com.oracle.truffle.polyglot.HostObject
abstract LookupInnerClassNode = com.oracle.truffle.polyglot.HostObject$LookupInnerClassNode of com.oracle.truffle.polyglot.HostObject
abstract LookupMethodNode = com.oracle.truffle.polyglot.HostObject$LookupMethodNode of com.oracle.truffle.polyglot.HostObject
abstract ReadArrayElement = com.oracle.truffle.polyglot.HostObject$ReadArrayElement of com.oracle.truffle.polyglot.HostObject
abstract ReadFieldNode = com.oracle.truffle.polyglot.HostObject$ReadFieldNode of com.oracle.truffle.polyglot.HostObject
RemoveArrayElement = com.oracle.truffle.polyglot.HostObject$RemoveArrayElement of com.oracle.truffle.polyglot.HostObject
WriteArrayElement = com.oracle.truffle.polyglot.HostObject$WriteArrayElement of com.oracle.truffle.polyglot.HostObject
abstract WriteFieldNode = com.oracle.truffle.polyglot.HostObject$WriteFieldNode of com.oracle.truffle.polyglot.HostObject
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)