f4a2713ac8
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
63 lines
1.6 KiB
Objective-C
63 lines
1.6 KiB
Objective-C
// 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
|
|
|
|
|
|
// 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 ()
|
|
@property (readwrite) NSString *foo; // expected-error {{type of property 'NSString *' in class extension does not match property type in primary class}}
|
|
@property (readwrite, strong) NSRect bar; // expected-error {{type of property 'NSRect' in class extension does not match property type in primary class}}
|
|
@end
|
|
|
|
// 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
|