AsyncSuffixAnalyzer_CS.AsyncSuffixAnalyzer_CSCodeFixProvider.RegisterCodeFixesAsync C# (CSharp) Method

RegisterCodeFixesAsync() public final method

public final RegisterCodeFixesAsync ( Microsoft.CodeAnalysis.CodeFixes.CodeFixContext context ) : Task
context Microsoft.CodeAnalysis.CodeFixes.CodeFixContext
return Task
        public sealed override async Task RegisterCodeFixesAsync(CodeFixContext context)
        {
            var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false);

            var diagnostic = context.Diagnostics.First();
            var diagnosticSpan = diagnostic.Location.SourceSpan;

            var declaration = root.FindToken(diagnosticSpan.Start).Parent.AncestorsAndSelf().OfType<MethodDeclarationSyntax>().First();

            context.RegisterCodeFix(
             CodeAction.Create(
                 title: title,
                 createChangedSolution: c => MakeMethodNameAsync(context.Document, declaration, c),
                 equivalenceKey: title),
             diagnostic);
        }