using System; using System.Collections.Generic; namespace AspClassic.Parser; /// /// A parse tree for a qualified name expression. /// public sealed class GenericQualifiedExpression : Expression { private readonly Expression _Base; private readonly TypeArgumentCollection _TypeArguments; /// /// The base expression. /// public Expression Base => _Base; /// /// The qualifying type arguments. /// public TypeArgumentCollection TypeArguments => _TypeArguments; /// /// Constructs a new parse tree for a generic qualified expression. /// /// The base expression. /// The qualifying type arguments. /// The location of the parse tree. public GenericQualifiedExpression(Expression @base, TypeArgumentCollection typeArguments, Span span) : base(TreeType.GenericQualifiedExpression, span) { if (@base == null) { throw new ArgumentNullException("base"); } if (typeArguments == null) { throw new ArgumentNullException("typeArguments"); } SetParent(@base); SetParent(typeArguments); _Base = @base; _TypeArguments = typeArguments; } protected override void GetChildTrees(IList childList) { Tree.AddChild(childList, Base); Tree.AddChild(childList, TypeArguments); } }