1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
// Don't change this to @import; it tickles a particular former crash.
#import <Foundation.h>
@import ExternIntX;
#import "Protocols.h"
#import "used-by-both-headers.h"
@class ForwardClass;
@protocol ForwardProto;
void doSomething(ForwardClass *arg);
void doSomethingProto(id <ForwardProto> arg);
@interface Base
- (NSObject *)safeOverride:(ForwardClass *)arg;
- (NSObject *)unsafeOverrideParam:(NSObject *)arg;
- (ForwardClass *)unsafeOverrideReturn:(ForwardClass *)arg;
@end
@protocol ForwardClassUser
- (void)consumeForwardClass:(ForwardClass *)arg;
@property ForwardClass *forward;
@end
@interface Base ()
- (NSObject *)safeOverrideProto:(id <ForwardProto>)arg;
- (NSObject *)unsafeOverrideProtoParam:(NSObject *)arg;
- (id <ForwardProto>)unsafeOverrideProtoReturn:(id <ForwardProto>)arg;
@end
@class PartialBaseClass;
@class PartialSubClass /* : NSObject */;
void doSomethingPartialBase(PartialBaseClass *arg);
void doSomethingPartialSub(PartialSubClass *arg);
@interface Base ()
- (NSObject *)safeOverridePartialSub:(PartialSubClass *)arg;
- (NSObject *)unsafeOverridePartialSubParam:(NSObject *)arg;
- (PartialSubClass *)unsafeOverridePartialSubReturn:(PartialSubClass *)arg;
@end
typedef NS_ENUM(short, AALevel) {
AAA = 1,
BBB = 2
};
@interface ConflictingName1
@end
@protocol ConflictingName1
@end
@protocol ConflictingName2
@end
@interface ConflictingName2
@end
@interface WrapperInterface
typedef int NameInInterface;
@end
@protocol WrapperProto
typedef int NameInProtocol;
@end
@interface WrapperInterface (Category)
typedef int NameInCategory;
@end
@protocol ForwardProtoFromOtherFile;
@interface ClassThatHasAProtocolTypedPropertyButMembersAreNeverLoaded
@property (weak) id <ForwardProtoFromOtherFile> weakProtoProp;
@end
@interface GenericObjCClass<Param : id <ForwardProto>> : Base
- (instancetype)init;
@end
|