Class ArrayElementInfoNode

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

public abstract class ArrayElementInfoNode extends JavaScriptBaseNode
This node implements the isArrayElement* messages for arrays.
  • 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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract com.oracle.truffle.api.utilities.TriState
    execute(JSArrayBase receiver, long index, int query)
    Returns: TriState.TRUE if this array element is readable/modifiable/insertable/removable.
    final boolean
    executeBoolean(JSArrayBase receiver, long index, int query)
     
    final void
    executeCheck(JSArrayBase receiver, long index, int query)
     

    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 java.lang.Object

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

  • Method Details

    • execute

      public abstract com.oracle.truffle.api.utilities.TriState execute(JSArrayBase receiver, long index, int query)
      Returns:
      • TriState.TRUE if this array element is readable/modifiable/insertable/removable.
      • TriState.FALSE if the operation cannot be performed for this array element.
      • TriState.UNDEFINED if the message is not supported for this array instance.
    • executeBoolean

      public final boolean executeBoolean(JSArrayBase receiver, long index, int query)
    • executeCheck

      public final void executeCheck(JSArrayBase receiver, long index, int query) throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.InvalidArrayIndexException
      Throws:
      com.oracle.truffle.api.interop.UnsupportedMessageException
      com.oracle.truffle.api.interop.InvalidArrayIndexException