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