Class JSHasPropertyNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.JSHasPropertyNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
This node wraps part of the [[HasProperty]] function of ECMAScript. Its purpose is to specialize
on features of the object and/or the property sought.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanarrayLong(JSDynamicObject object, long index, com.oracle.truffle.api.profiles.InlinedConditionProfile hasElementProfile) booleanarrayLongCached(JSDynamicObject object, long index, com.oracle.truffle.api.nodes.Node node, ScriptArray cachedArrayType, com.oracle.truffle.api.profiles.InlinedConditionProfile hasElementProfile) booleanarrayStringCached(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 JSHasPropertyNodecreate()static JSHasPropertyNodecreate(boolean hasOwnProperty) abstract booleanexecuteBoolean(Object object, long index) abstract booleanexecuteBoolean(Object object, Object propertyName) booleanforeignObject(Object object, Object propertyName, com.oracle.truffle.api.interop.InteropLibrary interop, JSToStringNode toStringNode, ForeignObjectPrototypeNode foreignObjectPrototypeNode, JSHasPropertyNode hasInPrototype) protected static ScriptArraygetArrayType(JSDynamicObject object) protected static JSClassprotected HasPropertyCacheNodegetCachedPropertyGetter(JSDynamicObject object, Object key) protected static booleanbooleanobjectLong(JSDynamicObject object, long propertyIdx) booleanobjectObject(JSDynamicObject object, Object propertyName, JSToPropertyKeyNode toPropertyKeyNode) booleanobjectString(JSDynamicObject object, com.oracle.truffle.api.strings.TruffleString propertyName) booleanobjectStringCached(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) booleanobjectSymbol(JSDynamicObject object, Symbol propertyName) booleantypedArray(JSTypedArrayObject object, long index, TypedArrayLengthNode typedArrayLengthNode) Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplace, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplace, toString
-
Constructor Details
-
JSHasPropertyNode
protected JSHasPropertyNode(boolean hasOwnProperty)
-
-
Method Details
-
create
-
create
-
executeBoolean
-
executeBoolean
-
arrayLongCached
public boolean arrayLongCached(JSDynamicObject object, long index, com.oracle.truffle.api.nodes.Node node, ScriptArray cachedArrayType, com.oracle.truffle.api.profiles.InlinedConditionProfile hasElementProfile) -
arrayLong
public boolean arrayLong(JSDynamicObject object, long index, com.oracle.truffle.api.profiles.InlinedConditionProfile hasElementProfile) -
typedArray
public boolean typedArray(JSTypedArrayObject object, long index, TypedArrayLengthNode typedArrayLengthNode) -
objectStringCached
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) -
arrayStringCached
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) -
objectString
public boolean objectString(JSDynamicObject object, com.oracle.truffle.api.strings.TruffleString propertyName) -
objectSymbol
-
objectLong
-
foreignObject
public boolean foreignObject(Object object, Object propertyName, com.oracle.truffle.api.interop.InteropLibrary interop, JSToStringNode toStringNode, ForeignObjectPrototypeNode foreignObjectPrototypeNode, JSHasPropertyNode hasInPrototype) -
objectObject
public boolean objectObject(JSDynamicObject object, Object propertyName, JSToPropertyKeyNode toPropertyKeyNode) -
isCacheableObjectType
-
getCacheableObjectType
-
getArrayType
-
getCachedPropertyGetter
-