aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC/property-category-4.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaObjC/property-category-4.m')
-rw-r--r--test/SemaObjC/property-category-4.m69
1 files changed, 69 insertions, 0 deletions
diff --git a/test/SemaObjC/property-category-4.m b/test/SemaObjC/property-category-4.m
index e7939b32c1..f99bd52998 100644
--- a/test/SemaObjC/property-category-4.m
+++ b/test/SemaObjC/property-category-4.m
@@ -16,3 +16,72 @@
@dynamic d_selectedObjects; // expected-error {{property declared in category 'CAT' cannot be implemented in class implementation}}
@end
+
+// rdar://13713098
+// Test1
+@interface NSArray
+- (int)count;
+@end
+
+@protocol MyCountable
+@property (readonly) int count;
+@end
+
+
+@interface NSArray(Additions) <MyCountable>
+@end
+
+@implementation NSArray(Additions)
+@end
+
+// Test2
+@protocol NSProtocol
+- (int)count;
+@end
+
+@interface NSArray1 <NSProtocol>
+@end
+
+@interface NSArray1(Additions) <MyCountable>
+@end
+
+@implementation NSArray1(Additions)
+@end
+
+// Test3
+@interface Super <NSProtocol>
+@end
+
+@interface NSArray2 : Super @end
+
+@interface NSArray2(Additions) <MyCountable>
+@end
+
+@implementation NSArray2(Additions)
+@end
+
+// Test3
+@interface Super1 <NSProtocol>
+@property (readonly) int count;
+@end
+
+@protocol MyCountable1
+@end
+
+@interface NSArray3 : Super1 <MyCountable1>
+@end
+
+@implementation NSArray3
+@end
+
+// Test4
+@interface I
+@property int d1;
+@end
+
+@interface I(CAT)
+@property int d1;
+@end
+
+@implementation I(CAT)
+@end