1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
2 | // expected-no-diagnostics |
3 | typedef signed char BOOL; |
4 | typedef struct _NSZone NSZone; |
5 | |
6 | @protocol NSObject |
7 | - (BOOL)isEqual:(id)object; |
8 | @end |
9 | |
10 | @protocol NSCopying |
11 | - (id)copyWithZone:(NSZone *)zone; |
12 | @end |
13 | |
14 | @interface NSObject <NSObject> {} |
15 | @end |
16 | |
17 | @class NSString, NSData, NSMutableData, NSMutableDictionary, NSMutableArray; |
18 | |
19 | @interface SCMObject : NSObject <NSCopying> {} |
20 | @property(assign) SCMObject *__attribute__((objc_gc(weak))) parent; |
21 | @end |
22 | |
23 | @interface SCMNode : SCMObject |
24 | { |
25 | NSString *_name; |
26 | } |
27 | @property(copy) NSString *name; |
28 | @end |
29 | |
30 | @implementation SCMNode |
31 | @synthesize name = _name; |
32 | - (void) setParent:(SCMObject *__attribute__((objc_gc(weak)))) inParent { |
33 | super.parent = inParent; |
34 | } |
35 | @end |
36 | |