You're not traversing anything, it just happens that the base class is abstract and defines callbacks for recursion. In your case you just want a "processing" compiler pass.
A plain old compiler pass wouldn't require visiting all nodes, just a process(). Don't worry about it, the two you overrode are just stubs. Mike On Thu, Jul 9, 2015 at 11:13 AM, Frédéric THOMAS <webdoubl...@hotmail.com> wrote: > > Other than that, merge/commit it man! thanks, looks good to me, we will > see > > if anything else comes up. > > Thanks, done ! > > But I'm still confuse with the pattern: > > I didn't get well this thing about pre / post order in the Callback > interface maybe I didn't get what it means, isn't supposed to be recursive > descendant only, how does it work ? > I used process() which traverseRoots of both externs (the most out of > parent) and the given node, why 2 nodes have to be traversed in the same > function ? > > Frédéric THOMAS > > > ---------------------------------------- > > Date: Wed, 8 Jul 2015 16:46:34 -0400 > > Subject: [FalconJX] Collection Imports branch > > From: teotigraphix...@gmail.com > > To: dev@flex.apache.org > > > > Hey Fred, > > > > Couple things; > > > > 1. CollectImportsPass > > > > Should probably be; (process() only gets called once) > > > > @Override > > public void process(Node externs, Node root) > > { > > for (ClassReference reference : model.getClasses()) > > { > > collectClassImports(reference); > > } > > > > for (FunctionReference reference : model.getFunctions()) > > { > > collectFunctionImports(reference); > > } > > } > > > > @Override > > public boolean shouldTraverse(final NodeTraversal nodeTraversal, final > > Node n, final Node parent) > > { > > return false; > > } > > > > @Override > > public void visit(final NodeTraversal t, final Node n, final Node > > parent) > > { > > } > > > > > > Other than that, merge/commit it man! thanks, looks good to me, we will > see > > if anything else comes up. > > > > Mike > >