Class ResolveMethodNode
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.ResolveMethodNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
Resolves a method name in a method call with implicit receiver, for example `bar` in `x = bar()`
(but not `foo.bar()`).
A method name can refer to any of the following: - a (potentially `local`) method in the lexical scope - a base module method - a method accessible through `this`
This node's task is to make a one-time decision between these alternatives for the call site it represents.
-
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 inherited from class org.pkl.core.ast.PklNode
sourceSection -
Constructor Summary
ConstructorsConstructorDescriptionResolveMethodNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier methodName, ExpressionNode[] argumentNodes, boolean isBaseModule, boolean isCustomThisScope, ConstLevel constLevel, int constDepth) -
Method Summary
Modifier and TypeMethodDescriptionexecuteGeneric(com.oracle.truffle.api.frame.VirtualFrame frame) Methods inherited from class org.pkl.core.ast.ExpressionNode
executeBoolean, executeFloat, executeIntMethods inherited from class org.pkl.core.ast.PklNode
exceptionBuilder, getShortName, getSourceSection, toStringMethods 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
-
Constructor Details
-
ResolveMethodNode
public ResolveMethodNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier methodName, ExpressionNode[] argumentNodes, boolean isBaseModule, boolean isCustomThisScope, ConstLevel constLevel, int constDepth)
-
-
Method Details
-
executeGeneric
- Specified by:
executeGenericin classExpressionNode
-