resolve some fixmes and clean up some code by eliminating the get*Vars apis to some classes and use iterators instead.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44927 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/ASTConsumers.cpp b/Driver/ASTConsumers.cpp
index 85140bc..2286341 100644
--- a/Driver/ASTConsumers.cpp
+++ b/Driver/ASTConsumers.cpp
@@ -123,9 +123,10 @@
   else
     Out << "@implementation " << I;
   
-  for (int i = 0; i < OID->getNumInstanceMethods(); i++) {
-    PrintObjcMethodDecl(OID->getInstanceMethods()[i]);
-    ObjcMethodDecl *OMD = OID->getInstanceMethods()[i];
+  for (ObjcImplementationDecl::instmeth_iterator I = OID->instmeth_begin(),
+       E = OID->instmeth_end(); I != E; ++I) {
+    ObjcMethodDecl *OMD = *I;
+    PrintObjcMethodDecl(OMD);
     if (OMD->getBody()) {
       Out << ' ';
       OMD->getBody()->printPretty(Out);
@@ -133,9 +134,10 @@
     }
   }
   
-  for (int i = 0; i < OID->getNumClassMethods(); i++) {
-    PrintObjcMethodDecl(OID->getClassMethods()[i]);
-    ObjcMethodDecl *OMD = OID->getClassMethods()[i];
+  for (ObjcImplementationDecl::classmeth_iterator I = OID->classmeth_begin(),
+       E = OID->classmeth_end(); I != E; ++I) {
+    ObjcMethodDecl *OMD = *I;
+    PrintObjcMethodDecl(OMD);
     if (OMD->getBody()) {
       Out << ' ';
       OMD->getBody()->printPretty(Out);