public abstract class com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode 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.intl.DefaultNumberOptionNode
super_class: com.oracle.truffle.js.nodes.JavaScriptBaseNode
{
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.js.nodes.JavaScriptBaseNode.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/intl/DefaultNumberOptionNode;
public abstract int executeInt(java.lang.Object, int, int, int);
descriptor: (Ljava/lang/Object;III)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
value
minimum
maximum
fallback
public static com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode create();
descriptor: ()Lcom/oracle/truffle/js/nodes/intl/DefaultNumberOptionNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tDefaultNumberOptionNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
public int getOption(java.lang.Object, int, int, int, com.oracle.truffle.js.nodes.cast.JSToNumberNode, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Ljava/lang/Object;IIILcom/oracle/truffle/js/nodes/cast/JSToNumberNode;Lcom/oracle/truffle/api/profiles/BranchProfile;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, 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 5
aload 1
invokevirtual com.oracle.truffle.js.nodes.cast.JSToNumberNode.executeNumber:(Ljava/lang/Object;)Ljava/lang/Number;
astore 7
start local 7 1: aload 7
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dstore 8
start local 8 2: dload 8
invokestatic java.lang.Double.isNaN:(D)Z
ifne 3
dload 8
iload 2
i2d
dcmpg
iflt 3
iload 3
i2d
dload 8
dcmpg
ifge 5
3: StackMap locals: java.lang.Number double
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
4: aload 0
dload 8
iload 2
iload 3
invokevirtual com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode.createRangeError:(DII)Lcom/oracle/truffle/js/runtime/JSException;
athrow
5: StackMap locals:
StackMap stack:
dload 8
d2i
ireturn
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 6 0 this Lcom/oracle/truffle/js/nodes/intl/DefaultNumberOptionNode;
0 6 1 value Ljava/lang/Object;
0 6 2 minimum I
0 6 3 maximum I
0 6 4 fallback I
0 6 5 toNumberNode Lcom/oracle/truffle/js/nodes/cast/JSToNumberNode;
0 6 6 errorBranch Lcom/oracle/truffle/api/profiles/BranchProfile;
1 6 7 numValue Ljava/lang/Number;
2 6 8 doubleValue D
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"!isUndefined(value)"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
4:
com.oracle.truffle.api.dsl.Cached(value = "create()")
5:
com.oracle.truffle.api.dsl.Cached(value = "create()")
MethodParameters:
Name Flags
value
minimum
maximum
fallback
toNumberNode
errorBranch
private com.oracle.truffle.js.runtime.JSException createRangeError(double, int, int);
descriptor: (DII)Lcom/oracle/truffle/js/runtime/JSException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: ldc "invalid value %f found where only values between %d and %d are allowed"
aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorFormat:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/intl/DefaultNumberOptionNode;
0 1 1 value D
0 1 3 minimum I
0 1 4 maximum I
Exceptions:
throws com.oracle.truffle.js.runtime.JSException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
value
minimum
maximum
public int getOptionFromUndefined(java.lang.Object, int, int, int);
descriptor: (Ljava/lang/Object;III)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/intl/DefaultNumberOptionNode;
0 1 1 value Ljava/lang/Object;
0 1 2 minimum I
0 1 3 maximum I
0 1 4 fallback I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isUndefined(value)"})
MethodParameters:
Name Flags
value
minimum
maximum
fallback
}
SourceFile: "DefaultNumberOptionNode.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives