1typedef int Int;
2
3@interface I1
4@end
5
6// Matching category
7@interface I1 (Cat1)
8- (Int)method0;
9@end
10
11// Matching class extension
12@interface I1 ()
13- (Int)method1;
14@end
15
16// Mismatched category
17@interface I1 (Cat2)
18- (float)method2;
19@end
20
21@interface I2
22@end
23
24// Mismatched class extension
25@interface I2 ()
26- (float)method3;
27@end
28
29// Category with implementation
30@interface I2 (Cat3)
31@end
32
33@implementation I2 (Cat3)
34@end
35
36// Category with implementation
37@interface I2 (Cat5)
38@end
39
40@implementation I2 (Cat5)
41@end
42
43// Category with mismatched implementation
44@interface I2 (Cat6)
45@end
46
47@implementation I2 (Cat6)
48- (int)blah { return 0; }
49@end
50