blob: 9524c22799dab4118f8cd61e4300e6f81bdef7f1 [file] [log] [blame]
Patrick Beardb2f68202012-04-06 18:12:22 +00001// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
Fariborz Jahanian3ad230e2010-01-20 19:36:21 +00002
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)
Fariborz Jahanianb8607392011-08-27 21:55:47 +000027@property(readwrite) int foo; // expected-note {{property declared here}}
Fariborz Jahanian3ad230e2010-01-20 19:36:21 +000028@end
29
Fariborz Jahanianb8607392011-08-27 21:55:47 +000030@implementation MyClass (public)// expected-warning {{property 'foo' requires method 'setFoo:' to be defined }}
Fariborz Jahanian3ad230e2010-01-20 19:36:21 +000031@end