diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2010-06-10 23:27:51 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2010-06-10 23:27:51 +0000 |
commit | b5c202f9e4f6d0f230d5cb8848779259ebf95b7f (patch) | |
tree | 2c6f877e11d0a62fa205b494291575ed4b1cc792 | |
parent | 548f7daa59012df2e20420e86c2722d19367ef17 (diff) |
Tweak a comment on the visitor to clarify one order of visit issue. Patch from
Zhanyong Wan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105795 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/RecursiveASTVisitor.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/clang/AST/RecursiveASTVisitor.h b/include/clang/AST/RecursiveASTVisitor.h index b6f7342cea..5a8a3f7c69 100644 --- a/include/clang/AST/RecursiveASTVisitor.h +++ b/include/clang/AST/RecursiveASTVisitor.h @@ -70,6 +70,12 @@ namespace clang { /// tier (e.g. other Traverse*) or one tier lower (e.g. WalkUpFrom*). /// It may not call methods from a higher tier. /// +/// Note that since WalkUpFromFoo() calls WalkUpFromBar() (where Bar +/// is Foo's super class) before calling VisitFoo(), the result is +/// that the Visit*() methods for a given node are called in the +/// top-down order (e.g. for a node of type NamedDecl, the order will +/// be VisitDecl(), VisitNamedDecl(), and then VisitNamespaceDecl()). +/// /// This scheme guarantees that all Visit*() calls for the same AST /// node are grouped together. In other words, Visit*() methods for /// different nodes are never interleaved. |