Class ArrayIteratorPrototypeBuiltins.ArrayIteratorGetLengthSafeNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.builtins.ArrayIteratorPrototypeBuiltins.ArrayIteratorGetLengthSafeNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Enclosing class:
ArrayIteratorPrototypeBuiltins

public abstract static class ArrayIteratorPrototypeBuiltins.ArrayIteratorGetLengthSafeNode extends JavaScriptBaseNode
Like ArrayIteratorPrototypeBuiltins.ArrayIteratorGetLengthNode, but designed to avoid observable side effects. Only handles JS arrays, typed arrays, and foreign arrays (assumes getArraySize to well-behaved). Returns -1L for other object types or if getting the length would throw an error.
  • Constructor Details

    • ArrayIteratorGetLengthSafeNode

      public ArrayIteratorGetLengthSafeNode()
  • Method Details

    • execute

      public abstract long execute(com.oracle.truffle.api.nodes.Node node, Object array)