public abstract class ToArrayIndexNode extends JavaScriptBaseNode
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
convertToPropertyKey |
| Modifier | Constructor and Description |
|---|---|
protected |
ToArrayIndexNode(boolean convertToPropertyKey) |
| Modifier and Type | Method and Description |
|---|---|
protected static Object |
convertFromString(String index,
com.oracle.truffle.api.profiles.BranchProfile startsWithDigitBranch,
com.oracle.truffle.api.profiles.BranchProfile isArrayIndexBranch,
com.oracle.truffle.api.profiles.BranchProfile needPassStringBranch) |
protected static Object |
convertFromStringNotInRange(String index) |
static ToArrayIndexNode |
create() |
static ToArrayIndexNode |
createNoToPropertyKey() |
protected static long |
doDoubleAsIntIndex(double value) |
protected static long |
doDoubleAsUintIndex(double value) |
protected static com.oracle.truffle.api.object.HiddenKey |
doHiddenKey(com.oracle.truffle.api.object.HiddenKey value) |
protected static long |
doInteger(int value) |
protected static long |
doLong(long value) |
protected static Object |
doNonArrayIndex(Object value) |
protected static Object |
doNonArrayIndex(Object value,
JSToPropertyKeyNode toPropertyKey) |
protected static Symbol |
doSymbol(Symbol value) |
protected static boolean |
doubleIsIntIndex(double d) |
protected static boolean |
doubleIsUintIndex(double d) |
abstract Object |
execute(Object operand) |
abstract long |
executeLong(Object operand) |
boolean |
isResultArrayIndex(Object result) |
protected static boolean |
notArrayIndex(Object o) |
copy, onReplaceaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecialize, toStringpublic abstract long executeLong(Object operand) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultExceptionpublic final boolean isResultArrayIndex(Object result)
public static ToArrayIndexNode create()
public static ToArrayIndexNode createNoToPropertyKey()
protected static long doInteger(int value)
protected static long doLong(long value)
protected static boolean doubleIsIntIndex(double d)
protected static long doDoubleAsIntIndex(double value)
protected static boolean doubleIsUintIndex(double d)
protected static long doDoubleAsUintIndex(double value)
protected static com.oracle.truffle.api.object.HiddenKey doHiddenKey(com.oracle.truffle.api.object.HiddenKey value)
protected static Object convertFromString(String index, com.oracle.truffle.api.profiles.BranchProfile startsWithDigitBranch, com.oracle.truffle.api.profiles.BranchProfile isArrayIndexBranch, com.oracle.truffle.api.profiles.BranchProfile needPassStringBranch)
protected static boolean notArrayIndex(Object o)
protected static Object doNonArrayIndex(Object value, JSToPropertyKeyNode toPropertyKey)