Files
swift-mirror/test/IDE/Inputs/custom-modules/ImportAsMemberClass.h
Doug Gregor 1255a5cdb9 [Clang importer] Make sure an unavailable superclass init doesn't override an available import-as-member-init.
More generally, an unavailable initializer shouldn't stomp on an
available initializer, because it's possible that (for example) a
designated initializer will be unavailable but a factory initializer
will be available, so one still construct objects of that type.
Fixes rdar://problem/26238032.
2016-05-20 09:39:57 -07:00

36 lines
1.1 KiB
Objective-C

#ifndef IMPORT_AS_MEMBER_CLASS_H
#define IMPORT_AS_MEMBER_CLASS_H
@import Foundation;
typedef NS_OPTIONS(NSInteger, IAMSomeClassOptions) {
IAMSomeClassFuzzyDice = 0x01,
IAMSomeClassSpoiler = 0x02
} __attribute__((swift_name("SomeClass.Options")));
__attribute__((swift_name("SomeClass")))
@interface IAMSomeClass : NSObject
@end
__attribute__((swift_name("SomeClass.init(value:)")))
IAMSomeClass * _Nonnull MakeIAMSomeClass(double x);
__attribute__((swift_name("SomeClass.applyOptions(self:_:)")))
void IAMSomeClassApplyOptions(IAMSomeClass * _Nonnull someClass,
IAMSomeClassOptions options);
@interface UnavailableDefaultInit : NSObject
-(instancetype)init __attribute__((availability(swift,unavailable)));
@end
@interface UnavailableDefaultInitSub : UnavailableDefaultInit
@end
__attribute__((swift_name("UnavailableDefaultInit.init()")))
UnavailableDefaultInit * _Nonnull MakeUnavailableDefaultInit(void);
__attribute__((swift_name("UnavailableDefaultInitSub.init()")))
UnavailableDefaultInitSub * _Nonnull MakeUnavailableDefaultInitSub(void);
#endif