public abstract class JSGetLengthNode extends JavaScriptBaseNode
| Type | Property and Description |
|---|---|
protected PropertyGetNode |
createLength |
| Modifier | Constructor and Description |
|---|---|
protected |
JSGetLengthNode(JSContext context) |
| Modifier and Type | Method and Description |
|---|---|
static JSGetLengthNode |
create(JSContext context) |
protected PropertyGetNode |
createLengthProperty() |
abstract Object |
execute(Object value) |
long |
executeLong(Object value) |
double |
getArrayLength(JSArrayObject target,
ArrayLengthNode.ArrayLengthReadNode arrayLengthReadNode) |
int |
getArrayLengthInt(JSArrayObject target,
ArrayLengthNode.ArrayLengthReadNode arrayLengthReadNode) |
double |
getLengthForeign(Object target,
com.oracle.truffle.api.interop.InteropLibrary interop,
ImportValueNode importValueNode) |
double |
getNonArrayLength(JSDynamicObject target,
PropertyGetNode getLengthPropertyNode) |
copy, getLanguage, getRealm, hasOverloadedOperators, onReplaceaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, toStringprotected PropertyGetNode createLengthProperty
protected JSGetLengthNode(JSContext context)
public static JSGetLengthNode create(JSContext context)
public final long executeLong(Object value)
public int getArrayLengthInt(JSArrayObject target, ArrayLengthNode.ArrayLengthReadNode arrayLengthReadNode) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultExceptionpublic double getArrayLength(JSArrayObject target, ArrayLengthNode.ArrayLengthReadNode arrayLengthReadNode)
public double getNonArrayLength(JSDynamicObject target, PropertyGetNode getLengthPropertyNode)
public double getLengthForeign(Object target, com.oracle.truffle.api.interop.InteropLibrary interop, ImportValueNode importValueNode)
protected PropertyGetNode createLengthProperty()