private static void FadeOut(SyntaxNodeAnalysisContext context, AnonymousMethodExpressionSyntax anonymousMethod) { DiagnosticDescriptor descriptor = DiagnosticDescriptors.UseLambdaExpressionInsteadOfAnonymousMethodFadeOut; FadeOutToken(context, anonymousMethod.DelegateKeyword, descriptor); BlockSyntax block = anonymousMethod.Block; if (block.Statements.Count == 1 && block.IsSingleline()) { StatementSyntax statement = block.Statements[0]; if (statement.IsAnyKind(SyntaxKind.ReturnStatement, SyntaxKind.ExpressionStatement)) { FadeOutBraces(context, block, descriptor); if (statement.IsKind(SyntaxKind.ReturnStatement)) { FadeOutToken(context, ((ReturnStatementSyntax)statement).ReturnKeyword, descriptor); } } } }
private static bool IsApprovedStatement(StatementSyntax statement) { return(!statement.IsAnyKind(ignoredStatementsInSwitch)); }