public static void Analyze(SyntaxNodeAnalysisContext context, YieldStatementSyntax yieldStatement) { if (CanRefactor(yieldStatement, context.SemanticModel, context.CancellationToken) && !yieldStatement.ContainsDirectives(TextSpan.FromBounds(yieldStatement.YieldKeyword.Span.End, yieldStatement.Expression.Span.Start))) { TextSpan span = TextSpan.FromBounds(yieldStatement.YieldKeyword.SpanStart, yieldStatement.ReturnOrBreakKeyword.Span.End); Location location = Location.Create(yieldStatement.SyntaxTree, span); context.ReportDiagnostic(DiagnosticDescriptors.ReplaceReturnStatementWithExpressionStatement, location, "yield"); } }