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,java.lang.Cloneable
public abstract class ReadPropertyNode extends ExpressionNode
-
-
Field Summary
Fields Modifier and Type Field Description protected IdentifierpropertyName-
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedReadPropertyNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier propertyName)protectedReadPropertyNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier propertyName, boolean needsConst)protectedReadPropertyNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier propertyName, MemberLookupMode lookupMode, boolean needsConst)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static com.oracle.truffle.api.nodes.DirectCallNodecreateCallNode(ClassProperty resolvedProperty)protected java.lang.ObjectevalObject(java.lang.Object receiver, java.lang.Class<? extends VmObjectLike> cachedClass, com.oracle.truffle.api.nodes.IndirectCallNode callNode)protected java.lang.ObjectevalOther(java.lang.Object receiver, java.lang.Class<?> cachedClass, ClassProperty resolvedProperty, com.oracle.truffle.api.nodes.DirectCallNode callNode)protected static @Nullable java.lang.Class<? extends VmObjectLike>getVmObjectSubclassOrNull(java.lang.Object value)protected ClassPropertyresolveProperty(java.lang.Object value)-
Methods inherited from class org.pkl.core.ast.ExpressionNode
executeBoolean, executeFloat, executeGeneric, executeInt
-
Methods inherited from class org.pkl.core.ast.PklNode
exceptionBuilder, getShortName, getSourceSection, toString
-
Methods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize
-
-
-
-
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)
-
-