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
diff --git a/lib/Index/Program.cpp b/lib/Index/Program.cpp
index a6bb96c..4efad2c 100644
--- a/lib/Index/Program.cpp
+++ b/lib/Index/Program.cpp
@@ -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);
 }