/// <summary> /// Initializes a new instance of <see cref="RootPgnSyntax"/>. /// </summary> /// <param name="gameListSyntax"> /// The syntax tree containing a list of PGN games. /// </param> /// <param name="errors"> /// The collection of parse errors. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="gameListSyntax"/> and/or <paramref name="errors"/> is null. /// </exception> public RootPgnSyntax(GreenPgnGameListSyntax gameListSyntax, List <PgnErrorInfo> errors) { if (gameListSyntax == null) { throw new ArgumentNullException(nameof(gameListSyntax)); } GameListSyntax = new PgnGameListSyntax(gameListSyntax); Errors = errors ?? throw new ArgumentNullException(nameof(errors)); }
internal PgnGameListSyntax(GreenPgnGameListSyntax green) { Green = green; Games = new SafeLazyObjectCollection <PgnGameSyntax>( green.Games.Count, index => new PgnGameSyntax(this, index, Green.Games[index])); trailingTrivia = new SafeLazyObject <PgnTriviaSyntax>(() => new PgnTriviaSyntax(this, Green.TrailingTrivia)); }