Class ReadPropertyNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
org.pkl.core.ast.PklNode
org.pkl.core.ast.ExpressionNode
org.pkl.core.ast.expression.member.ReadPropertyNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable

public abstract class ReadPropertyNode extends ExpressionNode
  • Field Details

    • propertyName

      protected final Identifier propertyName
  • Constructor Details

    • 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 Details

    • evalObject

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

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

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

      protected ClassProperty resolveProperty(Object value)
    • createCallNode

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