public class PropertyGetNode extends PropertyCacheNode<PropertyGetNode.GetCacheNode>
PropertyNode
,
GlobalPropertyNode
Type | Property and Description |
---|---|
protected boolean |
isOwn
Gets the value of the property ownProperty.
|
PropertyCacheNode.AbstractAssumptionShapeCheckNode, PropertyCacheNode.AbstractShapeCheckNode, PropertyCacheNode.AssumptionShapeCheckNode, PropertyCacheNode.CacheNode<T extends PropertyCacheNode.CacheNode<T>>, PropertyCacheNode.ConstantObjectAssumptionShapeCheckNode, PropertyCacheNode.ConstantObjectPrototypeChainShapeCheckNode, PropertyCacheNode.ConstantObjectPrototypeShapeCheckNode, PropertyCacheNode.ConstantObjectReceiverCheck, PropertyCacheNode.ConstantObjectShapeCheckNode, PropertyCacheNode.ForeignLanguageCheckNode, PropertyCacheNode.InstanceofCheckNode, PropertyCacheNode.JSClassCheckNode, PropertyCacheNode.NullCheckNode, PropertyCacheNode.PrimitiveReceiverCheckNode, PropertyCacheNode.PrototypeChainCheckNode, PropertyCacheNode.PrototypeChainShapeCheckNode, PropertyCacheNode.PrototypeShapeCheckNode, PropertyCacheNode.ReceiverCheckNode, PropertyCacheNode.ShapeCheckNode, PropertyCacheNode.TraversePrototypeChainCheckNode, PropertyCacheNode.TraversePrototypeChainShapeCheckNode, PropertyCacheNode.TraversePrototypeShapeCheckNode
Modifier and Type | Field and Description |
---|---|
protected boolean |
getOwnProperty |
protected boolean |
isGlobal |
protected boolean |
isMethod |
cacheNode, context, key
Modifier | Constructor and Description |
---|---|
protected |
PropertyGetNode(Object key,
JSContext context,
boolean isGlobal,
boolean getOwnProperty,
boolean isMethod) |
Modifier and Type | Method and Description |
---|---|
static PropertyGetNode |
create(Object key,
boolean isGlobal,
JSContext context) |
static PropertyGetNode |
create(Object key,
boolean isGlobal,
JSContext context,
boolean getOwnProperty,
boolean isMethod) |
static PropertyGetNode |
create(Object key,
JSContext context) |
protected PropertyGetNode.GetCacheNode |
createCachedPropertyNode(com.oracle.truffle.api.object.Property property,
Object thisObj,
int depth,
Object value,
PropertyGetNode.GetCacheNode currentHead)
Make a cache for a JSObject with this property map and requested property.
|
protected PropertyGetNode.GetCacheNode |
createGenericPropertyNode()
Make a generic-case node, for when polymorphism becomes too high.
|
static PropertyGetNode |
createGetHidden(com.oracle.truffle.api.object.HiddenKey key,
JSContext context) |
static PropertyGetNode |
createGetOwn(Object key,
JSContext context) |
protected PropertyGetNode.GetCacheNode |
createJavaPropertyNodeMaybe(Object thisObj,
int depth) |
protected PropertyGetNode.GetCacheNode |
createJSProxyCache(PropertyCacheNode.ReceiverCheckNode receiverCheck) |
protected PropertyGetNode.GetCacheNode |
createTruffleObjectPropertyNode() |
protected PropertyGetNode.GetCacheNode |
createUndefinedOrErrorPropertyNode(PropertyCacheNode.ReceiverCheckNode receiverCheck) |
protected PropertyGetNode.GetCacheNode |
createUndefinedPropertyNode(Object thisObj,
Object store,
int depth,
Object value) |
Object |
getValue(Object obj) |
boolean |
getValueBoolean(Object obj) |
protected boolean |
getValueBoolean(Object thisObj,
Object receiver) |
double |
getValueDouble(Object obj) |
protected double |
getValueDouble(Object thisObj,
Object receiver) |
int |
getValueInt(Object obj) |
protected int |
getValueInt(Object thisObj,
Object receiver) |
long |
getValueLong(Object obj) |
protected long |
getValueLong(Object thisObj,
Object receiver) |
Object |
getValueOrDefault(Object obj,
Object defaultValue) |
protected Object |
getValueOrDefault(Object thisObj,
Object receiver,
Object defaultValue) |
protected Object |
getValueOrUndefined(Object thisObj,
Object receiver) |
protected boolean |
isGlobal() |
protected boolean |
isMethod() |
protected boolean |
isOwnProperty()
Gets the value of the property ownProperty.
|
protected boolean |
isPropertyAssumptionCheckEnabled() |
protected boolean |
isRequired() |
protected void |
setMethod() |
protected void |
setPropertyAssumptionCheckEnabled(boolean value) |
alwaysUseStore, checkForUnstableAssumption, createCachedAccess, createPrimitiveReceiverCheck, createShapeCheckNode, createSpecialization, deoptimize, filterValid, getAccessorKey, getAccessorKey, getContext, getCost, getKey, insertCached, invalidateCache, isArrayLengthProperty, isClassPrototypeProperty, isFunctionLengthProperty, isFunctionNameProperty, isLazyNamedCaptureGroupProperty, isLazyRegexResultIndexProperty, isNonIntegerIndex, isStringLengthProperty, propertyAssumptionsValid, prototypesInShape, retryCache, rewriteCached, rewriteToGeneric, specialize, specialize, traceRewriteEvictFinal, tryMergeShapes, wrapPrimitive
copy, onReplace
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecialize, toString
protected final boolean isOwnProperty
isOwnProperty
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
protected final boolean isGlobal
protected final boolean getOwnProperty
protected boolean isMethod
public static PropertyGetNode create(Object key, JSContext context)
public static PropertyGetNode create(Object key, boolean isGlobal, JSContext context)
public static PropertyGetNode create(Object key, boolean isGlobal, JSContext context, boolean getOwnProperty, boolean isMethod)
public static PropertyGetNode createGetOwn(Object key, JSContext context)
public static PropertyGetNode createGetHidden(com.oracle.truffle.api.object.HiddenKey key, JSContext context)
public final int getValueInt(Object obj) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException
public final double getValueDouble(Object obj) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException
public final boolean getValueBoolean(Object obj) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException
public final long getValueLong(Object obj) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException
protected int getValueInt(Object thisObj, Object receiver) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException
protected double getValueDouble(Object thisObj, Object receiver) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException
protected boolean getValueBoolean(Object thisObj, Object receiver) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException
protected long getValueLong(Object thisObj, Object receiver) throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException
protected Object getValueOrDefault(Object thisObj, Object receiver, Object defaultValue)
protected PropertyGetNode.GetCacheNode createCachedPropertyNode(com.oracle.truffle.api.object.Property property, Object thisObj, int depth, Object value, PropertyGetNode.GetCacheNode currentHead)
createCachedPropertyNode
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
property
- The particular entry of the property being accessed.protected PropertyGetNode.GetCacheNode createJavaPropertyNodeMaybe(Object thisObj, int depth)
createJavaPropertyNodeMaybe
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
protected PropertyGetNode.GetCacheNode createUndefinedPropertyNode(Object thisObj, Object store, int depth, Object value)
createUndefinedPropertyNode
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
protected PropertyGetNode.GetCacheNode createJSProxyCache(PropertyCacheNode.ReceiverCheckNode receiverCheck)
protected PropertyGetNode.GetCacheNode createUndefinedOrErrorPropertyNode(PropertyCacheNode.ReceiverCheckNode receiverCheck)
protected PropertyGetNode.GetCacheNode createGenericPropertyNode()
createGenericPropertyNode
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
protected final boolean isRequired()
protected final boolean isGlobal()
isGlobal
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
protected final boolean isOwnProperty()
isOwnProperty
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
protected boolean isMethod()
protected void setMethod()
protected boolean isPropertyAssumptionCheckEnabled()
isPropertyAssumptionCheckEnabled
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
protected void setPropertyAssumptionCheckEnabled(boolean value)
setPropertyAssumptionCheckEnabled
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>
protected PropertyGetNode.GetCacheNode createTruffleObjectPropertyNode()
createTruffleObjectPropertyNode
in class PropertyCacheNode<PropertyGetNode.GetCacheNode>