typedef int Int;
@interface I1
@end
// Matching category
@interface I1 (Cat1)
- (Int)method0;
@end
// Matching class extension
@interface I1 ()
- (Int)method1;
@end
// Mismatched category
@interface I1 (Cat2)
- (float)method2;
@end
@interface I2
@end
// Mismatched class extension
@interface I2 ()
- (float)method3;
@end
// Category with implementation
@interface I2 (Cat3)
@end
@implementation I2 (Cat3)
@end
// Category with implementation
@interface I2 (Cat5)
@end
@implementation I2 (Cat5)
@end
// Category with mismatched implementation
@interface I2 (Cat6)
@end
@implementation I2 (Cat6)
- (int)blah { return 0; }
@end