diff options
-rw-r--r-- | lib/Frontend/RewriteObjC.cpp | 4 | ||||
-rw-r--r-- | test/Rewriter/rewrite-category-property.mm | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/Frontend/RewriteObjC.cpp b/lib/Frontend/RewriteObjC.cpp index d1b098af61..f5ff5bc3f2 100644 --- a/lib/Frontend/RewriteObjC.cpp +++ b/lib/Frontend/RewriteObjC.cpp @@ -867,6 +867,10 @@ void RewriteObjC::RewriteCategoryDecl(ObjCCategoryDecl *CatDecl) { // FIXME: handle category headers that are declared across multiple lines. ReplaceText(LocStart, 0, "// ", 3); + for (ObjCCategoryDecl::prop_iterator I = CatDecl->prop_begin(), + E = CatDecl->prop_end(); I != E; ++I) + RewriteProperty(*I); + for (ObjCCategoryDecl::instmeth_iterator I = CatDecl->instmeth_begin(), E = CatDecl->instmeth_end(); I != E; ++I) diff --git a/test/Rewriter/rewrite-category-property.mm b/test/Rewriter/rewrite-category-property.mm new file mode 100644 index 0000000000..6b8f076222 --- /dev/null +++ b/test/Rewriter/rewrite-category-property.mm @@ -0,0 +1,15 @@ +// RUN: %clang_cc1 -x objective-c++ -fms-extensions -rewrite-objc %s -o %t-rw.cpp +// RUN: FileCheck -check-prefix LP --input-file=%t-rw.cpp %s +// radar 7630636 + +@class Y, Z; + +@interface A +@property (readonly) Y *y; +@end + +@interface A (cat) +@property (readonly) Z *z; +@end + +// CHECK-LP: // @property (readonly) Z *z; |