Class JSToIndexNode

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

public abstract class JSToIndexNode extends JavaScriptBaseNode
Implementation of the abstract operation ToIndex(value) (ES7 7.1.17).
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node

    com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    protected long
    doDouble(double value, com.oracle.truffle.api.profiles.InlinedBranchProfile negativeIndexBranch, com.oracle.truffle.api.profiles.InlinedBranchProfile tooLargeIndexBranch)
     
    protected long
    doInt(int value, com.oracle.truffle.api.profiles.InlinedBranchProfile negativeIndexBranch)
     
    protected static long
    doObject(Object value, JSToNumberNode toNumberNode, JSToIndexNode recursiveToIndexNode)
     
    protected long
    doSafeInteger(SafeInteger value, com.oracle.truffle.api.profiles.InlinedBranchProfile negativeIndexBranch)
     
    protected static long
     
    abstract long
     

    Methods inherited from class com.oracle.truffle.api.nodes.Node

    accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplace, toString

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • JSToIndexNode

      public JSToIndexNode()
  • Method Details

    • create

      public static JSToIndexNode create()
    • executeLong

      public abstract long executeLong(Object value)
    • doInt

      protected long doInt(int value, com.oracle.truffle.api.profiles.InlinedBranchProfile negativeIndexBranch)
    • doSafeInteger

      protected long doSafeInteger(SafeInteger value, com.oracle.truffle.api.profiles.InlinedBranchProfile negativeIndexBranch)
    • doDouble

      protected long doDouble(double value, com.oracle.truffle.api.profiles.InlinedBranchProfile negativeIndexBranch, com.oracle.truffle.api.profiles.InlinedBranchProfile tooLargeIndexBranch)
    • doUndefined

      protected static long doUndefined(Object value)
    • doObject

      protected static long doObject(Object value, JSToNumberNode toNumberNode, JSToIndexNode recursiveToIndexNode)