Class PropertyCacheNode.TraversePrototypeChainShapeCheckNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode.ReceiverCheckNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode.AbstractShapeCheckNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode.TraversePrototypeChainShapeCheckNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Enclosing class:
PropertyCacheNode<T extends PropertyCacheNode.CacheNode<T>>
protected static final class PropertyCacheNode.TraversePrototypeChainShapeCheckNode
extends PropertyCacheNode.AbstractShapeCheckNode
Check the shapes of the prototype chain up to the given depth.
This class actually traverses the prototype chain and checks each prototype shape's identity.
- See Also:
-
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 -
Field Summary
Fields inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode.ReceiverCheckNode
shape -
Constructor Summary
ConstructorsConstructorDescriptionTraversePrototypeChainShapeCheckNode(com.oracle.truffle.api.object.Shape shape, JSDynamicObject thisObj, int depth) -
Method Summary
Methods inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode.ReceiverCheckNode
getShape, isUnstableMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplaceMethods 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, toString
-
Constructor Details
-
TraversePrototypeChainShapeCheckNode
public TraversePrototypeChainShapeCheckNode(com.oracle.truffle.api.object.Shape shape, JSDynamicObject thisObj, int depth)
-
-
Method Details
-
accept
Description copied from class:PropertyCacheNode.ReceiverCheckNodeCheck receiver shape, class, or instance.- Overrides:
acceptin classPropertyCacheNode.AbstractShapeCheckNode- Returns:
- whether the object is supported by the associated property cache node.
-
getStore
- Specified by:
getStorein classPropertyCacheNode.AbstractShapeCheckNode- Returns:
- the
JSDynamicObjectthat contains the property.
-
getDepth
public int getDepth()- Overrides:
getDepthin classPropertyCacheNode.AbstractShapeCheckNode
-
isValid
public boolean isValid()Description copied from class:PropertyCacheNode.ReceiverCheckNodeChecks if all required assumptions are valid.- Specified by:
isValidin classPropertyCacheNode.AbstractShapeCheckNode
-