what order it is in TraverseDecl, TraverseType and TraverseStmt?


From this page

<http://clang.llvm.org/doxygen/RecursiveASTVisitor_8h_source.html&gt; we can
see that Traverse* invoke WalkUpFrom* and WalkUpFrom* invoke Visit*,but it
don't tell us what order it is in TraverseDecl,TraverseType and
TraverseStmt.In other words,which is executed
first,TraverseDecl,TraverseType or TraverseStmt?If TraverseDecl is first,How
it invoke other two methods?

Best regards,

A node can be only one of Decl, Type or Stmt, so for a given node,
only one of Traverse* is executed.

It is up to the user of RecursiveASTVisitor to invoke the first
traversal method. For example, you might start the traversal by
calling TraverseDecl for the TranslationUnitDecl.

The Traverse* methods will then recursively invoke the Traverse*
methods for each child of a node. For example, calling TraverseDecl
for a FunctionDecl will result in TraverseStmt being called for the
body of the function, if it exists.