Home | History | Annotate | Download | only in SemaObjC
      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