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