move ImplementationClassInfo out of ASTContext into Sema.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42714 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/Sema.h b/Sema/Sema.h
index 6d38e62..c4ad75b 100644
--- a/Sema/Sema.h
+++ b/Sema/Sema.h
@@ -16,9 +16,9 @@
 #define LLVM_CLANG_AST_SEMA_H
 
 #include "clang/Parse/Action.h"
-#include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/DenseSet.h"
+#include "llvm/ADT/SmallPtrSet.h"
 #include <vector>
 #include <string>
 
@@ -83,6 +83,10 @@
   /// This is only necessary for issuing pretty diagnostics.
   llvm::SmallVector<TypedefDecl*, 24> OCUVectorDecls;
 
+  /// ObjcImplementations - Keep track of all of the classes with
+  /// @implementation's, so that we can emit errors on duplicates.
+  llvm::SmallPtrSet<IdentifierInfo*, 8> ObjcImplementations;
+  
   // Enum values used by KnownFunctionIDs (see below).
   enum {
     id_printf,