Class PropertyCacheNode.ReceiverCheckNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode.ReceiverCheckNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Direct Known Subclasses:
PropertyCacheNode.AbstractShapeCheckNode, PropertyCacheNode.CombinedShapeCheckNode, PropertyCacheNode.ForeignLanguageCheckNode, PropertyCacheNode.InstanceofCheckNode, PropertyCacheNode.NullCheckNode
Enclosing class:
PropertyCacheNode<T extends PropertyCacheNode.CacheNode<T>>

protected abstract static class PropertyCacheNode.ReceiverCheckNode extends JavaScriptBaseNode
Checks whether the receiver can be handled by the corresponding specialization.
  • 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
    Modifier and Type
    Field
    Description
    protected final com.oracle.truffle.api.object.Shape
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    ReceiverCheckNode(com.oracle.truffle.api.object.Shape shape)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract boolean
    accept(Object thisObj)
    Check receiver shape, class, or instance.
    final com.oracle.truffle.api.object.Shape
     
    getStore(Object thisObj)
     
    protected boolean
     
    boolean
    Checks if all required assumptions are valid.

    Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode

    copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplace

    Methods 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • shape

      protected final com.oracle.truffle.api.object.Shape shape
  • Constructor Details

    • ReceiverCheckNode

      protected ReceiverCheckNode(com.oracle.truffle.api.object.Shape shape)
  • Method Details

    • accept

      public abstract boolean accept(Object thisObj)
      Check receiver shape, class, or instance.
      Returns:
      whether the object is supported by the associated property cache node.
    • getStore

      public abstract JSDynamicObject getStore(Object thisObj)
      Returns:
      the object that contains the property.
    • getShape

      public final com.oracle.truffle.api.object.Shape getShape()
    • isValid

      public boolean isValid()
      Checks if all required assumptions are valid.
    • isUnstable

      protected boolean isUnstable()
      Returns:
      true if a stable property assumption failed.