]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/SemaObjC/typedef-class.m
Vendor import of clang release_34 branch r197841 (effectively, 3.4 RC3):
[FreeBSD/FreeBSD.git] / test / SemaObjC / typedef-class.m
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 typedef signed char BOOL;
3 typedef unsigned int NSUInteger;
4 typedef struct _NSZone NSZone;
5
6 @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
7
8 @protocol NSObject - (BOOL) isEqual:(id) object; - (id)init; @end
9 @protocol NSCopying - (id) copyWithZone:(NSZone *) zone; @end
10 @protocol NSCoding - (void) encodeWithCoder:(NSCoder *) aCoder; @end
11
12 @interface NSObject < NSObject > {}
13 +(id) alloc;
14 @end
15
16 typedef float CGFloat;
17
18 @interface NSTask:NSObject
19 - (id) init;
20 @end
21
22 typedef NSUInteger NSControlSize;
23 typedef struct __CFlags {} _CFlags;
24
25 @interface NSCell:NSObject < NSCopying, NSCoding > {}
26 @end
27
28 @interface NSActionCell:NSCell {} @end
29
30 @class NSAttributedString, NSFont, NSImage, NSSound;
31
32 typedef struct _XCElementInset {} XCElementInset;
33
34 @protocol XCElementP < NSObject >
35 -(BOOL) vertical;
36 @end
37
38 @protocol XCElementDisplayDelegateP;
39 @protocol XCElementDisplayDelegateP < NSObject >
40 -(void) configureForControlSize:(NSControlSize)size font:(NSFont *)font addDefaultSpace:(XCElementInset) additionalSpace;
41 @end
42
43 @protocol XCElementSpacerP < XCElementP >
44 @end
45
46 typedef NSObject < XCElementSpacerP > XCElementSpacer;
47
48 @protocol XCElementTogglerP < XCElementP > -(void) setDisplayed:(BOOL) displayed;
49 @end
50
51 typedef NSObject < XCElementTogglerP > XCElementToggler; // expected-note {{previous definition is here}}
52
53 @interface XCElementRootFace:NSObject {} @end
54
55 @interface XCElementFace:XCElementRootFace {} @end
56
57 @class XCElementToggler;  // expected-warning {{redefinition of forward class 'XCElementToggler' of a typedef name of an object type is ignored}}
58
59 @interface XCRASlice:XCElementFace {} @end
60
61 @class XCElementSpacings;
62
63 @interface XCElementDisplay:NSObject < XCElementDisplayDelegateP > {} @end
64 @interface XCElementDisplayRect:XCElementDisplay {} @end
65
66 typedef XCElementDisplayRect XCElementGraphicsRect;
67
68 @interface XCElementDisplayFillerImage:XCElementDisplay {} @end
69
70 @implementation XCRASlice
71 - (void) addSliceWithLabel:(NSString *)label statusKey:(NSString *)statusKey disclosed:(BOOL)disclosed
72 {
73   static XCElementGraphicsRect *_sGraphicsDelegate = ((void *) 0);
74   if (!_sGraphicsDelegate) {
75     _sGraphicsDelegate =[[XCElementGraphicsRect alloc] init]; 
76   }
77 }
78 @end