Class EntriesLiteralNode
- 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
-
- org.pkl.core.ast.expression.literal.SpecializedObjectLiteralNode
-
- org.pkl.core.ast.expression.literal.EntriesLiteralNode
-
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,java.lang.Cloneable
public abstract class EntriesLiteralNode extends SpecializedObjectLiteralNode
Object literal that contains entries (and possibly properties) but not elements. Additionally, at least one entry key is not a constant. (If all keys are constants, ConstantEntriesLiteralNode is used.) Example: `foo { ["on" + "e"] = 1 }`
-
-
Field Summary
-
Fields inherited from class org.pkl.core.ast.expression.literal.SpecializedObjectLiteralNode
maxListingMemberIndex, members
-
Fields inherited from class org.pkl.core.ast.expression.literal.ObjectLiteralNode
isCustomThisScope, language, parametersDescriptor, parameterTypes, qualifiedScopeName
-
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection
-
-
Constructor Summary
Constructors Constructor Description EntriesLiteralNode(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, org.graalvm.collections.UnmodifiableEconomicMap<java.lang.Object,ObjectMember> members, ExpressionNode[] keyNodes, ObjectMember[] values)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EntriesLiteralNodecopy(ExpressionNode newParentNode)protected org.graalvm.collections.UnmodifiableEconomicMap<java.lang.Object,ObjectMember>createListMembers(com.oracle.truffle.api.frame.VirtualFrame frame, int parentLength)protected org.graalvm.collections.EconomicMap<java.lang.Object,ObjectMember>createMapMembers(com.oracle.truffle.api.frame.VirtualFrame frame)protected VmDynamicevalDynamic(com.oracle.truffle.api.frame.VirtualFrame frame, VmDynamic parent)protected VmDynamicevalDynamicClass(com.oracle.truffle.api.frame.VirtualFrame frame, VmClass parent)protected VmFunctionevalFunction(com.oracle.truffle.api.frame.VirtualFrame frame, VmFunction parent, AmendFunctionNode amendFunctionNode)protected VmListingevalListing(com.oracle.truffle.api.frame.VirtualFrame frame, VmListing parent)protected voidevalListingClass(VmClass parent)protected VmMappingevalMapping(com.oracle.truffle.api.frame.VirtualFrame frame, VmMapping parent)protected VmMappingevalMappingClass(com.oracle.truffle.api.frame.VirtualFrame frame, VmClass parent)protected java.lang.ObjectevalNull(com.oracle.truffle.api.frame.VirtualFrame frame, VmNull parent)protected voidfallback(java.lang.Object parent)-
Methods inherited from class org.pkl.core.ast.expression.literal.SpecializedObjectLiteralNode
addListEntries, checkIsValidListingAmendment, checkIsValidMappingAmendment, checkIsValidTypedAmendment, checkMaxListingMemberIndex, elementsEntriesFallback, findFirstNonDefaultProperty, findFirstNonProperty
-
Methods inherited from class org.pkl.core.ast.expression.literal.ObjectLiteralNode
checkIsValidFunctionAmendment, createAmendFunctionNode, executeWithParent, getParentNode, isTypedObjectClass
-
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
-
-
-
-
Constructor Detail
-
EntriesLiteralNode
public EntriesLiteralNode(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, org.graalvm.collections.UnmodifiableEconomicMap<java.lang.Object,ObjectMember> members, ExpressionNode[] keyNodes, ObjectMember[] values)
-
-
Method Detail
-
copy
public EntriesLiteralNode copy(ExpressionNode newParentNode)
- Specified by:
copyin classObjectLiteralNode
-
evalMapping
protected VmMapping evalMapping(com.oracle.truffle.api.frame.VirtualFrame frame, VmMapping parent)
-
evalDynamic
protected VmDynamic evalDynamic(com.oracle.truffle.api.frame.VirtualFrame frame, VmDynamic parent)
-
evalListing
protected VmListing evalListing(com.oracle.truffle.api.frame.VirtualFrame frame, VmListing parent)
-
evalNull
protected java.lang.Object evalNull(com.oracle.truffle.api.frame.VirtualFrame frame, VmNull parent)
-
evalFunction
protected VmFunction evalFunction(com.oracle.truffle.api.frame.VirtualFrame frame, VmFunction parent, AmendFunctionNode amendFunctionNode)
-
evalMappingClass
protected VmMapping evalMappingClass(com.oracle.truffle.api.frame.VirtualFrame frame, VmClass parent)
-
evalDynamicClass
protected VmDynamic evalDynamicClass(com.oracle.truffle.api.frame.VirtualFrame frame, VmClass parent)
-
evalListingClass
protected void evalListingClass(VmClass parent)
-
fallback
protected void fallback(java.lang.Object parent)
-
createMapMembers
protected org.graalvm.collections.EconomicMap<java.lang.Object,ObjectMember> createMapMembers(com.oracle.truffle.api.frame.VirtualFrame frame)
-
createListMembers
protected org.graalvm.collections.UnmodifiableEconomicMap<java.lang.Object,ObjectMember> createListMembers(com.oracle.truffle.api.frame.VirtualFrame frame, int parentLength)
-
-