diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2008-05-02 21:09:40 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2008-05-02 21:09:40 +0000 |
commit | 57c99347c56b786a67291146e9c1ff992386c9dc (patch) | |
tree | 8940c097729732c0755dff161ce9a16fcad5c00e | |
parent | e92c1b26b3736807bbd7a3d49026d474291987ad (diff) |
Another test case for properties in protocols.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50589 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Sema/objc-property-5.m | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/Sema/objc-property-5.m b/test/Sema/objc-property-5.m new file mode 100644 index 0000000000..c467e634dc --- /dev/null +++ b/test/Sema/objc-property-5.m @@ -0,0 +1,31 @@ +// RUN: clang -verify %s + +@protocol P1 @end +@protocol P2 @end +@protocol P3 @end + +@interface NSData @end + +@interface MutableNSData : NSData @end + +@interface Base : NSData <P1> +@property(readonly) id ref; +@property(readonly) Base *p_base; +@property(readonly) NSData *nsdata; +@property(readonly) NSData * m_nsdata; +@end + +@interface Data : Base <P1, P2> +@property(readonly) NSData *ref; // expected-warning {{property type 'NSData *' does not match property type inherited from 'Base'}} +@property(readonly) Data *p_base; // expected-warning {{property type 'Data *' does not match property type inherited from 'Base'}} +@property(readonly) MutableNSData * m_nsdata; // expected-warning {{property type 'MutableNSData *' does not match property type inherited from 'Base'}} +@end + +@interface MutedData: Data +@property(readonly) id p_base; // expected-warning {{property type 'id' does not match property type inherited from 'Data'}} +@end + +@interface ConstData : Data <P1, P2, P3> +@property(readonly) ConstData *p_base; // expected-warning {{property type 'ConstData *' does not match property type inherited from 'Data'}} +@end + |