private static QuickFix MakeQuickFix(Diagnostic diagnostic)
        {
            var span = diagnostic.Location.GetMappedLineSpan();
            var quickFix = new QuickFix();
            quickFix.FileName = span.Path;
            quickFix.Line = span.StartLinePosition.Line + 1;
            quickFix.Column = span.StartLinePosition.Character + 1;
            quickFix.EndLine = span.EndLinePosition.Line + 1;
            quickFix.EndColumn = span.EndLinePosition.Character + 1;
            quickFix.Text = diagnostic.GetMessage();
            quickFix.LogLevel = diagnostic.Severity.ToString();

            return quickFix;
        }
Esempio n. 2
0
 public static async Task<ISymbol> SymbolFromQuickFix(OmnisharpWorkspace workspace, QuickFix result)
 {
     var document = workspace.GetDocument(result.FileName);
     var sourceText = await document.GetTextAsync();
     var position = sourceText.Lines.GetPosition(new LinePosition(result.Line - 1, result.Column - 1));
     var semanticModel = await document.GetSemanticModelAsync();
     return SymbolFinder.FindSymbolAtPosition(semanticModel, position, workspace);
 }