Class InvokeMethodVirtualNode
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.InvokeMethodVirtualNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
A virtual method call.
-
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
FieldsFields inherited from class org.pkl.core.ast.PklNode
sourceSection -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedInvokeMethodVirtualNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier methodName, ExpressionNode[] argumentNodes, MemberLookupMode lookupMode) protectedInvokeMethodVirtualNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier methodName, ExpressionNode[] argumentNodes, MemberLookupMode lookupMode, boolean needsConst) -
Method Summary
Modifier and TypeMethodDescriptionprotected Objecteval(com.oracle.truffle.api.frame.VirtualFrame frame, Object receiver, VmClass receiverClass, com.oracle.truffle.api.nodes.IndirectCallNode callNode) protected ObjectevalCached(com.oracle.truffle.api.frame.VirtualFrame frame, Object receiver, VmClass receiverClass, VmClass cachedReceiverClass, ClassMethod method, com.oracle.truffle.api.nodes.DirectCallNode callNode) protected ObjectevalFunction(com.oracle.truffle.api.frame.VirtualFrame frame, VmFunction receiver, VmClass receiverClass, com.oracle.truffle.api.nodes.IndirectCallNode callNode) Intrinsifies `FunctionN.apply()` calls.protected ObjectevalFunctionCached(com.oracle.truffle.api.frame.VirtualFrame frame, VmFunction receiver, VmClass receiverClass, com.oracle.truffle.api.RootCallTarget cachedCallTarget, com.oracle.truffle.api.nodes.DirectCallNode callNode) Intrinsifies `FunctionN.apply()` calls.abstract ObjectexecuteWith(com.oracle.truffle.api.frame.VirtualFrame frame, Object value, VmClass clazz) When only using this execute method, pass `null` for `receiverNode` and `receiverClassNode` toInvokeMethodVirtualNodeGen.create(com.oracle.truffle.api.source.SourceSection, org.pkl.core.runtime.Identifier, org.pkl.core.ast.ExpressionNode[], org.pkl.core.ast.MemberLookupMode, boolean, org.pkl.core.ast.ExpressionNode, org.pkl.core.ast.internal.GetClassNode).protected ClassMethodresolveMethod(VmClass receiverClass) Methods inherited from class org.pkl.core.ast.ExpressionNode
executeBoolean, executeFloat, executeGeneric, 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
-
Field Details
-
methodName
-
-
Constructor Details
-
InvokeMethodVirtualNode
protected InvokeMethodVirtualNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier methodName, ExpressionNode[] argumentNodes, MemberLookupMode lookupMode, boolean needsConst) -
InvokeMethodVirtualNode
protected InvokeMethodVirtualNode(com.oracle.truffle.api.source.SourceSection sourceSection, Identifier methodName, ExpressionNode[] argumentNodes, MemberLookupMode lookupMode)
-
-
Method Details
-
executeWith
public abstract Object executeWith(com.oracle.truffle.api.frame.VirtualFrame frame, Object value, VmClass clazz) When only using this execute method, pass `null` for `receiverNode` and `receiverClassNode` toInvokeMethodVirtualNodeGen.create(com.oracle.truffle.api.source.SourceSection, org.pkl.core.runtime.Identifier, org.pkl.core.ast.ExpressionNode[], org.pkl.core.ast.MemberLookupMode, boolean, org.pkl.core.ast.ExpressionNode, org.pkl.core.ast.internal.GetClassNode). -
evalFunctionCached
protected Object evalFunctionCached(com.oracle.truffle.api.frame.VirtualFrame frame, VmFunction receiver, VmClass receiverClass, com.oracle.truffle.api.RootCallTarget cachedCallTarget, com.oracle.truffle.api.nodes.DirectCallNode callNode) Intrinsifies `FunctionN.apply()` calls. -
evalFunction
protected Object evalFunction(com.oracle.truffle.api.frame.VirtualFrame frame, VmFunction receiver, VmClass receiverClass, com.oracle.truffle.api.nodes.IndirectCallNode callNode) Intrinsifies `FunctionN.apply()` calls. -
evalCached
protected Object evalCached(com.oracle.truffle.api.frame.VirtualFrame frame, Object receiver, VmClass receiverClass, VmClass cachedReceiverClass, ClassMethod method, com.oracle.truffle.api.nodes.DirectCallNode callNode) -
eval
-
resolveMethod
-