public static async Task ComputeRefactoringsAsync(RefactoringContext context, ThrowExpressionSyntax throwExpression) { if (context.IsRefactoringEnabled(RefactoringIdentifiers.AddExceptionToDocumentationComment) && context.Span.IsContainedInSpanOrBetweenSpans(throwExpression)) { SemanticModel semanticModel = await context.GetSemanticModelAsync().ConfigureAwait(false); INamedTypeSymbol exceptionSymbol = semanticModel.GetTypeByMetadataName(MetadataNames.System_Exception); AddExceptionToDocumentationCommentAnalysisResult analysis = AddExceptionToDocumentationCommentAnalysis.Analyze(throwExpression, exceptionSymbol, semanticModel, context.CancellationToken); if (analysis.Success) { context.RegisterRefactoring( "Add exception to documentation comment", cancellationToken => AddExceptionToDocumentationCommentRefactoring.RefactorAsync(context.Document, analysis, cancellationToken)); } } }
public static async Task ComputeRefactoringAsync(RefactoringContext context, ThrowStatementSyntax throwStatement) { if (context.IsRefactoringEnabled(RefactoringDescriptors.AddExceptionElementToDocumentationComment) && context.Span.IsContainedInSpanOrBetweenSpans(throwStatement)) { SemanticModel semanticModel = await context.GetSemanticModelAsync().ConfigureAwait(false); AddExceptionToDocumentationCommentAnalysisResult analysis = AddExceptionToDocumentationCommentAnalysis.Analyze( throwStatement, semanticModel.GetTypeByMetadataName("System.Exception"), semanticModel, context.CancellationToken); if (analysis.Success) { context.RegisterRefactoring( "Add 'exception' element to documentation comment", ct => AddExceptionElementToDocumentationCommentRefactoring.RefactorAsync(context.Document, analysis, ct), RefactoringDescriptors.AddExceptionElementToDocumentationComment); } } }