Class ObjectLiteralNode
- java.lang.Object
-
- com.oracle.truffle.api.nodes.Node
-
- org.pkl.core.ast.PklNode
-
- org.pkl.core.ast.ExpressionNode
-
- org.pkl.core.ast.expression.literal.ObjectLiteralNode
-
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,java.lang.Cloneable
- Direct Known Subclasses:
GeneratorObjectLiteralNode,SpecializedObjectLiteralNode
public abstract class ObjectLiteralNode extends ExpressionNode
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanisCustomThisScopeprotected VmLanguagelanguageprotected @Nullable com.oracle.truffle.api.frame.FrameDescriptorparametersDescriptorprotected UnresolvedTypeNode[]parameterTypesprotected java.lang.StringqualifiedScopeName-
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection
-
-
Constructor Summary
Constructors Constructor Description ObjectLiteralNode(com.oracle.truffle.api.source.SourceSection sourceSection, VmLanguage language, java.lang.String qualifiedScopeName, boolean isCustomThisScope, @Nullable com.oracle.truffle.api.frame.FrameDescriptor parametersDescriptor, UnresolvedTypeNode[] parameterTypes)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleancheckIsValidFunctionAmendment(VmFunction parent)protected abstract ObjectLiteralNodecopy(ExpressionNode newParentNode)protected AmendFunctionNodecreateAmendFunctionNode(com.oracle.truffle.api.frame.VirtualFrame frame)protected abstract java.lang.ObjectexecuteWithParent(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.Object parent)protected abstract ExpressionNodegetParentNode()protected static booleanisTypedObjectClass(VmClass clazz)-
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
-
language
protected final VmLanguage language
-
qualifiedScopeName
protected final java.lang.String qualifiedScopeName
-
isCustomThisScope
protected final boolean isCustomThisScope
-
parametersDescriptor
protected final @Nullable com.oracle.truffle.api.frame.FrameDescriptor parametersDescriptor
-
parameterTypes
protected final UnresolvedTypeNode[] parameterTypes
-
-
Constructor Detail
-
ObjectLiteralNode
public ObjectLiteralNode(com.oracle.truffle.api.source.SourceSection sourceSection, VmLanguage language, java.lang.String qualifiedScopeName, boolean isCustomThisScope, @Nullable com.oracle.truffle.api.frame.FrameDescriptor parametersDescriptor, UnresolvedTypeNode[] parameterTypes)
-
-
Method Detail
-
getParentNode
protected abstract ExpressionNode getParentNode()
-
executeWithParent
protected abstract java.lang.Object executeWithParent(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.Object parent)
-
copy
protected abstract ObjectLiteralNode copy(ExpressionNode newParentNode)
-
createAmendFunctionNode
protected final AmendFunctionNode createAmendFunctionNode(com.oracle.truffle.api.frame.VirtualFrame frame)
-
isTypedObjectClass
protected static boolean isTypedObjectClass(VmClass clazz)
-
checkIsValidFunctionAmendment
protected final boolean checkIsValidFunctionAmendment(VmFunction parent)
-
-