Revert http://llvm.org/viewvc/llvm-project?view=rev&revision=65244.

Remove support for "Class<P>". Will be making this an error.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65332 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index 78f2a8a..60d8b8b 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -1397,29 +1397,6 @@
   return QualType(QType, 0);
 }
 
-/// getObjCQualifiedClassType - Return an ObjCQualifiedIdType for the 'Class'
-/// decl and the conforming protocol list.
-QualType ASTContext::getObjCQualifiedClassType(ObjCProtocolDecl **Protocols, 
-                                               unsigned NumProtocols) {
-  // Sort the protocol list alphabetically to canonicalize it.
-  SortAndUniqueProtocols(Protocols, NumProtocols);
-
-  llvm::FoldingSetNodeID ID;
-  ObjCQualifiedIdType::Profile(ID, Protocols, NumProtocols);
-  
-  void *InsertPos = 0;
-  if (ObjCQualifiedClassType *QT =
-        ObjCQualifiedClassTypes.FindNodeOrInsertPos(ID, InsertPos))
-    return QualType(QT, 0);
-  
-  // No Match;
-  ObjCQualifiedClassType *QType =
-    new (*this,8) ObjCQualifiedClassType(Protocols, NumProtocols);
-  Types.push_back(QType);
-  ObjCQualifiedClassTypes.InsertNode(QType, InsertPos);
-  return QualType(QType, 0);
-}
-
 /// getTypeOfExpr - Unlike many "get<Type>" functions, we can't unique
 /// TypeOfExpr AST's (since expression's are never shared). For example,
 /// multiple declarations that refer to "typeof(x)" all contain different
@@ -2422,7 +2399,7 @@
 /// to struct), Interface* (pointer to ObjCInterfaceType) and id<P> (qualified
 /// ID type).
 bool ASTContext::isObjCObjectPointerType(QualType Ty) const {
-  if (Ty->isObjCQualifiedIdType() || Ty->isObjCQualifiedClassType())
+  if (Ty->isObjCQualifiedIdType())
     return true;
   
   // Blocks are objects.