Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 
      3 /* This test is for categories which don't implement the accessors but some accessors are
      4    implemented in their base class implementation. In this case,no warning must be issued.
      5 */
      6 
      7 @interface MyClass 
      8 {
      9     int        _foo;
     10 }
     11 @property(readonly)    int        foo;
     12 @end
     13 
     14 @implementation MyClass
     15 - (int) foo        { return _foo; }
     16 @end
     17 
     18 @interface MyClass (private)
     19 @property(readwrite)    int        foo;
     20 @end
     21 
     22 @implementation MyClass (private)
     23 - (void) setFoo:(int)foo    { _foo = foo; }
     24 @end
     25 
     26 @interface MyClass (public)
     27 @property(readwrite)    int        foo;	// expected-warning {{property 'foo' requires method 'setFoo:' to be defined }}
     28 @end
     29 
     30 @implementation MyClass (public)// expected-note {{implementation is here}}
     31 @end 
     32