Class 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 }`
    • 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

      • 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)
      • 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)