public BoundTypeAlias(TypeAliasSymbol typeAliasSymbol, TypeSymbol declaredType, ImmutableArray<BoundVariableQualifier> qualifiers) : base(BoundNodeKind.TypeAlias) { TypeAliasSymbol = typeAliasSymbol; DeclaredType = declaredType; Qualifiers = qualifiers; }
private BoundTypeAlias BindTypeAlias(TypeAliasSyntax syntax, TypeSymbol variableType) { variableType = BindArrayRankSpecifiers(syntax.ArrayRankSpecifiers, variableType); var symbol = new TypeAliasSymbol(syntax, variableType); AddSymbol(symbol, syntax.Identifier.Span); var boundQualifiers = new List<BoundVariableQualifier>(); foreach (var qualifier in syntax.Qualifiers) boundQualifiers.Add(Bind(qualifier, BindVariableQualifier)); return new BoundTypeAlias(symbol, variableType, boundQualifiers.ToImmutableArray()); }