<commit_before>﻿namespace SLANG
{
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;

    public class TerminalString : Element
    {
        private readonly IList<Terminal> terminals;

        public TerminalString(TerminalString element)
            : base(element)
        {
        }

        public TerminalString(IList<Terminal> terminals, ITextContext context)
            : base(string.Concat(terminals), context)
        {
            if (terminals == null)
            {
                throw new ArgumentNullException("terminals", "Precondition: terminals != null");
            }

            this.terminals = terminals;
        }

        public IList<Terminal> Terminals
        {
            get
            {
                Debug.Assert(this.terminals != null, "this.terminals != null");
                return this.terminals;
            }
        }
    }
}<commit_msg>Adding xml doc comments<commit_after>﻿namespace SLANG
{
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;

    /// <summary>
    ///     Represents a string of terminal values.
    /// </summary>
    public class TerminalString : Element
    {
        private readonly IList<Terminal> terminals;

        /// <summary>
        ///     Initializes a new instance of the <see cref="TerminalString" /> class with a specified terminal string to copy.
        /// </summary>
        /// <param name="element">The terminal string to copy.</param>
        public TerminalString(TerminalString element)
            : base(element)
        {
        }

        /// <summary>
        ///     Initializes a new instance of the <see cref="TerminalString" /> class with the given terminal values and context.
        /// </summary>
        /// <param name="terminals">The terminal values, in order of appearance.</param>
        /// <param name="context">An object that describes the current element's context.</param>
        public TerminalString(IList<Terminal> terminals, ITextContext context)
            : base(string.Concat(terminals), context)
        {
            if (terminals == null)
            {
                throw new ArgumentNullException("terminals", "Precondition: terminals != null");
            }

            this.terminals = terminals;
        }

        /// <summary>
        ///     Gets the terminal values in the string, in order of appearance.
        /// </summary>
        public IList<Terminal> Terminals
        {
            get
            {
                Debug.Assert(this.terminals != null, "this.terminals != null");
                return this.terminals;
            }
        }
    }
}
{'fraction_non_alphanumeric': 0.10127055306427504, 'fraction_numerical': 0.0, 'mean_word_length': 1.7541152263374487, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 1}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '340381', 'n_tokens_mistral': 680, 'n_tokens_neox': 649, 'n_words': 179}