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,Cloneable
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 }`
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Field Summary
Fields inherited from class org.pkl.core.ast.expression.literal.SpecializedObjectLiteralNode
maxListingMemberIndex, membersFields inherited from class org.pkl.core.ast.expression.literal.ObjectLiteralNode
isCustomThisScope, language, parametersDescriptor, parameterTypes, qualifiedScopeNameFields inherited from class org.pkl.core.ast.PklNode
sourceSection -
Constructor Summary
ConstructorsConstructorDescriptionEntriesLiteralNode(com.oracle.truffle.api.source.SourceSection sourceSection, VmLanguage language, String qualifiedScopeName, boolean isCustomThisScope, @Nullable com.oracle.truffle.api.frame.FrameDescriptor parametersDescriptor, UnresolvedTypeNode[] parameterTypes, org.graalvm.collections.UnmodifiableEconomicMap<Object, ObjectMember> members, ExpressionNode[] keyNodes, ObjectMember[] values) -
Method Summary
Modifier and TypeMethodDescriptioncopy(ExpressionNode newParentNode) protected org.graalvm.collections.UnmodifiableEconomicMap<Object,ObjectMember> createListMembers(com.oracle.truffle.api.frame.VirtualFrame frame, int parentLength) protected org.graalvm.collections.EconomicMap<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 Objectprotected voidMethods inherited from class org.pkl.core.ast.expression.literal.SpecializedObjectLiteralNode
addListEntries, checkIsValidListingAmendment, checkIsValidMappingAmendment, checkIsValidTypedAmendment, checkMaxListingMemberIndex, elementsEntriesFallback, findFirstNonDefaultProperty, findFirstNonPropertyMethods inherited from class org.pkl.core.ast.expression.literal.ObjectLiteralNode
checkIsValidFunctionAmendment, createAmendFunctionNode, executeWithParent, getParentNode, isTypedObjectClassMethods inherited from class org.pkl.core.ast.ExpressionNode
executeBoolean, executeFloat, executeGeneric, executeIntMethods inherited from class org.pkl.core.ast.PklNode
exceptionBuilder, getShortName, getSourceSection, toStringMethods 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 Details
-
EntriesLiteralNode
public EntriesLiteralNode(com.oracle.truffle.api.source.SourceSection sourceSection, VmLanguage language, String qualifiedScopeName, boolean isCustomThisScope, @Nullable @Nullable com.oracle.truffle.api.frame.FrameDescriptor parametersDescriptor, UnresolvedTypeNode[] parameterTypes, org.graalvm.collections.UnmodifiableEconomicMap<Object, ObjectMember> members, ExpressionNode[] keyNodes, ObjectMember[] values)
-
-
Method Details
-
copy
- Specified by:
copyin classObjectLiteralNode
-
evalMapping
-
evalDynamic
-
evalListing
-
evalNull
-
evalFunction
protected VmFunction evalFunction(com.oracle.truffle.api.frame.VirtualFrame frame, VmFunction parent, AmendFunctionNode amendFunctionNode) -
evalMappingClass
-
evalDynamicClass
-
evalListingClass
-
fallback
-
createMapMembers
protected org.graalvm.collections.EconomicMap<Object,ObjectMember> createMapMembers(com.oracle.truffle.api.frame.VirtualFrame frame) -
createListMembers
protected org.graalvm.collections.UnmodifiableEconomicMap<Object,ObjectMember> createListMembers(com.oracle.truffle.api.frame.VirtualFrame frame, int parentLength)
-