Convert ObjC qualified type clients over to using iterators.

This allows me to remove some API that I don't want to carry over to ObjCObjectPointerType.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72475 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index e850960..c168e98 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -2350,10 +2350,10 @@
       // Only when doing ivar or property encoding.
       const ObjCQualifiedIdType *QIDT = T->getAsObjCQualifiedIdType();
       S += '"';
-      for (unsigned i =0; i < QIDT->getNumProtocols(); i++) {
-        ObjCProtocolDecl *Proto = QIDT->getProtocols(i);
+      for (ObjCQualifiedIdType::qual_iterator I = QIDT->qual_begin(),
+           E = QIDT->qual_end(); I != E; ++I) {
         S += '<';
-        S += Proto->getNameAsString();
+        S += (*I)->getNameAsString();
         S += '>';
       }
       S += '"';
@@ -2416,10 +2416,10 @@
         ObjCInterfaceDecl *OI = OIT->getDecl();
         S += '"';
         S += OI->getNameAsCString();
-        for (unsigned i =0; i < OIT->getNumProtocols(); i++) {
-          ObjCProtocolDecl *Proto = OIT->getProtocol(i);
+        for (ObjCInterfaceType::qual_iterator I = OIT->qual_begin(),
+             E = OIT->qual_end(); I != E; ++I) {
           S += '<';
-          S += Proto->getNameAsString();
+          S += (*I)->getNameAsString();
           S += '>';
         } 
         S += '"';