public override SyntaxNode VisitObjectCreationExpression(ObjectCreationExpressionSyntax node) { if (NormalizeWhitespaceOnly && node.Parent is InitializerExpressionSyntax initializerExpression && initializerExpression.IsKind(SyntaxKind.ArrayInitializerExpression) && _checkingMethod != RegisterInstanceName) { var newKeyword = node.NewKeyword .WithLeadingTrivia(SyntaxHelper.EndOfLineTrivia, SyntaxHelper.Whitespace(16)) .WithTrailingTrivia(SyntaxHelper.Whitespace(1)); node = node.WithNewKeyword(newKeyword); var type = (IdentifierNameSyntax)node.Type; var identifier = type.Identifier.WithTrailingTrivia(SyntaxHelper.EndOfLineTrivia); type = type.WithIdentifier(identifier); node = node.WithType(type); var initializer = RewriteInitializer(node.Initializer); var openBrace = initializer.OpenBraceToken .WithLeadingTrivia(SyntaxHelper.Whitespace(16)) .WithTrailingTrivia(SyntaxHelper.EndOfLineTrivia); var closeBrace = initializer.CloseBraceToken .WithLeadingTrivia(SyntaxHelper.EndOfLineTrivia, SyntaxHelper.Whitespace(16)); initializer = initializer.WithOpenBraceToken(openBrace).WithCloseBraceToken(closeBrace); node = node.WithInitializer(initializer); } return(base.VisitObjectCreationExpression(node)); }
public override SyntaxNode VisitInitializerExpression(InitializerExpressionSyntax node) { if (NormalizeWhitespaceOnly && node.IsKind(SyntaxKind.ArrayInitializerExpression) && _checkingMethod != RegisterInstanceName) { var openBrace = node.OpenBraceToken.WithLeadingTrivia(SyntaxHelper.Whitespace(12)); node = node.WithOpenBraceToken(openBrace); var closeBrace = node.CloseBraceToken.WithLeadingTrivia(SyntaxHelper.EndOfLineTrivia, SyntaxHelper.Whitespace(12)); node = node.WithCloseBraceToken(closeBrace); } return(base.VisitInitializerExpression(node !)); }
private InitializerExpressionSyntax RewriteInitializer(InitializerExpressionSyntax initializer) { var expressions = new List <ExpressionSyntax>(); foreach (var expression in initializer.Expressions) { var expr = expression.WithLeadingTrivia(SyntaxHelper.Whitespace(20)); expressions.Add(expr); } initializer = initializer.WithExpressions( SyntaxFactory.SeparatedList( expressions, Enumerable.Repeat( SyntaxFactory.Token(SyntaxKind.CommaToken).WithTrailingTrivia(SyntaxHelper.EndOfLineTrivia), expressions.Count - 1))); return(initializer); }