From: Chris Lattner Date: Sat, 21 Jun 2008 21:40:20 +0000 (+0000) Subject: Implement printing for ObjCClassDecl's, patch by Jean-Daniel Dupas! X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=23a0e45540cf441eeaaba02da5cf0419f936c6a0;p=clang Implement printing for ObjCClassDecl's, patch by Jean-Daniel Dupas! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52598 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Driver/ASTConsumers.cpp b/Driver/ASTConsumers.cpp index 92add4195e..1383a5ed5d 100644 --- a/Driver/ASTConsumers.cpp +++ b/Driver/ASTConsumers.cpp @@ -97,8 +97,15 @@ void DeclPrinter:: PrintDecl(Decl *D) { } else if (ObjCCompatibleAliasDecl *OID = dyn_cast(D)) { PrintObjCCompatibleAliasDecl(OID); - } else if (isa(D)) { - Out << "@class [printing todo]\n"; + } else if (ObjCClassDecl *OFCD = dyn_cast(D)) { + Out << "@class "; + ObjCInterfaceDecl **ForwardDecls = OFCD->getForwardDecls(); + for (unsigned i = 0, e = OFCD->getNumForwardDecls(); i != e; ++i) { + const ObjCInterfaceDecl *D = ForwardDecls[i]; + if (i) Out << ", "; + Out << D->getName(); + } + Out << ";\n"; } else if (TagDecl *TD = dyn_cast(D)) { Out << "Read top-level tag decl: '" << TD->getName() << "'\n"; } else if (ScopedDecl *SD = dyn_cast(D)) {