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 | |