internal JsonValueWithBackgroundSyntax(JsonMultiValueSyntax parent, int parentValueNodeIndex)
        {
            Parent = parent;
            ParentValueNodeIndex = parentValueNodeIndex;
            Green = parent.Green.ValueNodes[parentValueNodeIndex];

            backgroundBefore = new SafeLazyObject<JsonBackgroundListSyntax>(() => new JsonBackgroundListSyntax(this));
            contentNode = new SafeLazyObject<JsonValueSyntax>(() => JsonValueSyntaxCreator.Instance.Visit(Green.ContentNode, this));
        }
Esempio n. 2
0
 /// <summary>
 /// Initializes a new instance of <see cref="RootJsonSyntax"/>.
 /// </summary>
 /// <param name="syntax">
 /// The root <see cref="GreenJsonMultiValueSyntax"/> node from which to construct a <see cref="JsonMultiValueSyntax"/> abstract syntax tree.
 /// </param>
 /// <param name="errors">
 /// The enumeration containing all errors generated during a parse.
 /// </param>
 /// <exception cref="ArgumentNullException">
 /// <paramref name="syntax"/> and/or <paramref name="errors"/> are null.
 /// </exception>
 public RootJsonSyntax(GreenJsonMultiValueSyntax syntax, IEnumerable <JsonErrorInfo> errors)
 {
     if (syntax == null)
     {
         throw new ArgumentNullException(nameof(syntax));
     }
     if (errors == null)
     {
         throw new ArgumentNullException(nameof(errors));
     }
     Syntax = new JsonMultiValueSyntax(syntax);
     Errors = errors is List <JsonErrorInfo> errorList ? errorList : new List <JsonErrorInfo>(errors);
 }