mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
For the Optional<Module *> returned by getClangSubmoduleForDecl, the outside Optional specifies whether there's an answer at all. That answer can still be null if the declaration comes from a bridging header. In this particular case, we're guaranteed to get an answer, but that answer may be null. rdar://problem/32463543
83 lines
1.8 KiB
Objective-C
83 lines
1.8 KiB
Objective-C
// 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
|