Class ToArrayLengthNode

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

public abstract class ToArrayLengthNode extends JavaScriptBaseNode
Checks if the provided value is a valid length argument for the Array(len) constructor and converts it to a uint32 value. Returns a negative result if the value is not a valid length.
  • Method Details

    • executeLong

      public abstract long executeLong(Object value)
    • isTypeNumber

      public boolean isTypeNumber(long result)
    • doInt

      protected static long doInt(int value)
    • doSafeInteger

      protected static long doSafeInteger(SafeInteger value)
    • rangeError

      protected static long rangeError(SafeInteger value)
    • doLong

      protected static long doLong(long value)
    • rangeError

      protected static long rangeError(long value)
    • doDouble

      protected static long doDouble(double value)
    • rangeError

      protected static long rangeError(double value)
    • typeNotNumber

      protected static long typeNotNumber(Object value)