Class ReadPropertyNode

  • All Implemented Interfaces:
    com.oracle.truffle.api.nodes.NodeInterface, java.lang.Cloneable

    public abstract class ReadPropertyNode
    extends ExpressionNode
    • 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 
      Modifier Constructor Description
      protected ReadPropertyNode​(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier propertyName)  
      protected ReadPropertyNode​(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier propertyName, boolean needsConst)  
      protected ReadPropertyNode​(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier propertyName, MemberLookupMode lookupMode, boolean needsConst)  
    • Field Detail

      • propertyName

        protected final Identifier propertyName
    • Constructor Detail

      • ReadPropertyNode

        protected ReadPropertyNode​(com.oracle.truffle.api.source.SourceSection sourceSection,
                                   Identifier propertyName,
                                   MemberLookupMode lookupMode,
                                   boolean needsConst)
      • ReadPropertyNode

        protected ReadPropertyNode​(com.oracle.truffle.api.source.SourceSection sourceSection,
                                   Identifier propertyName,
                                   boolean needsConst)
      • ReadPropertyNode

        protected ReadPropertyNode​(com.oracle.truffle.api.source.SourceSection sourceSection,
                                   Identifier propertyName)
    • Method Detail

      • evalObject

        protected java.lang.Object evalObject​(java.lang.Object receiver,
                                              java.lang.Class<? extends VmObjectLike> cachedClass,
                                              com.oracle.truffle.api.nodes.IndirectCallNode callNode)
      • evalOther

        protected java.lang.Object evalOther​(java.lang.Object receiver,
                                             java.lang.Class<?> cachedClass,
                                             ClassProperty resolvedProperty,
                                             com.oracle.truffle.api.nodes.DirectCallNode callNode)
      • getVmObjectSubclassOrNull

        protected static @Nullable java.lang.Class<? extends VmObjectLike> getVmObjectSubclassOrNull​(java.lang.Object value)
      • resolveProperty

        protected ClassProperty resolveProperty​(java.lang.Object value)
      • createCallNode

        protected static com.oracle.truffle.api.nodes.DirectCallNode createCallNode​(ClassProperty resolvedProperty)