Use an IdentifierTable for names used for Entities.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77537 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Index/EntityImpl.h b/lib/Index/EntityImpl.h
index 3f09f80..d28936e 100644
--- a/lib/Index/EntityImpl.h
+++ b/lib/Index/EntityImpl.h
@@ -19,23 +19,20 @@
 #include "llvm/ADT/StringSet.h"
 
 namespace clang {
+  class IdentifierInfo;
 
 namespace idx {
   class ProgramImpl;
 
 class EntityImpl : public llvm::FoldingSetNode {
-public:
-  typedef llvm::StringMapEntry<char> IdEntryTy;
-
-private:
   Entity Parent;
-  IdEntryTy *Id;
+  IdentifierInfo *Id;
 
   /// \brief Identifier namespace.
   unsigned IdNS;
 
 public:
-  EntityImpl(Entity parent, IdEntryTy *id, unsigned idNS)
+  EntityImpl(Entity parent, IdentifierInfo *id, unsigned idNS)
     : Parent(parent), Id(id), IdNS(idNS) { }
 
   /// \brief Find the Decl that can be referred to by this entity.
@@ -50,8 +47,8 @@
   void Profile(llvm::FoldingSetNodeID &ID) const {
     Profile(ID, Parent, Id, IdNS);
   }
-  static void Profile(llvm::FoldingSetNodeID &ID, Entity Parent, IdEntryTy *Id,
-                      unsigned IdNS) {
+  static void Profile(llvm::FoldingSetNodeID &ID, Entity Parent,
+                      IdentifierInfo *Id, unsigned IdNS) {
     ID.AddPointer(Parent.getAsOpaquePtr());
     ID.AddPointer(Id);
     ID.AddInteger(IdNS);