diff options
-rw-r--r-- | Driver/ASTConsumers.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Driver/ASTConsumers.cpp b/Driver/ASTConsumers.cpp index 98a0bfe2f7..37d637bf10 100644 --- a/Driver/ASTConsumers.cpp +++ b/Driver/ASTConsumers.cpp @@ -91,9 +91,22 @@ static void PrintObjcInterfaceDecl(ObjcInterfaceDecl *OID) { refProtocols[i]->getName()); } if (count > 0) - fprintf(stderr, ">;\n"); + fprintf(stderr, ">\n"); else - fprintf(stderr, ";\n"); + fprintf(stderr, "\n"); + + int NumIvars = OID->getIntfDeclNumIvars(); + if (NumIvars > 0) { + ObjcIvarDecl **Ivars = OID->getIntfDeclIvars(); + fprintf(stderr,"{"); + for (int i = 0; i < NumIvars; i++) { + fprintf(stderr, "\t%s %s;\n", Ivars[i]->getType().getAsString().c_str(), + Ivars[i]->getName()); + } + fprintf(stderr, "}\n@end\n"); + } + else + fprintf(stderr,"@end\n"); // FIXME: implement the rest... } |