public abstract class com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode extends com.oracle.truffle.js.nodes.JavaScriptBaseNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode
super_class: com.oracle.truffle.js.nodes.JavaScriptBaseNode
{
private com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode ordinaryToPrimitiveNode;
descriptor: Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.IsPrimitiveNode isPrimitiveNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/IsPrimitiveNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
protected final com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint hint;
descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$js$nodes$cast$JSToPrimitiveNode$Hint;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
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.js.nodes.cast.JSToPrimitiveNode.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint);
descriptor: (Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.js.nodes.JavaScriptBaseNode.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.hint:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 3 1 hint Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
MethodParameters:
Name Flags
hint
public abstract java.lang.Object execute(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
value
public static com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode createHintNone();
descriptor: ()Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.None:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
invokestatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.create:(Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode createHintString();
descriptor: ()Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.String:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
invokestatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.create:(Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode createHintNumber();
descriptor: ()Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.Number:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
invokestatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.create:(Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode create(com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint);
descriptor: (Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tJSToPrimitiveNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
hint
protected int doInt(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected com.oracle.truffle.js.runtime.SafeInteger doSafeInteger(com.oracle.truffle.js.runtime.SafeInteger);
descriptor: (Lcom/oracle/truffle/js/runtime/SafeInteger;)Lcom/oracle/truffle/js/runtime/SafeInteger;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value Lcom/oracle/truffle/js/runtime/SafeInteger;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected long doLong(long);
descriptor: (J)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected double doDouble(double);
descriptor: (D)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: dload 1
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value D
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected boolean doBoolean(boolean);
descriptor: (Z)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected java.lang.CharSequence doString(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value Ljava/lang/CharSequence;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected com.oracle.truffle.js.runtime.Symbol doSymbol(com.oracle.truffle.js.runtime.Symbol);
descriptor: (Lcom/oracle/truffle/js/runtime/Symbol;)Lcom/oracle/truffle/js/runtime/Symbol;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value Lcom/oracle/truffle/js/runtime/Symbol;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected com.oracle.truffle.js.runtime.BigInt doBigInt(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
protected com.oracle.truffle.api.object.DynamicObject doNull(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isJSNull(value)"})
MethodParameters:
Name Flags
value
protected com.oracle.truffle.api.object.DynamicObject doUndefined(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 1 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isUndefined(value)"})
MethodParameters:
Name Flags
value
protected java.lang.Object doJSObject(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.nodes.access.PropertyNode, com.oracle.truffle.js.nodes.access.IsPrimitiveNode, com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.js.nodes.function.JSFunctionCallNode);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/access/PropertyNode;Lcom/oracle/truffle/js/nodes/access/IsPrimitiveNode;Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=9, 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 2
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 1: aload 5
aload 7
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullOrUndefined:(Ljava/lang/Object;)Z
ifeq 2
iconst_0
goto 3
StackMap locals: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.nodes.access.PropertyNode com.oracle.truffle.js.nodes.access.IsPrimitiveNode com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.js.nodes.function.JSFunctionCallNode java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
2: iconst_1
StackMap locals: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.nodes.access.PropertyNode com.oracle.truffle.js.nodes.access.IsPrimitiveNode com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.js.nodes.function.JSFunctionCallNode java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
3: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 8
4: aload 6
aload 1
aload 7
aload 0
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.getHintName:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.JSArguments.createOneArg:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
astore 8
start local 8 5: aload 3
aload 8
invokevirtual com.oracle.truffle.js.nodes.access.IsPrimitiveNode.executeBoolean:(Ljava/lang/Object;)Z
ifeq 7
6: aload 8
areturn
7: StackMap locals: java.lang.Object
StackMap stack:
ldc "[Symbol.toPrimitive] method returned a non-primitive object"
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 8 8: StackMap locals:
StackMap stack:
aload 4
aload 1
invokevirtual com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
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 9 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 9 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 9 2 getToPrimitive Lcom/oracle/truffle/js/nodes/access/PropertyNode;
0 9 3 isPrimitive Lcom/oracle/truffle/js/nodes/access/IsPrimitiveNode;
0 9 4 ordinaryToPrimitive Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;
0 9 5 exoticToPrimProfile Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 9 6 callExoticToPrim Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
1 9 7 exoticToPrim Ljava/lang/Object;
5 8 8 result Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isJSObject(object)"})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "createGetToPrimitive(object)")
2:
com.oracle.truffle.api.dsl.Cached(value = "create()")
3:
com.oracle.truffle.api.dsl.Cached(value = "createOrdinaryToPrimitive(object)")
4:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
5:
com.oracle.truffle.api.dsl.Cached(value = "createCall()")
MethodParameters:
Name Flags
object
getToPrimitive
isPrimitive
ordinaryToPrimitive
exoticToPrimProfile
callExoticToPrim
private java.lang.String getHintName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.$SWITCH_TABLE$com$oracle$truffle$js$nodes$cast$JSToPrimitiveNode$Hint:()[I
aload 0
getfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.hint:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 3
2: 2
3: 1
default: 3
}
1: StackMap locals:
StackMap stack:
ldc "number"
areturn
2: StackMap locals:
StackMap stack:
ldc "string"
areturn
3: StackMap locals:
StackMap stack:
ldc "default"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
protected final boolean isHintString();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.hint:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.String:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
if_acmpne 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/js/nodes/cast/JSToPrimitiveNode;
protected final boolean isHintNumber();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.hint:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.Number:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
if_acmpeq 1
aload 0
getfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.hint:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.None:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
if_acmpeq 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/js/nodes/cast/JSToPrimitiveNode;
protected doTruffleJavaObject(, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.js.runtime.JSRealm>, com.oracle.truffle.js.nodes.interop.ImportValueNode);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 5
start local 5 3: aload 5
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 6
start local 6 4: aload 6
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostObject:(Ljava/lang/Object;)Z
ifeq 17
5: aload 6
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asHostObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 6: aload 7
ifnonnull 8
7: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
8: StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.api.TruffleLanguage$Env java.lang.Object
StackMap stack:
aload 7
invokestatic com.oracle.truffle.js.nodes.JSGuards.isJavaPrimitiveNumber:(Ljava/lang/Object;)Z
ifeq 10
9: aload 4
aload 7
invokevirtual com.oracle.truffle.js.nodes.interop.ImportValueNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
10: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 12
aload 7
instanceof java.lang.Number
ifeq 12
11: aload 7
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValueVirtual:(Ljava/lang/Number;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
12: StackMap locals:
StackMap stack:
aload 7
invokestatic com.oracle.truffle.js.nodes.JSGuards.isJavaArray:(Ljava/lang/Object;)Z
ifeq 14
13: aload 7
invokestatic com.oracle.truffle.js.runtime.JSRuntime.javaArrayToString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
14: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstant:(Ljava/lang/Object;)Z
ifeq 16
15: aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getDateValueFromInstant:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 7
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.hostToPrimitive:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 7 17: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
ifeq 20
18: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
19: areturn
20: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifeq 23
21: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
22: areturn
23: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
ifeq 35
24: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
ifeq 27
25: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
26: areturn
27: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
ifeq 30
28: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
29: areturn
30: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
ifeq 35
31: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
32: areturn
33: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
astore 7
start local 7 34: aload 1
aload 7
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorUnboxException:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropException;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 7 35: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.ordinaryToPrimitive:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 36: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 7
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 8
start local 8 37: aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
ifeq 40
38: aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
39: areturn
40: StackMap locals: java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifeq 43
41: aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
42: areturn
43: StackMap locals:
StackMap stack:
aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
ifeq 55
44: aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
ifeq 47
45: aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
46: areturn
47: StackMap locals:
StackMap stack:
aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
ifeq 50
48: aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
49: areturn
50: StackMap locals:
StackMap stack:
aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
ifeq 55
51: aload 8
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
52: areturn
53: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
astore 9
start local 9 54: aload 7
aload 9
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorUnboxException:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropException;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 9 55: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToPrimitiveValue:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
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 56 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 56 1 object Ljava/lang/Object;
0 56 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 56 3 contextRef Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/js/runtime/JSRealm;>;
0 56 4 toJSType Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;
3 56 5 realm Lcom/oracle/truffle/js/runtime/JSRealm;
4 56 6 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
6 17 7 javaObject Ljava/lang/Object;
34 35 7 e Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
36 56 7 result Ljava/lang/Object;
37 56 8 resultInterop Lcom/oracle/truffle/api/interop/InteropLibrary;
54 55 9 e Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
Exception table:
from to target type
17 19 33 Class com.oracle.truffle.api.interop.UnsupportedMessageException
20 22 33 Class com.oracle.truffle.api.interop.UnsupportedMessageException
23 26 33 Class com.oracle.truffle.api.interop.UnsupportedMessageException
27 29 33 Class com.oracle.truffle.api.interop.UnsupportedMessageException
30 32 33 Class com.oracle.truffle.api.interop.UnsupportedMessageException
37 39 53 Class com.oracle.truffle.api.interop.UnsupportedMessageException
40 42 53 Class com.oracle.truffle.api.interop.UnsupportedMessageException
43 46 53 Class com.oracle.truffle.api.interop.UnsupportedMessageException
47 49 53 Class com.oracle.truffle.api.interop.UnsupportedMessageException
50 52 53 Class com.oracle.truffle.api.interop.UnsupportedMessageException
Signature: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/js/runtime/JSRealm;>;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isForeignObject(object)"}, limit = "InteropLibraryLimit")
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.library.CachedLibrary(value = "object")
2:
com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/js/lang/JavaScriptLanguage;)
3:
com.oracle.truffle.api.dsl.Cached(value = "create()")
MethodParameters:
Name Flags
object
interop
contextRef
toJSType
private java.lang.Object hostToPrimitive(java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.isHintNumber:()Z
ifeq 8
1: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
ifeq 8
aload 2
aload 1
ldc "valueOf"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInvocable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 8
2: aload 2
aload 1
ldc "valueOf"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.importValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 3: goto 6
end local 4 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
4: pop
5: aconst_null
astore 4
start local 4 6: StackMap locals: java.lang.Object
StackMap stack:
aload 4
ifnull 8
aload 0
aload 4
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.isPrimitive:(Ljava/lang/Object;)Z
ifeq 8
7: aload 4
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.runtime.Boundaries.javaToString:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toJSNull:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 9 1 object Ljava/lang/Object;
0 9 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 9 3 javaObject Ljava/lang/Object;
3 4 4 result Ljava/lang/Object;
6 8 4 result Ljava/lang/Object;
Exception table:
from to target type
2 3 4 Class com.oracle.truffle.api.interop.InteropException
MethodParameters:
Name Flags
object
interop
javaObject
protected java.lang.Object doFallback(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToPrimitiveValue:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 2 1 value Ljava/lang/Object;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.Fallback()
MethodParameters:
Name Flags
value
private java.lang.Object ordinaryToPrimitive(com.oracle.truffle.js.runtime.JSContext, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.ordinaryToPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;
ifnonnull 5
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
aload 1
aload 0
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.isHintString:()Z
ifeq 3
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.String:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
goto 4
StackMap locals: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.js.runtime.JSContext java.lang.Object
StackMap stack: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.js.runtime.JSContext
3: getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.Number:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
StackMap locals: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.js.runtime.JSContext java.lang.Object
StackMap stack: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint
4: invokestatic com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode
putfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.ordinaryToPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.ordinaryToPrimitiveNode:Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;
aload 2
invokevirtual com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 6 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 6 2 object Ljava/lang/Object;
MethodParameters:
Name Flags
context
object
private boolean isPrimitive(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.isPrimitiveNode:Lcom/oracle/truffle/js/nodes/access/IsPrimitiveNode;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
invokestatic com.oracle.truffle.js.nodes.access.IsPrimitiveNode.create:()Lcom/oracle/truffle/js/nodes/access/IsPrimitiveNode;
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.access.IsPrimitiveNode
putfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.isPrimitiveNode:Lcom/oracle/truffle/js/nodes/access/IsPrimitiveNode;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.isPrimitiveNode:Lcom/oracle/truffle/js/nodes/access/IsPrimitiveNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.IsPrimitiveNode.executeBoolean:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 4 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
protected static com.oracle.truffle.js.nodes.access.PropertyNode createGetToPrimitive(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/nodes/access/PropertyNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 1
start local 1 1: aload 1
aconst_null
getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_TO_PRIMITIVE:Lcom/oracle/truffle/js/runtime/Symbol;
invokestatic com.oracle.truffle.js.nodes.access.PropertyNode.createMethod:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 object Lcom/oracle/truffle/api/object/DynamicObject;
1 2 1 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
object
protected com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode createOrdinaryToPrimitive(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 1: aload 2
aload 0
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.isHintString:()Z
ifeq 2
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.String:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
goto 3
StackMap locals: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext
StackMap stack: com.oracle.truffle.js.runtime.JSContext
2: getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.Number:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
StackMap locals: com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext
StackMap stack: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint
3: invokestatic com.oracle.truffle.js.nodes.cast.OrdinaryToPrimitiveNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;)Lcom/oracle/truffle/js/nodes/cast/OrdinaryToPrimitiveNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
0 4 1 object Lcom/oracle/truffle/api/object/DynamicObject;
1 4 2 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
object
static int[] $SWITCH_TABLE$com$oracle$truffle$js$nodes$cast$JSToPrimitiveNode$Hint();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.$SWITCH_TABLE$com$oracle$truffle$js$nodes$cast$JSToPrimitiveNode$Hint:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.values:()[Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.None:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.Number:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.String:Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode$Hint;
invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.$SWITCH_TABLE$com$oracle$truffle$js$nodes$cast$JSToPrimitiveNode$Hint:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "JSToPrimitiveNode.java"
NestMembers:
com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint
InnerClasses:
public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public final Hint = com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode$Hint of com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})