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 // com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode this
         0: .line 55
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.nodes.JavaScriptBaseNode.<init>:()V
         1: .line 56
            return
        end local 0 // com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode this
      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: .line 61
            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 // com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode this
        start local 1 // java.lang.Object value
        start local 2 // int minimum
        start local 3 // int maximum
        start local 4 // int fallback
        start local 5 // com.oracle.truffle.js.nodes.cast.JSToNumberNode toNumberNode
        start local 6 // com.oracle.truffle.api.profiles.BranchProfile errorBranch
         0: .line 69
            aload 5 /* toNumberNode */
            aload 1 /* value */
            invokevirtual com.oracle.truffle.js.nodes.cast.JSToNumberNode.executeNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            astore 7 /* numValue */
        start local 7 // java.lang.Number numValue
         1: .line 70
            aload 7 /* numValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dstore 8 /* doubleValue */
        start local 8 // double doubleValue
         2: .line 71
            dload 8 /* doubleValue */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 3
            dload 8 /* doubleValue */
            iload 2 /* minimum */
            i2d
            dcmpg
            iflt 3
            iload 3 /* maximum */
            i2d
            dload 8 /* doubleValue */
            dcmpg
            ifge 5
         3: .line 72
      StackMap locals: java.lang.Number double
      StackMap stack:
            aload 6 /* errorBranch */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         4: .line 73
            aload 0 /* this */
            dload 8 /* doubleValue */
            iload 2 /* minimum */
            iload 3 /* maximum */
            invokevirtual com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode.createRangeError:(DII)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         5: .line 75
      StackMap locals:
      StackMap stack:
            dload 8 /* doubleValue */
            d2i
            ireturn
        end local 8 // double doubleValue
        end local 7 // java.lang.Number numValue
        end local 6 // com.oracle.truffle.api.profiles.BranchProfile errorBranch
        end local 5 // com.oracle.truffle.js.nodes.cast.JSToNumberNode toNumberNode
        end local 4 // int fallback
        end local 3 // int maximum
        end local 2 // int minimum
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode this
      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 // com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode this
        start local 1 // double value
        start local 3 // int minimum
        start local 4 // int maximum
         0: .line 80
            ldc "invalid value %f found where only values between %d and %d are allowed"
            aload 0 /* this */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            dload 1 /* value */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
            iload 3 /* minimum */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 4 /* maximum */
            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 // int maximum
        end local 3 // int minimum
        end local 1 // double value
        end local 0 // com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode this
      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 // com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode this
        start local 1 // java.lang.Object value
        start local 2 // int minimum
        start local 3 // int maximum
        start local 4 // int fallback
         0: .line 86
            iload 4 /* fallback */
            ireturn
        end local 4 // int fallback
        end local 3 // int maximum
        end local 2 // int minimum
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.js.nodes.intl.DefaultNumberOptionNode this
      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