Esempio n. 1
0
        public VB6NodeTree(ParseTree pnode)
        {
            var visitorCallback = Init();
            var visitor         = new VB6ASTTreeViewGeneratorVisitor(visitorCallback);

            visitor.visit(pnode);
        }
Esempio n. 2
0
        public static void Visit(CompileResult compileResult, VisitorCallback callback)
        {
            if (compileResult == null)
            {
                throw new ArgumentNullException(nameof(compileResult));
            }

            var program = compileResult.Program;

            if (compileResult.Program == null)
            {
                throw new ArgumentNullException(nameof(compileResult));
            }

            var modules = program.getModules();

            var visitor = new VB6ASTTreeViewGeneratorVisitor(callback);

            for (int i = 0; i < modules.size(); i++)
            {
                var module = (ModuleImpl)modules.get(i);
                var ctx    = module.getCtx();
                visitor.visit(ctx);
            }
        }
Esempio n. 3
0
        public static List <ImmutableList <IndexedPath> > GetExtendedPathList(ParseTree pnode)
        {
            var         paths    = new List <ImmutableList <IndexedPath> >();
            ParseTree   root     = null;
            VB6NodeTree nodeTree = new VB6NodeTree(pnode);

            var visitorCallback = new VisitorCallback()
            {
                Callback = (node, parent) =>
                {
                    if (root == null)
                    {
                        root = node;
                    }
                    paths.Add(nodeTree.GetPath(node));
                }
            };

            var visitor = new VB6ASTTreeViewGeneratorVisitor(visitorCallback);

            visitor.visit(pnode);
            return(paths);
        }