public static void ComputeRefactorings(RefactoringContext context, LambdaExpressionSyntax lambda) { if (context.IsRefactoringEnabled(RefactoringIdentifiers.ExpandLambdaExpressionBody) && ExpandLambdaExpressionBodyRefactoring.CanRefactor(context, lambda)) { context.RegisterRefactoring( "Expand lambda expression body", cancellationToken => { return(ExpandLambdaExpressionBodyRefactoring.RefactorAsync( context.Document, lambda, (ExpressionSyntax)lambda.Body, cancellationToken)); }); } if (context.IsRefactoringEnabled(RefactoringIdentifiers.SimplifyLambdaExpression) && SimplifyLambdaExpressionRefactoring.CanRefactor(lambda)) { context.RegisterRefactoring( "Simplify lambda expression", cancellationToken => { return(SimplifyLambdaExpressionRefactoring.RefactorAsync( context.Document, lambda, cancellationToken)); }); } }
public static async Task ComputeRefactoringsAsync(RefactoringContext context, LambdaExpressionSyntax lambda) { if (context.IsRefactoringEnabled(RefactoringIdentifiers.ExpandLambdaExpressionBody) && ExpandLambdaExpressionBodyRefactoring.CanRefactor(context, lambda)) { context.RegisterRefactoring( "Expand lambda expression body", cancellationToken => { return(ExpandLambdaExpressionBodyRefactoring.RefactorAsync( context.Document, lambda, (ExpressionSyntax)lambda.Body, cancellationToken)); }, RefactoringIdentifiers.ExpandLambdaExpressionBody); } if (context.IsRefactoringEnabled(RefactoringIdentifiers.SimplifyLambdaExpression) && SimplifyLambdaExpressionAnalysis.IsFixable(lambda)) { context.RegisterRefactoring( "Simplify lambda expression", cancellationToken => { return(SimplifyLambdaExpressionRefactoring.RefactorAsync( context.Document, lambda, cancellationToken)); }, RefactoringIdentifiers.SimplifyLambdaExpression); } if (context.IsRefactoringEnabled(RefactoringIdentifiers.ExtractEventHandlerMethod) && context.Span.IsBetweenSpans(lambda) && lambda is ParenthesizedLambdaExpressionSyntax parenthesizedLambda) { await ExtractEventHandlerMethodRefactoring.ComputeRefactoringAsync(context, parenthesizedLambda).ConfigureAwait(false); } }