public abstract class JSHasPropertyNode extends JavaScriptBaseNode
| Modifier | Constructor and Description |
|---|---|
protected |
JSHasPropertyNode(boolean hasOwnProperty) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
arrayLong(com.oracle.truffle.api.object.DynamicObject object,
long index) |
boolean |
arrayLongCached(com.oracle.truffle.api.object.DynamicObject object,
long index,
ScriptArray cachedArrayType) |
boolean |
arrayStringCached(com.oracle.truffle.api.object.DynamicObject object,
String propertyName,
String cachedName,
HasPropertyCacheNode hasPropertyNode) |
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,
com.oracle.truffle.api.TruffleLanguage.LanguageReference<JavaScriptLanguage> languageRef) |
protected static ScriptArray |
getArrayType(com.oracle.truffle.api.object.DynamicObject object) |
protected static JSClass |
getCacheableObjectType(com.oracle.truffle.api.object.DynamicObject obj) |
protected HasPropertyCacheNode |
getCachedPropertyGetter(com.oracle.truffle.api.object.DynamicObject object,
Object key) |
protected static boolean |
isCacheableObjectType(com.oracle.truffle.api.object.DynamicObject obj) |
boolean |
objectLong(com.oracle.truffle.api.object.DynamicObject object,
long propertyIdx) |
boolean |
objectObject(com.oracle.truffle.api.object.DynamicObject object,
Object propertyName,
JSToPropertyKeyNode toPropertyKeyNode) |
boolean |
objectOrArrayString(com.oracle.truffle.api.object.DynamicObject object,
String propertyName) |
boolean |
objectStringCached(com.oracle.truffle.api.object.DynamicObject object,
String propertyName,
JSClass cachedObjectType,
String cachedName,
HasPropertyCacheNode hasPropertyNode) |
boolean |
objectSymbol(com.oracle.truffle.api.object.DynamicObject object,
Symbol propertyName) |
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 static JSHasPropertyNode create()
public static JSHasPropertyNode create(boolean hasOwnProperty)
public abstract boolean executeBoolean(Object object, long index)
public boolean arrayLongCached(com.oracle.truffle.api.object.DynamicObject object,
long index,
ScriptArray cachedArrayType)
public boolean arrayLong(com.oracle.truffle.api.object.DynamicObject object,
long index)
public boolean objectStringCached(com.oracle.truffle.api.object.DynamicObject object,
String propertyName,
JSClass cachedObjectType,
String cachedName,
HasPropertyCacheNode hasPropertyNode)
public boolean arrayStringCached(com.oracle.truffle.api.object.DynamicObject object,
String propertyName,
String cachedName,
HasPropertyCacheNode hasPropertyNode)
public boolean objectOrArrayString(com.oracle.truffle.api.object.DynamicObject object,
String propertyName)
public boolean objectSymbol(com.oracle.truffle.api.object.DynamicObject object,
Symbol propertyName)
public boolean objectLong(com.oracle.truffle.api.object.DynamicObject object,
long propertyIdx)
public boolean foreignObject(Object object, Object propertyName, com.oracle.truffle.api.interop.InteropLibrary interop, JSToStringNode toStringNode, ForeignObjectPrototypeNode foreignObjectPrototypeNode, JSHasPropertyNode hasInPrototype, com.oracle.truffle.api.TruffleLanguage.LanguageReference<JavaScriptLanguage> languageRef)
public boolean objectObject(com.oracle.truffle.api.object.DynamicObject object,
Object propertyName,
JSToPropertyKeyNode toPropertyKeyNode)
protected static boolean isCacheableObjectType(com.oracle.truffle.api.object.DynamicObject obj)
protected static JSClass getCacheableObjectType(com.oracle.truffle.api.object.DynamicObject obj)
protected static ScriptArray getArrayType(com.oracle.truffle.api.object.DynamicObject object)
protected HasPropertyCacheNode getCachedPropertyGetter(com.oracle.truffle.api.object.DynamicObject object, Object key)