Class JSArrayElementIndexNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.array.JSArrayElementIndexNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Direct Known Subclasses:
JSArrayFirstElementIndexNode, JSArrayLastElementIndexNode, JSArrayNextElementIndexNode, JSArrayPreviousElementIndexNode

public abstract class JSArrayElementIndexNode extends JavaScriptBaseNode
  • Field Details

    • MAX_CACHED_ARRAY_TYPES

      protected static final int MAX_CACHED_ARRAY_TYPES
      See Also:
    • context

      protected final JSContext context
  • Constructor Details

    • JSArrayElementIndexNode

      protected JSArrayElementIndexNode(JSContext context)
  • Method Details

    • hasHoles

      protected static boolean hasHoles(JSDynamicObject object)
    • getArrayType

      protected static ScriptArray getArrayType(JSDynamicObject object)
    • getArrayTypeIfArray

      protected static ScriptArray getArrayTypeIfArray(JSDynamicObject object, boolean isArray)
      Workaround for GR-830: Cached values are initialized before guards are evaluated.
    • isSuitableForEnumBasedProcessingUsingOwnKeys

      protected final boolean isSuitableForEnumBasedProcessingUsingOwnKeys(Object object, long length)
    • isSuitableForEnumBasedProcessing

      protected static final boolean isSuitableForEnumBasedProcessing(Object object, long length)
    • hasPrototypeElements

      protected final boolean hasPrototypeElements(JSDynamicObject object)
      Parameters:
      object - dummy parameter to force evaluation of the guard by the DSL
    • isArray

      protected final boolean isArray(Object obj)
    • isSupportedArray

      protected static boolean isSupportedArray(JSDynamicObject object)