コード例 #1
0
        internal JsonListSyntax(JsonValueWithBackgroundSyntax parent, GreenJsonListSyntax green) : base(parent)
        {
            Green = green;

            SquareBracketOpen = new JsonSquareBracketOpenSyntax(this);

            int listItemNodeCount = green.ListItemNodes.Count;

            ListItemNodes = new SafeLazyObjectCollection <JsonMultiValueSyntax>(
                listItemNodeCount,
                index => new JsonMultiValueSyntax(this, index));

            Commas = new SafeLazyObjectCollection <JsonCommaSyntax>(
                listItemNodeCount - 1,
                index => new JsonCommaSyntax(this, index));

            SquareBracketClose = green.MissingSquareBracketClose
                               ? Maybe <JsonSquareBracketCloseSyntax> .Nothing
                               : new JsonSquareBracketCloseSyntax(this);

            FilteredListItemNodeCount = Green.FilteredListItemNodeCount;
        }
コード例 #2
0
 public virtual TResult VisitSquareBracketOpenSyntax(JsonSquareBracketOpenSyntax node, T arg) => DefaultVisit(node, arg);
コード例 #3
0
 public override JsonSyntax VisitSquareBracketOpenSyntax(JsonSquareBracketOpenSyntax node, _void arg) => node;