예제 #1
0
            public override SyntaxNode VisitVariableDeclarator(VariableDeclaratorSyntax node)
            {
                // only local variables!
                var p = node.Parent as LocalDeclarationStatementSyntax;

                if (p == null)
                {
                    return(node);
                }

                if (!NeedsRewrite(node))
                {
                    return(node);
                }

                var list = new List <ModifiedIdentifierSyntax>(node.Names.Count);

                foreach (var v in node.Names)
                {
                    var local = v;
                    if (!IsGoodVariableName(v.Identifier.ValueText))
                    {
                        local = local.WithAdditionalAnnotations(s_markerAnnotationArray);
                        _count++;
                    }

                    list.Add(local);
                }

                return(node.WithNames(SyntaxFactory.SeparatedList(list)));
            }