Exemple #1
0
        private static void GetCompletionData(string query, string tableInstanceName, string columnName, out TableColumnInstanceSymbol column, out CompletionItem columnItem, out SymbolMarkup columnMarkup)
        {
            var completionModel = GetCompletionModel(query);
            var semanticModel   = completionModel.SemanticModel;
            var syntaxTree      = semanticModel.SyntaxTree;

            var tableReference = syntaxTree.Root.DescendantNodesAndSelf()
                                 .OfType <NamedTableReferenceSyntax>()
                                 .Select(semanticModel.GetDeclaredSymbol)
                                 .Single(s => s != null && s.Name == tableInstanceName);

            column       = tableReference.ColumnInstances.Single(c => c.Name == columnName);
            columnItem   = completionModel.Items.Single(i => i.InsertionText == columnName);
            columnMarkup = SymbolMarkup.ForSymbol(column);
        }
Exemple #2
0
 public QualifyColumnCodeAction(NameExpressionSyntax node, TableColumnInstanceSymbol symbol)
     : base(node.SyntaxTree)
 {
     _node   = node;
     _symbol = symbol;
 }