internal TypeAliasSymbol(TypeAliasSyntax syntax, TypeSymbol valueType)
     : base(SymbolKind.TypeAlias, syntax.Identifier.Text, string.Empty, null)
 {
     ValueType            = valueType;
     Locations            = ImmutableArray.Create(syntax.Identifier.SourceRange);
     SourceTree           = syntax.SyntaxTree;
     DeclaringSyntaxNodes = ImmutableArray.Create((SyntaxNodeBase)syntax);
 }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        private BoundTypeAlias BindTypeAlias(TypeAliasSyntax syntax, TypeSymbol variableType)
        {
            variableType = BindArrayRankSpecifiers(syntax.ArrayRankSpecifiers, variableType);

            var symbol = new TypeAliasSymbol(syntax, variableType);

            AddSymbol(symbol, syntax.Identifier.SourceRange);

            var boundQualifiers = new List <BoundVariableQualifier>();

            foreach (var qualifier in syntax.Qualifiers)
            {
                boundQualifiers.Add(Bind(qualifier, BindVariableQualifier));
            }

            return(new BoundTypeAlias(symbol, variableType, boundQualifiers.ToImmutableArray()));
        }
Exemplo n.º 4
0
 public TypeAliasSymbol GetDeclaredSymbol(TypeAliasSyntax syntax)
 {
     var result = _bindingResult.GetBoundNode(syntax) as BoundTypeAlias;
     return result?.TypeAliasSymbol;
 }
Exemplo n.º 5
0
 public virtual void VisitTypeAlias(TypeAliasSyntax node)
 {
     DefaultVisit(node);
 }
Exemplo n.º 6
0
 internal TypeAliasSymbol(TypeAliasSyntax syntax, TypeSymbol valueType)
     : base(SymbolKind.TypeAlias, syntax.Identifier.Text, string.Empty, null)
 {
     ValueType = valueType;
 }
        public TypeAliasSymbol GetDeclaredSymbol(TypeAliasSyntax syntax)
        {
            var result = _bindingResult.GetBoundNode(syntax) as BoundTypeAlias;

            return(result?.TypeAliasSymbol);
        }
Exemplo n.º 8
0
 internal TypeAliasSymbol(TypeAliasSyntax syntax, TypeSymbol valueType)
     : base(SymbolKind.TypeAlias, syntax.Identifier.Text, string.Empty, null)
 {
     ValueType = valueType;
 }
Exemplo n.º 9
0
 public virtual void VisitTypeAlias(TypeAliasSyntax node)
 {
     DefaultVisit(node);
 }