what order it is in TraverseDecl, TraverseType and TraverseStmt?

Hi,everyone

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,
Rambo

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.