diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2010-06-11 01:00:06 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2010-06-11 01:00:06 +0000 |
commit | 6c321e35008f2c99eeb1409b43859a04c48e5ce5 (patch) | |
tree | 585fb4266dc0a7521e27f909c6b5b8dd4a097533 | |
parent | 33500955d731c73717af52088b7fc0e7a85681e7 (diff) |
Improve readability with TRY_TO, remove a redundant comment, and fix one aspect
of the recursion on VarDecls. Patch by Craig Silverstein.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105803 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/RecursiveASTVisitor.h | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/include/clang/AST/RecursiveASTVisitor.h b/include/clang/AST/RecursiveASTVisitor.h index af459ff680..27596f67c6 100644 --- a/include/clang/AST/RecursiveASTVisitor.h +++ b/include/clang/AST/RecursiveASTVisitor.h @@ -395,9 +395,8 @@ bool RecursiveASTVisitor<Derived>::TraverseNestedNameSpecifier( if (!NNS) return true; - if (NNS->getPrefix() && - !getDerived().TraverseNestedNameSpecifier(NNS->getPrefix())) - return false; + if (NNS->getPrefix()) + TRY_TO(TraverseNestedNameSpecifier(NNS->getPrefix())); switch (NNS->getKind()) { case NestedNameSpecifier::Identifier: @@ -407,7 +406,7 @@ bool RecursiveASTVisitor<Derived>::TraverseNestedNameSpecifier( case NestedNameSpecifier::TypeSpec: case NestedNameSpecifier::TypeSpecWithTemplate: - return getDerived().TraverseType(QualType(NNS->getAsType(), 0)); + TRY_TO(TraverseType(QualType(NNS->getAsType(), 0))); } return true; @@ -416,11 +415,9 @@ bool RecursiveASTVisitor<Derived>::TraverseNestedNameSpecifier( template<typename Derived> bool RecursiveASTVisitor<Derived>::TraverseTemplateName(TemplateName Template) { if (DependentTemplateName *DTN = Template.getAsDependentTemplateName()) - return (!DTN->getQualifier() || - getDerived().TraverseNestedNameSpecifier(DTN->getQualifier())); - - if (QualifiedTemplateName *QTN = Template.getAsQualifiedTemplateName()) - return getDerived().TraverseNestedNameSpecifier(QTN->getQualifier()); + TRY_TO(TraverseNestedNameSpecifier(DTN->getQualifier())); + else if (QualifiedTemplateName *QTN = Template.getAsQualifiedTemplateName()) + TRY_TO(TraverseNestedNameSpecifier(QTN->getQualifier())); return true; } @@ -982,6 +979,7 @@ DEF_TRAVERSE_DECL(CXXDestructorDecl, { template<typename Derived> bool RecursiveASTVisitor<Derived>::TraverseVarHelper(VarDecl *D) { + TRY_TO(TraverseDeclaratorHelper(D)); // FIXME: This often double-counts -- for instance, for all local // vars, though not for global vars -- because the initializer is // also captured when the var-decl is in a DeclStmt. @@ -990,9 +988,6 @@ bool RecursiveASTVisitor<Derived>::TraverseVarHelper(VarDecl *D) { } DEF_TRAVERSE_DECL(VarDecl, { - // FIXME: This often double-counts -- for instance, for all local - // vars, though not for global vars -- because the initializer is - // also captured when the var-decl is in a DeclStmt. TRY_TO(TraverseVarHelper(D)); }) |