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,java.lang.Cloneable
public abstract class InvokeMethodVirtualNode extends ExpressionNode
A virtual method call.
-
-
Field Summary
Fields Modifier and Type Field Description protected IdentifiermethodName-
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedInvokeMethodVirtualNode(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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.Objecteval(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.Object receiver, VmClass receiverClass, com.oracle.truffle.api.nodes.IndirectCallNode callNode)protected java.lang.ObjectevalCached(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.Object receiver, VmClass receiverClass, VmClass cachedReceiverClass, ClassMethod method, com.oracle.truffle.api.nodes.DirectCallNode callNode)protected java.lang.ObjectevalFunction(com.oracle.truffle.api.frame.VirtualFrame frame, VmFunction receiver, VmClass receiverClass, com.oracle.truffle.api.nodes.IndirectCallNode callNode)Intrinsifies `FunctionN.apply()` calls.protected java.lang.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 java.lang.ObjectexecuteWith(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.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, 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
-
methodName
protected final Identifier methodName
-
-
Constructor Detail
-
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 Detail
-
executeWith
public abstract java.lang.Object executeWith(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.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 java.lang.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 java.lang.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 java.lang.Object evalCached(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.Object receiver, VmClass receiverClass, VmClass cachedReceiverClass, ClassMethod method, com.oracle.truffle.api.nodes.DirectCallNode callNode)
-
eval
protected java.lang.Object eval(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.Object receiver, VmClass receiverClass, com.oracle.truffle.api.nodes.IndirectCallNode callNode)
-
resolveMethod
protected ClassMethod resolveMethod(VmClass receiverClass)
-
-