internal JsonMapSyntax(JsonValueWithBackgroundSyntax parent, GreenJsonMapSyntax green) : base(parent) { Green = green; CurlyOpen = new JsonCurlyOpenSyntax(this); int keyValueNodeCount = green.KeyValueNodes.Count; KeyValueNodes = new SafeLazyObjectCollection <JsonKeyValueSyntax>( keyValueNodeCount, index => new JsonKeyValueSyntax(this, index)); Commas = new SafeLazyObjectCollection <JsonCommaSyntax>( keyValueNodeCount - 1, index => new JsonCommaSyntax(this, index)); CurlyClose = green.MissingCurlyClose ? Maybe <JsonCurlyCloseSyntax> .Nothing : new JsonCurlyCloseSyntax(this); }
public virtual TResult VisitCurlyOpenSyntax(JsonCurlyOpenSyntax node, T arg) => DefaultVisit(node, arg);
public override JsonSyntax VisitCurlyOpenSyntax(JsonCurlyOpenSyntax node, _void arg) => node;