use iterators instead of direct access to protocol list.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53831 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/Type.cpp b/lib/AST/Type.cpp
index bf32c53..fd57fb2 100644
--- a/lib/AST/Type.cpp
+++ b/lib/AST/Type.cpp
@@ -998,11 +998,13 @@
     InnerString = ' ' + InnerString;
   std::string ObjCQIString = getDecl()->getName();
   ObjCQIString += '<';
-  int num = getNumProtocols();
-  for (int i = 0; i < num; i++) {
-    ObjCQIString += getProtocols(i)->getName();
-    if (i < num-1)
+  bool isFirst = true;
+  for (qual_iterator I = qual_begin(), E = qual_end(); I != E; ++I) {
+    if (isFirst)
+      isFirst = false;
+    else
       ObjCQIString += ',';
+    ObjCQIString += (*I)->getName();
   }
   ObjCQIString += '>';
   InnerString = ObjCQIString + InnerString;