blob: 7e9935db7c7bf83ae7c967f5dcae1f7afe03b220 [file] [log] [blame]
Douglas Gregora12d2942010-02-16 01:20:57 +00001// Matches
Douglas Gregor2e55e3a2010-02-17 00:34:30 +00002@interface I1 {
3 int ivar1;
4}
Douglas Gregora12d2942010-02-16 01:20:57 +00005@end
6
7// Matches
Douglas Gregor2e55e3a2010-02-17 00:34:30 +00008@interface I2 : I1 {
9 float ivar2;
10}
11@end
12
13// Ivar mismatch
14@interface I3 {
15 int ivar1;
16 int ivar2;
17}
18@end
19
20// Superclass mismatch
21@interface I4 : I2 {
22}
Douglas Gregora12d2942010-02-16 01:20:57 +000023@end
Douglas Gregorc3f2d2b2010-02-17 02:12:47 +000024
25// Methods match
26@interface I5
27- (int)foo;
28+ (float)bar;
29@end
30
31// Method mismatch
32@interface I6
33- (int)foo;
34+ (int)foo;
35@end
36
37// Method mismatch
38@interface I7
39- (int)foo;
40+ (int)bar:(int)x;
41@end
42
43// Method mismatch
44@interface I8
45- (int)foo;
46+ (int)bar:(float)x;
47@end
Douglas Gregor2e2a4002010-02-17 16:12:00 +000048
49// Matching protocol
50@protocol P0
51+ (int)foo;
52- (int)bar:(float)x;
53@end
54
55// Protocol with mismatching method
56@protocol P1
57+ (int)foo;
58- (int)bar:(float)x;
59@end
60
61// Interface with protocol
62@interface I9 <P0>
63+ (int)foo;
64- (int)bar:(float)x;
65@end
66
67// Protocol with protocol
68@protocol P2 <P0>
69- (float)wibble:(int)a1 second:(int)a2;
70@end
Douglas Gregora2bc15b2010-02-18 02:04:09 +000071
72// Forward-declared interfaces
73@class I10, I11;
74@interface I12
75@end
Douglas Gregor2b785022010-02-18 02:12:22 +000076
77// Forward-declared protocols
78@protocol P3, P5;
79@protocol P4
80- (double)honk:(int)a;
81@end