forked from OSchip/llvm-project
104 lines
1.2 KiB
Objective-C
104 lines
1.2 KiB
Objective-C
// Matches
|
|
@interface I1 {
|
|
int ivar1;
|
|
}
|
|
@end
|
|
|
|
// Matches
|
|
@interface I2 : I1 {
|
|
float ivar2;
|
|
}
|
|
@end
|
|
|
|
// Ivar mismatch
|
|
@interface I3 {
|
|
int ivar1;
|
|
int ivar2;
|
|
}
|
|
@end
|
|
|
|
// Superclass mismatch
|
|
@interface I4 : I2 {
|
|
}
|
|
@end
|
|
|
|
// Methods match
|
|
@interface I5
|
|
- (int)foo;
|
|
+ (float)bar;
|
|
@end
|
|
|
|
// Method mismatch
|
|
@interface I6
|
|
- (int)foo;
|
|
+ (int)foo;
|
|
@end
|
|
|
|
// Method mismatch
|
|
@interface I7
|
|
- (int)foo;
|
|
+ (int)bar:(int)x;
|
|
@end
|
|
|
|
// Method mismatch
|
|
@interface I8
|
|
- (int)foo;
|
|
+ (int)bar:(float)x;
|
|
@end
|
|
|
|
// Matching protocol
|
|
@protocol P0
|
|
+ (int)foo;
|
|
- (int)bar:(float)x;
|
|
@end
|
|
|
|
// Protocol with mismatching method
|
|
@protocol P1
|
|
+ (int)foo;
|
|
- (int)bar:(float)x;
|
|
@end
|
|
|
|
// Interface with protocol
|
|
@interface I9 <P0>
|
|
+ (int)foo;
|
|
- (int)bar:(float)x;
|
|
@end
|
|
|
|
// Protocol with protocol
|
|
@protocol P2 <P0>
|
|
- (float)wibble:(int)a1 second:(int)a2;
|
|
@end
|
|
|
|
// Forward-declared interfaces
|
|
@class I10, I11;
|
|
@interface I12
|
|
@end
|
|
|
|
// Forward-declared protocols
|
|
@protocol P3, P5;
|
|
@protocol P4
|
|
- (double)honk:(int)a;
|
|
@end
|
|
|
|
// Interface with implementation
|
|
@interface I13
|
|
@end
|
|
|
|
@implementation I13
|
|
@end
|
|
|
|
@interface I13a
|
|
@end
|
|
|
|
@implementation I13a
|
|
@end
|
|
|
|
// Implementation by itself
|
|
@implementation I14 : I12
|
|
@end
|
|
|
|
@implementation I15 : I12
|
|
@end
|
|
|
|
|