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); }
public QualifyColumnCodeAction(NameExpressionSyntax node, TableColumnInstanceSymbol symbol) : base(node.SyntaxTree) { _node = node; _symbol = symbol; }