Ted Kremenek | 3465318 | 2012-07-25 07:26:32 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -Wno-objc-root-class -verify %s |
Fariborz Jahanian | a2c91e7 | 2012-04-18 19:13:23 +0000 | [diff] [blame] | 2 | // rdar://11273060 |
| 3 | |
| 4 | @interface I |
| 5 | - (void) setP : (int)arg; |
| 6 | @end |
| 7 | |
| 8 | @interface J |
| 9 | - (int) P; |
| 10 | @end |
| 11 | |
| 12 | @interface K @end |
| 13 | |
| 14 | @interface II @end |
| 15 | |
| 16 | @implementation II |
| 17 | - (void) Meth : (I*) arg { |
| 18 | arg.P++; // expected-error {{no getter method 'P' for increment of property}} |
| 19 | --arg.P; // expected-error {{no getter method 'P' for decrement of property}} |
| 20 | } |
| 21 | - (void) Meth1 : (J*) arg { |
| 22 | arg.P++; // expected-error {{no setter method 'setP:' for increment of property}} |
| 23 | arg.P--; // expected-error {{no setter method 'setP:' for decrement of property}} |
| 24 | } |
| 25 | |
| 26 | - (void) Meth2 : (K*) arg { |
| 27 | arg.P++; // expected-error {{property 'P' not found on object of type 'K *'}} |
| 28 | arg.P--; // expected-error {{property 'P' not found on object of type 'K *'}} |
| 29 | } |
| 30 | @end |