From 16d8bcf248f15d0479b3ccf40297f9ed107db3f1 Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Wed, 29 Jul 2009 23:38:45 +0000 Subject: [PATCH] Accept Handler objects in parameters as references. Reinforces that they shouldn't be null and it's a bit more natural when they are passed as stack objects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77526 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Index/IndexProvider.h | 2 +- include/clang/Index/Indexer.h | 2 +- include/clang/Index/Program.h | 2 +- lib/Index/Indexer.cpp | 6 +++--- lib/Index/Program.cpp | 7 ++++--- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/clang/Index/IndexProvider.h b/include/clang/Index/IndexProvider.h index bf776eee4f..f69945eb2b 100644 --- a/include/clang/Index/IndexProvider.h +++ b/include/clang/Index/IndexProvider.h @@ -25,7 +25,7 @@ class IndexProvider { public: virtual ~IndexProvider(); virtual void GetTranslationUnitsFor(Entity Ent, - TranslationUnitHandler *Handler) = 0; + TranslationUnitHandler &Handler) = 0; }; } // namespace idx diff --git a/include/clang/Index/Indexer.h b/include/clang/Index/Indexer.h index a7c29581a0..88a2acea8e 100644 --- a/include/clang/Index/Indexer.h +++ b/include/clang/Index/Indexer.h @@ -38,7 +38,7 @@ public: void IndexAST(TranslationUnit *TU); virtual void GetTranslationUnitsFor(Entity Ent, - TranslationUnitHandler *Handler); + TranslationUnitHandler &Handler); typedef TUSetTy::iterator translation_unit_iterator; diff --git a/include/clang/Index/Program.h b/include/clang/Index/Program.h index 1a08118ca5..2605bb685a 100644 --- a/include/clang/Index/Program.h +++ b/include/clang/Index/Program.h @@ -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 diff --git a/lib/Index/Indexer.cpp b/lib/Index/Indexer.cpp index 03fa80f571..9a49496d74 100644 --- a/lib/Index/Indexer.cpp +++ b/lib/Index/Indexer.cpp @@ -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; diff --git a/lib/Index/Program.cpp b/lib/Index/Program.cpp index a6bb96c09f..4efad2c5e9 100644 --- a/lib/Index/Program.cpp +++ b/lib/Index/Program.cpp @@ -30,20 +30,21 @@ Program::~Program() { delete static_cast(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(*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); } -- 2.40.0