public abstract class JSHasPropertyNode extends JavaScriptBaseNode
| Modifier | Constructor and Description |
|---|---|
protected |
JSHasPropertyNode(boolean hasOwnProperty) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
arrayLong(JSDynamicObject object,
long index,
com.oracle.truffle.api.profiles.InlinedConditionProfile hasElementProfile) |
boolean |
arrayLongCached(JSDynamicObject object,
long index,
com.oracle.truffle.api.nodes.Node node,
ScriptArray cachedArrayType,
com.oracle.truffle.api.profiles.InlinedConditionProfile hasElementProfile) |
boolean |
arrayStringCached(JSDynamicObject object,
com.oracle.truffle.api.strings.TruffleString propertyName,
com.oracle.truffle.api.strings.TruffleString cachedName,
HasPropertyCacheNode hasPropertyNode,
com.oracle.truffle.api.strings.TruffleString.EqualNode equalNode) |
static JSHasPropertyNode |
create() |
static JSHasPropertyNode |
create(boolean hasOwnProperty) |
abstract boolean |
executeBoolean(Object object,
long index) |
abstract boolean |
executeBoolean(Object object,
Object propertyName) |
boolean |
foreignObject(Object object,
Object propertyName,
com.oracle.truffle.api.interop.InteropLibrary interop,
JSToStringNode toStringNode,
ForeignObjectPrototypeNode foreignObjectPrototypeNode,
JSHasPropertyNode hasInPrototype) |
protected static ScriptArray |
getArrayType(JSDynamicObject object) |
protected static JSClass |
getCacheableObjectType(JSDynamicObject obj) |
protected HasPropertyCacheNode |
getCachedPropertyGetter(JSDynamicObject object,
Object key) |
protected static boolean |
isCacheableObjectType(JSDynamicObject obj) |
boolean |
objectLong(JSDynamicObject object,
long propertyIdx) |
boolean |
objectObject(JSDynamicObject object,
Object propertyName,
JSToPropertyKeyNode toPropertyKeyNode) |
boolean |
objectString(JSDynamicObject object,
com.oracle.truffle.api.strings.TruffleString propertyName) |
boolean |
objectStringCached(JSDynamicObject object,
com.oracle.truffle.api.strings.TruffleString propertyName,
JSClass cachedObjectType,
com.oracle.truffle.api.strings.TruffleString cachedName,
HasPropertyCacheNode hasPropertyNode,
com.oracle.truffle.api.strings.TruffleString.EqualNode equalNode) |
boolean |
objectSymbol(JSDynamicObject object,
Symbol propertyName) |
boolean |
typedArray(JSTypedArrayObject object,
long index) |
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, toStringpublic static JSHasPropertyNode create()
public static JSHasPropertyNode create(boolean hasOwnProperty)
public abstract boolean executeBoolean(Object object, long index)
public boolean arrayLongCached(JSDynamicObject object, long index, com.oracle.truffle.api.nodes.Node node, ScriptArray cachedArrayType, com.oracle.truffle.api.profiles.InlinedConditionProfile hasElementProfile)
public boolean arrayLong(JSDynamicObject object, long index, com.oracle.truffle.api.profiles.InlinedConditionProfile hasElementProfile)
public boolean typedArray(JSTypedArrayObject object, long index)
public boolean objectStringCached(JSDynamicObject object, com.oracle.truffle.api.strings.TruffleString propertyName, JSClass cachedObjectType, com.oracle.truffle.api.strings.TruffleString cachedName, HasPropertyCacheNode hasPropertyNode, com.oracle.truffle.api.strings.TruffleString.EqualNode equalNode)
public boolean arrayStringCached(JSDynamicObject object, com.oracle.truffle.api.strings.TruffleString propertyName, com.oracle.truffle.api.strings.TruffleString cachedName, HasPropertyCacheNode hasPropertyNode, com.oracle.truffle.api.strings.TruffleString.EqualNode equalNode)
public boolean objectString(JSDynamicObject object, com.oracle.truffle.api.strings.TruffleString propertyName)
public boolean objectSymbol(JSDynamicObject object, Symbol propertyName)
public boolean objectLong(JSDynamicObject object, long propertyIdx)
public boolean foreignObject(Object object, Object propertyName, com.oracle.truffle.api.interop.InteropLibrary interop, JSToStringNode toStringNode, ForeignObjectPrototypeNode foreignObjectPrototypeNode, JSHasPropertyNode hasInPrototype)
public boolean objectObject(JSDynamicObject object, Object propertyName, JSToPropertyKeyNode toPropertyKeyNode)
protected static boolean isCacheableObjectType(JSDynamicObject obj)
protected static JSClass getCacheableObjectType(JSDynamicObject obj)
protected static ScriptArray getArrayType(JSDynamicObject object)
protected HasPropertyCacheNode getCachedPropertyGetter(JSDynamicObject object, Object key)