Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1 -fsyntax-only %s
      2 // FIXME: This test case tests the patch applied in: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20080602/006017.html
      3 //   Eventually that logic should be treated as an extension.
      4 
      5 typedef signed char BOOL;
      6 typedef int NSInteger;
      7 typedef unsigned int NSUInteger;
      8 typedef struct _NSZone NSZone;
      9 @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
     10 
     11 @protocol NSObject
     12 - (BOOL)isEqual:(id)object;
     13 @end
     14 
     15 @protocol NSCopying
     16 - (id)copyWithZone:(NSZone *)zone;
     17 @end
     18 
     19 @protocol NSMutableCopying
     20 - (id)mutableCopyWithZone:(NSZone *)zone;
     21 @end
     22 
     23 @protocol NSCoding
     24 - (void)encodeWithCoder:(NSCoder *)aCoder;
     25 @end
     26 
     27 @interface NSObject <NSObject> {}
     28 @end
     29 
     30 @class NSArray;
     31 
     32 typedef struct {} NSFastEnumerationState;
     33 
     34 @protocol NSFastEnumeration
     35 - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len;
     36 @end
     37 
     38 @class NSString;
     39 
     40 @interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>
     41 - (NSUInteger)count;
     42 - (id)objectAtIndex:(NSUInteger)index;
     43 @end
     44 
     45 typedef unsigned short unichar;
     46 
     47 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding>
     48 - (NSUInteger)length;
     49 @end
     50 
     51 @interface NSSimpleCString : NSString
     52 {}
     53 
     54 @end
     55 
     56 @interface NSConstantString : NSSimpleCString @end
     57 
     58 extern void *_NSConstantStringClassReference;
     59 
     60 @interface NSResponder : NSObject <NSCoding> {}
     61 @end
     62 
     63 @class NSDate, NSDictionary, NSError, NSException, NSNotification;
     64 
     65 @interface NSWindowController : NSResponder <NSCoding> {}
     66 @end
     67 
     68 @class PBXBuildLog, PBXBuildLogItem, PBXBuildLogContainerItem, XCWorkQueueCommand, XCBuildLogContainerItemMutationState;
     69 
     70 @protocol PBXBuildLogContainerItems <NSObject>
     71 - (PBXBuildLog *)buildLog;
     72 @end
     73 
     74 @interface PBXBuildLogItem : NSObject {}
     75 - (id <PBXBuildLogContainerItems>)superitem;
     76 @end
     77 @interface PBXBuildResultsModule
     78 @end
     79 
     80 @implementation PBXBuildResultsModule
     81 - (void) revealItems
     82 {
     83         PBXBuildLogItem *objItem;
     84         PBXBuildLogItem *superitem = [objItem superitem];
     85 }
     86 @end
     87