Rosetta.AST.Utilities.MultiPurposeASTWalker.Start C# (CSharp) Method

Start() public method

Starts the visiting process
public Start ( ) : void
return void
        public void Start()
        {
            this.Visit(this.root);
        }

Usage Example

        public void WalkASTDeep()
        {
            string source = @"
                namespace MyNamespaceA {
                    public class MyClassA { }
                    public class MyClassB { }

                    namespace MyNamespaceB {
                        public class MyClassC { }
                        public class MyClassD { }
                    }
                }
            ";

            int traversedClassesCount = 0;

            // Getting the AST node
            CSharpSyntaxTree tree = ASTExtractor.Extract(source);
            var node = new NodeLocator(tree).LocateLast(typeof(CompilationUnitSyntax)) as CSharpSyntaxNode;

            // Calling the walker
            var astWalker = new MultiPurposeASTWalker(node,
                syntaxNode => syntaxNode as ClassDeclarationSyntax != null,
                delegate
                {
                    traversedClassesCount++;
                },
                false);
            astWalker.Start();

            // Checking
            Assert.AreEqual(4, traversedClassesCount, "Expected walker to deep traverse AST!");
        }
All Usage Examples Of Rosetta.AST.Utilities.MultiPurposeASTWalker::Start
MultiPurposeASTWalker