2010-01-07 05:38:30 +08:00
|
|
|
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
|
|
// radar 7509234
|
|
|
|
|
|
|
|
@protocol Foo
|
|
|
|
@property (readonly, copy) id foos;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface Bar <Foo> {
|
|
|
|
}
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface Baz <Foo> {
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface Bar ()
|
|
|
|
@property (readwrite, copy) id foos;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface Baz ()
|
|
|
|
@property (readwrite, copy) id foos;
|
|
|
|
@end
|
|
|
|
|
2011-09-24 08:56:59 +08:00
|
|
|
|
|
|
|
// rdar://10142679
|
|
|
|
@class NSString;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
float width;
|
|
|
|
float length;
|
|
|
|
} NSRect;
|
|
|
|
|
|
|
|
@interface MyClass {
|
|
|
|
}
|
|
|
|
@property (readonly) NSRect foo; // expected-note {{property declared here}}
|
|
|
|
@property (readonly, strong) NSString *bar; // expected-note {{property declared here}}
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface MyClass ()
|
2011-11-29 02:38:27 +08:00
|
|
|
@property (readwrite) NSString *foo; // expected-error {{type of property 'NSString *' in continuation class does not match property type in primary class}}
|
|
|
|
@property (readwrite, strong) NSRect bar; // expected-error {{type of property 'NSRect' in continuation class does not match property type in primary class}}
|
2011-09-24 08:56:59 +08:00
|
|
|
@end
|
2012-01-18 02:52:07 +08:00
|
|
|
|
|
|
|
// rdar://10655530
|
|
|
|
struct S;
|
|
|
|
struct S1;
|
|
|
|
@interface STAdKitContext
|
|
|
|
@property (nonatomic, readonly, assign) struct evhttp_request *httpRequest;
|
|
|
|
@property (nonatomic, readonly, assign) struct S *httpRequest2;
|
|
|
|
@property (nonatomic, readonly, assign) struct S1 *httpRequest3;
|
|
|
|
@property (nonatomic, readonly, assign) struct S2 *httpRequest4;
|
|
|
|
@end
|
|
|
|
|
|
|
|
struct evhttp_request;
|
|
|
|
struct S1;
|
|
|
|
|
|
|
|
@interface STAdKitContext()
|
|
|
|
@property (nonatomic, readwrite, assign) struct evhttp_request *httpRequest;
|
|
|
|
@property (nonatomic, readwrite, assign) struct S *httpRequest2;
|
|
|
|
@property (nonatomic, readwrite, assign) struct S1 *httpRequest3;
|
|
|
|
@property (nonatomic, readwrite, assign) struct S2 *httpRequest4;
|
|
|
|
@end
|