[cfe-commits] r77526 - in /cfe/trunk: include/clang/Index/IndexProvider.h include/clang/Index/Indexer.h include/clang/Index/Program.h lib/Index/Indexer.cpp lib/Index/Program.cpp
Argiris Kirtzidis
akyrtzi at gmail.com
Wed Jul 29 16:38:46 PDT 2009
Author: akirtzidis
Date: Wed Jul 29 18:38:45 2009
New Revision: 77526
URL: http://llvm.org/viewvc/llvm-project?rev=77526&view=rev
Log:
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.
Modified:
cfe/trunk/include/clang/Index/IndexProvider.h
cfe/trunk/include/clang/Index/Indexer.h
cfe/trunk/include/clang/Index/Program.h
cfe/trunk/lib/Index/Indexer.cpp
cfe/trunk/lib/Index/Program.cpp
Modified: cfe/trunk/include/clang/Index/IndexProvider.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Index/IndexProvider.h?rev=77526&r1=77525&r2=77526&view=diff
==============================================================================
--- cfe/trunk/include/clang/Index/IndexProvider.h (original)
+++ cfe/trunk/include/clang/Index/IndexProvider.h Wed Jul 29 18:38:45 2009
@@ -25,7 +25,7 @@
public:
virtual ~IndexProvider();
virtual void GetTranslationUnitsFor(Entity Ent,
- TranslationUnitHandler *Handler) = 0;
+ TranslationUnitHandler &Handler) = 0;
};
} // namespace idx
Modified: cfe/trunk/include/clang/Index/Indexer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Index/Indexer.h?rev=77526&r1=77525&r2=77526&view=diff
==============================================================================
--- cfe/trunk/include/clang/Index/Indexer.h (original)
+++ cfe/trunk/include/clang/Index/Indexer.h Wed Jul 29 18:38:45 2009
@@ -38,7 +38,7 @@
void IndexAST(TranslationUnit *TU);
virtual void GetTranslationUnitsFor(Entity Ent,
- TranslationUnitHandler *Handler);
+ TranslationUnitHandler &Handler);
typedef TUSetTy::iterator translation_unit_iterator;
Modified: cfe/trunk/include/clang/Index/Program.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Index/Program.h?rev=77526&r1=77525&r2=77526&view=diff
==============================================================================
--- cfe/trunk/include/clang/Index/Program.h (original)
+++ cfe/trunk/include/clang/Index/Program.h Wed Jul 29 18:38:45 2009
@@ -34,7 +34,7 @@
~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
Modified: cfe/trunk/lib/Index/Indexer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/Indexer.cpp?rev=77526&r1=77525&r2=77526&view=diff
==============================================================================
--- cfe/trunk/lib/Index/Indexer.cpp (original)
+++ cfe/trunk/lib/Index/Indexer.cpp Wed Jul 29 18:38:45 2009
@@ -39,11 +39,11 @@
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 @@
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;
Modified: cfe/trunk/lib/Index/Program.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/Program.cpp?rev=77526&r1=77525&r2=77526&view=diff
==============================================================================
--- cfe/trunk/lib/Index/Program.cpp (original)
+++ cfe/trunk/lib/Index/Program.cpp Wed Jul 29 18:38:45 2009
@@ -30,20 +30,21 @@
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);
}
More information about the cfe-commits
mailing list