private static void AnalyzeInitializerExpression(SyntaxNodeAnalysisContext context) { var initializer = (InitializerExpressionSyntax)context.Node; SeparatedSyntaxList <ExpressionSyntax> expressions = initializer.Expressions; ExpressionSyntax expression = expressions.SingleOrDefault(shouldThrow: false); if (expression == null) { return; } if (initializer.SpanContainsDirectives()) { return; } if (initializer.IsSingleLine(includeExteriorTrivia: false)) { return; } if (!expression.IsSingleLine()) { return; } if (!SyntaxTriviaAnalysis.IsExteriorTriviaEmptyOrWhitespace(expression)) { return; } if (!SyntaxTriviaAnalysis.IsExteriorTriviaEmptyOrWhitespace(initializer.OpenBraceToken)) { return; } if (!initializer.CloseBraceToken.LeadingTrivia.IsEmptyOrWhitespace()) { return; } if (expressions.SeparatorCount == 1 && !SyntaxTriviaAnalysis.IsExteriorTriviaEmptyOrWhitespace(expressions.GetSeparator(0))) { return; } if (!initializer.OpenBraceToken.GetPreviousToken().TrailingTrivia.IsEmptyOrWhitespace()) { return; } context.ReportDiagnostic(DiagnosticDescriptors.RemoveNewlinesFromInitializerWithSingleLineExpression, initializer); }