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, Cloneable
Direct Known Subclasses:
GeneratorObjectLiteralNode, SpecializedObjectLiteralNode

public abstract class ObjectLiteralNode extends ExpressionNode
  • Field Details

    • language

      protected final VmLanguage language
    • qualifiedScopeName

      protected final String qualifiedScopeName
    • isCustomThisScope

      protected final boolean isCustomThisScope
    • parametersDescriptor

      @Nullable protected final @Nullable com.oracle.truffle.api.frame.FrameDescriptor parametersDescriptor
    • parameterTypes

      protected final UnresolvedTypeNode[] parameterTypes
  • Constructor Details

    • ObjectLiteralNode

      public ObjectLiteralNode(com.oracle.truffle.api.source.SourceSection sourceSection, VmLanguage language, String qualifiedScopeName, boolean isCustomThisScope, @Nullable @Nullable com.oracle.truffle.api.frame.FrameDescriptor parametersDescriptor, UnresolvedTypeNode[] parameterTypes)
  • Method Details

    • getParentNode

      protected abstract ExpressionNode getParentNode()
    • executeWithParent

      protected abstract Object executeWithParent(com.oracle.truffle.api.frame.VirtualFrame frame, 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)