Package org.pkl.core.ast.member
Class TypeCheckedPropertyNode
- java.lang.Object
-
- com.oracle.truffle.api.nodes.Node
-
- com.oracle.truffle.api.nodes.ExecutableNode
-
- com.oracle.truffle.api.nodes.RootNode
-
- org.pkl.core.ast.PklRootNode
-
- org.pkl.core.ast.MemberNode
-
- org.pkl.core.ast.member.TypeCheckedPropertyNode
-
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,java.lang.Cloneable
public abstract class TypeCheckedPropertyNode extends MemberNode
A property definition that does not have a type annotation but should be type-checked.
-
-
Field Summary
Fields Modifier and Type Field Description protected ExpressionNodeownerNode-
Fields inherited from class org.pkl.core.ast.MemberNode
bodyNode, member
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTypeCheckedPropertyNode(@Nullable VmLanguage language, com.oracle.truffle.api.frame.FrameDescriptor descriptor, ObjectMember member, ExpressionNode bodyNode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected @Nullable com.oracle.truffle.api.nodes.DirectCallNodecreateTypeCheckCallNode(ClassProperty property)protected java.lang.Objecteval(com.oracle.truffle.api.frame.VirtualFrame frame, VmDynamic owner)protected java.lang.Objecteval(com.oracle.truffle.api.frame.VirtualFrame frame, VmObjectLike owner, com.oracle.truffle.api.nodes.IndirectCallNode callNode)protected java.lang.ObjectevalTypedObjectCached(com.oracle.truffle.api.frame.VirtualFrame frame, VmTyped owner, VmClass cachedOwnerClass, ClassProperty property, @Nullable com.oracle.truffle.api.nodes.DirectCallNode callNode)protected ClassPropertygetProperty(VmClass ownerClass)-
Methods inherited from class org.pkl.core.ast.MemberNode
exceptionBuilder, executeBody, getBodyNode, getBodySection, getHeaderSection, getName, getSourceSection, isUndefined, replaceBody, shouldRunTypecheck
-
Methods inherited from class org.pkl.core.ast.PklRootNode
executeBody
-
Methods inherited from class com.oracle.truffle.api.nodes.RootNode
cloneUninitialized, copy, countsTowardsStackTraceLimit, createConstantNode, execute, findAsynchronousFrames, getCallTarget, getFrameDescriptor, getParentFrameDescriptor, getQualifiedName, isCaptureFramesForTrace, isCloneUninitializedSupported, isCloningAllowed, isInstrumentable, isInternal, isTrivial, prepareForAOT, translateStackTraceElement
-
Methods inherited from class com.oracle.truffle.api.nodes.ExecutableNode
getLanguage, getLanguageInfo
-
Methods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, toString
-
-
-
-
Field Detail
-
ownerNode
protected ExpressionNode ownerNode
-
-
Constructor Detail
-
TypeCheckedPropertyNode
protected TypeCheckedPropertyNode(@Nullable VmLanguage language, com.oracle.truffle.api.frame.FrameDescriptor descriptor, ObjectMember member, ExpressionNode bodyNode)
-
-
Method Detail
-
evalTypedObjectCached
protected java.lang.Object evalTypedObjectCached(com.oracle.truffle.api.frame.VirtualFrame frame, VmTyped owner, VmClass cachedOwnerClass, ClassProperty property, @Nullable com.oracle.truffle.api.nodes.DirectCallNode callNode)
-
eval
protected java.lang.Object eval(com.oracle.truffle.api.frame.VirtualFrame frame, VmObjectLike owner, com.oracle.truffle.api.nodes.IndirectCallNode callNode)
-
eval
protected java.lang.Object eval(com.oracle.truffle.api.frame.VirtualFrame frame, VmDynamic owner)
-
getProperty
protected ClassProperty getProperty(VmClass ownerClass)
-
createTypeCheckCallNode
protected @Nullable com.oracle.truffle.api.nodes.DirectCallNode createTypeCheckCallNode(ClassProperty property)
-
-