Accept Handler objects in parameters as references.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 29 Jul 2009 23:38:45 +0000 (23:38 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 29 Jul 2009 23:38:45 +0000 (23:38 +0000)
Reinforces that they shouldn't be null and it's a bit more natural when
they are passed as stack objects.

llvm-svn: 77526

clang/include/clang/Index/IndexProvider.h
clang/include/clang/Index/Indexer.h
clang/include/clang/Index/Program.h
clang/lib/Index/Indexer.cpp
clang/lib/Index/Program.cpp

index bf776ee..f69945e 100644 (file)
@@ -25,7 +25,7 @@ class IndexProvider {
 public:
   virtual ~IndexProvider();
   virtual void GetTranslationUnitsFor(Entity Ent,
-                                      TranslationUnitHandler *Handler) = 0;
+                                      TranslationUnitHandler &Handler) = 0;
 };
 
 } // namespace idx
index a7c2958..88a2ace 100644 (file)
@@ -38,7 +38,7 @@ public:
   void IndexAST(TranslationUnit *TU);
 
   virtual void GetTranslationUnitsFor(Entity Ent,
-                                      TranslationUnitHandler *Handler);
+                                      TranslationUnitHandler &Handler);
 
   typedef TUSetTy::iterator translation_unit_iterator;
 
index 1a08118..2605bb6 100644 (file)
@@ -34,7 +34,7 @@ public:
   ~Program();
 
   /// \brief Traverses the AST and passes all the entities to the Handler.
-  void FindEntities(ASTContext &Ctx, EntityHandler *Handler);
+  void FindEntities(ASTContext &Ctx, EntityHandler &Handler);
 };
 
 } // namespace idx
index 03fa80f..9a49496 100644 (file)
@@ -39,11 +39,11 @@ public:
 
 void Indexer::IndexAST(TranslationUnit *TU) {
   EntityIndexer Idx(TU, Map);
-  Prog.FindEntities(TU->getASTContext(), &Idx);
+  Prog.FindEntities(TU->getASTContext(), Idx);
 }
 
 void Indexer::GetTranslationUnitsFor(Entity Ent,
-                                     TranslationUnitHandler *Handler) {
+                                     TranslationUnitHandler &Handler) {
   assert(Ent.isValid() && "Expected valid Entity");
   assert(!Ent.isInternalToTU() &&
          "Expected an Entity visible outside of its translation unit");
@@ -54,7 +54,7 @@ void Indexer::GetTranslationUnitsFor(Entity Ent,
   
   TUSetTy &Set = I->second;
   for (TUSetTy::iterator I = Set.begin(), E = Set.end(); I != E; ++I)
-    Handler->Handle(*I);
+    Handler.Handle(*I);
 }
 
 static Indexer::TUSetTy EmptySet;
index a6bb96c..4efad2c 100644 (file)
@@ -30,20 +30,21 @@ Program::~Program() {
   delete static_cast<ProgramImpl *>(Impl);
 }
 
-static void FindEntitiesInDC(DeclContext *DC, Program &Prog, EntityHandler *Handler) {
+static void FindEntitiesInDC(DeclContext *DC, Program &Prog,
+                             EntityHandler &Handler) {
   for (DeclContext::decl_iterator
          I = DC->decls_begin(), E = DC->decls_end(); I != E; ++I) {
     if (I->getLocation().isInvalid())
       continue;
     Entity Ent = Entity::get(*I, Prog);
     if (Ent.isValid())
-      Handler->Handle(Ent);
+      Handler.Handle(Ent);
     if (DeclContext *SubDC = dyn_cast<DeclContext>(*I))
       FindEntitiesInDC(SubDC, Prog, Handler);
   }
 }
 
 /// \brief Traverses the AST and passes all the entities to the Handler.
-void Program::FindEntities(ASTContext &Ctx, EntityHandler *Handler) {
+void Program::FindEntities(ASTContext &Ctx, EntityHandler &Handler) {
   FindEntitiesInDC(Ctx.getTranslationUnitDecl(), *this, Handler);
 }