1 // RUN: %clang_cc1 -verify %s 2 3 @protocol P1 @end 4 @protocol P2 @end 5 @protocol P3 @end 6 7 @interface NSData @end 8 9 @interface MutableNSData : NSData @end 10 11 @interface Base : NSData <P1> // expected-note {{receiver is instance of class declared here}} 12 @property(readonly) id ref; 13 @property(readonly) Base *p_base; 14 @property(readonly) NSData *nsdata; 15 @property(readonly) NSData * m_nsdata; 16 @end 17 18 @interface Data : Base <P1, P2> 19 @property(readonly) NSData *ref; 20 @property(readonly) Data *p_base; 21 @property(readonly) MutableNSData * m_nsdata; 22 @end 23 24 @interface MutedData: Data 25 @property(readonly) id p_base; 26 @end 27 28 @interface ConstData : Data <P1, P2, P3> 29 @property(readonly) ConstData *p_base; 30 @end 31 32 void foo(Base *b, id x) { 33 [ b setRef: x ]; // expected-warning {{method '-setRef:' not found}} 34 } 35