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