Class JSToIntegerAsIntNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.cast.JSToIntegerAsIntNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable

public abstract class JSToIntegerAsIntNode extends JavaScriptBaseNode
Basically ECMAScript ToInteger, but correct only for values in the int32 range. Used by built-in functions that do not care about values outside this range, such as string index conversion. Larger and smaller values will be clamped to Integer.MAX_VALUE and Integer.MIN_VALUE, respectively.
See Also:
  • Constructor Details

    • JSToIntegerAsIntNode

      public JSToIntegerAsIntNode()
  • Method Details

    • create

      public static JSToIntegerAsIntNode create()
    • executeInt

      public abstract int executeInt(Object operand)
    • doInteger

      protected static int doInteger(int value)
    • doBoolean

      protected static int doBoolean(boolean value)
    • doLongInt32Range

      protected static int doLongInt32Range(long value)
    • doLongOther

      protected static int doLongOther(long value)
    • doSafeIntegerInt32Range

      protected static int doSafeIntegerInt32Range(SafeInteger value)
    • doSafeIntegerOther

      protected static int doSafeIntegerOther(SafeInteger value)
    • doDouble

      protected static int doDouble(double value)
    • doUndefined

      protected static int doUndefined(Object value)
    • doNull

      protected static int doNull(Object value)
    • doSymbol

      protected final int doSymbol(Symbol value)
    • doBigInt

      protected final int doBigInt(BigInt value)
    • doString

      protected int doString(com.oracle.truffle.api.strings.TruffleString value, JSToIntegerAsIntNode nestedToIntegerNode, JSStringToNumberNode stringToNumberNode)
    • doJSObject

      protected int doJSObject(JSObject value, JSToNumberNode toNumberNode)
    • doJSOrForeignObject

      protected int doJSOrForeignObject(Object value, JSToNumberNode toNumberNode)