Package org.pkl.core.ast.member
Class FunctionNode
- 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.FunctionNode
-
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,java.lang.Cloneable
public final class FunctionNode extends MemberNode
-
-
Field Summary
-
Fields inherited from class org.pkl.core.ast.MemberNode
bodyNode, member
-
-
Constructor Summary
Constructors Constructor Description FunctionNode(VmLanguage language, com.oracle.truffle.api.frame.FrameDescriptor descriptor, Member member, int paramCount, TypeNode[] parameterTypeNodes, @Nullable TypeNode returnTypeNode, boolean isReturnTypeChecked, ExpressionNode bodyNode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectexecute(com.oracle.truffle.api.frame.VirtualFrame frame)PClass.Methodexport(PClass owner, @Nullable com.oracle.truffle.api.source.SourceSection docComment, java.util.List<VmTyped> annotations, int modifiers, java.util.List<TypeParameter> typeParameters)java.lang.StringgetCallSignature()intgetParameterCount()VmMapgetParameterMirrors()VmTypedgetReturnTypeMirror()@Nullable TypeNodegetReturnTypeNode()-
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, 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
-
-
-
-
Constructor Detail
-
FunctionNode
public FunctionNode(VmLanguage language, com.oracle.truffle.api.frame.FrameDescriptor descriptor, Member member, int paramCount, TypeNode[] parameterTypeNodes, @Nullable TypeNode returnTypeNode, boolean isReturnTypeChecked, ExpressionNode bodyNode)
-
-
Method Detail
-
getParameterCount
public int getParameterCount()
-
getCallSignature
public java.lang.String getCallSignature()
-
execute
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
- Specified by:
executein classcom.oracle.truffle.api.nodes.RootNode
-
getParameterMirrors
public VmMap getParameterMirrors()
-
getReturnTypeMirror
public VmTyped getReturnTypeMirror()
-
export
public PClass.Method export(PClass owner, @Nullable com.oracle.truffle.api.source.SourceSection docComment, java.util.List<VmTyped> annotations, int modifiers, java.util.List<TypeParameter> typeParameters)
-
-