public override SyntaxNode VisitInitializerExpression(InitializerExpressionSyntax node) { var originalList = node.ChildNodesAndTokens(); for (int i = 0; i < originalList.Count; i++) { if (!originalList[i].IsNode) { continue; } if (AreNodesEqual(this._remover.LastCustomSelector, originalList[i].AsNode())) { var oldToken = originalList[i + 1].AsToken(); var newToken = oldToken.WithTrailingTrivia(oldToken.TrailingTrivia .Add(SyntaxExtenders.EndOfLineTrivia) .Add(SyntaxFactory.Comment(CustomCodeCommentEnd)) .Add(SyntaxExtenders.EndOfLineTrivia)); return(base.VisitInitializerExpression(node.ReplaceToken(oldToken, newToken))); } } return(base.VisitInitializerExpression(node)); }
public override SyntaxNode VisitInitializerExpression(InitializerExpressionSyntax node) { var parentProperty = node.FirstAncestorOrSelf <PropertyDeclarationSyntax>(); var parentInvocation = node.FirstAncestorOrSelf <InvocationExpressionSyntax>(); if (parentProperty != null && parentProperty.Identifier.Text == "SelectorExpression" || parentInvocation != null && parentInvocation.ToString().Contains("SelectorExpression")) { var initializerExpressions = GenerateInitializerExpressions(_metadata, "", "p.").ToList(); var nodeTokenList = SyntaxFactory.NodeOrTokenList(node.ChildNodesAndTokens()) .RemoveAt(node.ChildNodesAndTokens().Count - 1) .RemoveAt(0); foreach (var exp in initializerExpressions) { nodeTokenList = nodeTokenList.Add(exp); nodeTokenList = nodeTokenList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken).AppendNewLine()); } return(node.WithExpressions(SyntaxFactory.SeparatedList <ExpressionSyntax>(nodeTokenList))); } return(base.VisitInitializerExpression(node)); }