]> granicus.if.org Git - clang/commitdiff
[libclang] Use CursorVisitor::Visit instead of invoking the visitor directly.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 3 Nov 2011 19:02:28 +0000 (19:02 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 3 Nov 2011 19:02:28 +0000 (19:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143637 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/CIndex.cpp

index 5fe9bf049ae3feba9a83968a2a8107622228f780..8deb85c99c21bbf9ac359673ef8c3ba409446951 100644 (file)
@@ -219,10 +219,6 @@ class CursorVisitor : public DeclVisitor<CursorVisitor, bool>,
   /// \param R a half-open source range retrieved from the abstract syntax tree.
   RangeComparisonResult CompareRegionOfInterest(SourceRange R);
 
-  CXChildVisitResult invokeVisitor(CXCursor cursor, CXCursor parent) {
-    return Visitor(cursor, parent, ClientData);
-  }
-
   void visitDeclsFromFileRegion(FileID File, unsigned Offset, unsigned Length);
 
   class SetParentRAII {
@@ -482,9 +478,7 @@ void CursorVisitor::visitDeclsFromFileRegion(FileID File,
                                              unsigned Offset, unsigned Length) {
   ASTUnit *Unit = static_cast<ASTUnit *>(TU->TUData);
   SourceManager &SM = Unit->getSourceManager();
-
   SourceRange Range = RegionOfInterest;
-  CXCursor Parent = clang_getTranslationUnitCursor(TU);
 
   SmallVector<Decl *, 16> Decls;
   Unit->findFileRegionDecls(File, Offset, Length, Decls);
@@ -536,14 +530,8 @@ void CursorVisitor::visitDeclsFromFileRegion(FileID File,
 
     assert(CompRes == RangeOverlap);
     VisitedAtLeastOnce = true;
-    CXCursor C = MakeCXCursor(D, TU, Range);
-    CXChildVisitResult
-      Res = invokeVisitor(C, Parent);
-    if (Res == CXChildVisit_Break)
+    if (Visit(MakeCXCursor(D, TU, Range), /*CheckedRegionOfInterest=*/true))
       break;
-    if (Res == CXChildVisit_Recurse)
-      if (VisitChildren(C))
-        break;
   }
 
   if (VisitedAtLeastOnce)
@@ -562,11 +550,7 @@ void CursorVisitor::visitDeclsFromFileRegion(FileID File,
       break;
 
     if (RangeCompare(SM, CurDeclRange, Range) == RangeOverlap) {
-      CXCursor C = MakeCXCursor(D, TU, Range);
-      CXChildVisitResult
-        Res = invokeVisitor(C, Parent);
-      if (Res == CXChildVisit_Recurse)
-        VisitChildren(C);
+      Visit(MakeCXCursor(D, TU, Range), /*CheckedRegionOfInterest=*/true);
       break;
     }