public static async Task ComputeRefactoringsAsync(RefactoringContext context, ArrowExpressionClauseSyntax arrowExpressionClause) { if (arrowExpressionClause.Expression != null && context.IsAnyRefactoringEnabled( RefactoringIdentifiers.AddBooleanComparison, RefactoringIdentifiers.ChangeMemberTypeAccordingToReturnExpression, RefactoringIdentifiers.AddCastExpression, RefactoringIdentifiers.AddToMethodInvocation) && context.SupportsSemanticModel) { await ReturnExpressionRefactoring.ComputeRefactoringsAsync(context, arrowExpressionClause.Expression).ConfigureAwait(false); } if (context.IsRefactoringEnabled(RefactoringIdentifiers.ExpandExpressionBodiedMember) && arrowExpressionClause.Parent?.SupportsExpressionBody() == true) { context.RegisterRefactoring( "Expand expression-bodied member", cancellationToken => ExpandExpressionBodiedMemberRefactoring.RefactorAsync(context.Document, arrowExpressionClause, cancellationToken)); } }
public static async Task ComputeRefactoringsAsync(RefactoringContext context, ArrowExpressionClauseSyntax arrowExpressionClause) { ExpressionSyntax expression = arrowExpressionClause.Expression; if (expression != null && context.IsAnyRefactoringEnabled( RefactoringIdentifiers.AddBooleanComparison, RefactoringIdentifiers.ChangeMemberTypeAccordingToReturnExpression, RefactoringIdentifiers.AddCastExpression, RefactoringIdentifiers.CallToMethod)) { await ReturnExpressionRefactoring.ComputeRefactoringsAsync(context, expression).ConfigureAwait(false); } if (context.IsRefactoringEnabled(RefactoringIdentifiers.ExpandExpressionBodiedMember) && (context.Span.IsEmptyAndContainedInSpan(arrowExpressionClause) || context.Span.IsBetweenSpans(expression)) && ExpandExpressionBodiedMemberRefactoring.CanRefactor(arrowExpressionClause)) { context.RegisterRefactoring( "Expand expression-bodied member", cancellationToken => ExpandExpressionBodiedMemberRefactoring.RefactorAsync(context.Document, arrowExpressionClause, cancellationToken)); } }