[K/N] Add ObjCName annotation (#4815)
This commit is contained in:
@@ -1212,6 +1212,132 @@ __attribute__((swift_name("NoAutoreleaseKt")))
|
||||
+ (void)useIntArrayArray:(KtKotlinIntArray *)array __attribute__((swift_name("useIntArray(array:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC1A")))
|
||||
@interface KtObjCNameC1A : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (NSString *)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameAKt")))
|
||||
@interface KtObjCNameAKt : KtBase
|
||||
+ (NSString *)withUserId:(NSString *)userId __attribute__((swift_name("with(userId:)")));
|
||||
+ (BOOL)supportsFeatures:(BOOL)features __attribute__((swift_name("supports(_:)")));
|
||||
+ (NSString *)scanForPeripheralsWithServices:(int32_t)serviceUUIDs options:(NSString *)options __attribute__((swift_name("scanForPeripherals(withServices:options:)")));
|
||||
+ (NSString *)registerForConnectionEventsWithOptions:(NSString *)options __attribute__((swift_name("registerForConnectionEvents(options:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC1B")))
|
||||
@interface KtObjCNameC1B : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (NSString *)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("MySwiftArray")))
|
||||
@interface KtMyObjCArray : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)indexOfObject:(int32_t)element __attribute__((swift_name("index(of:)")));
|
||||
@property (readonly) int32_t count __attribute__((swift_name("count")));
|
||||
@end
|
||||
|
||||
__attribute__((swift_name("ObjCNameI1")))
|
||||
@protocol KtObjCNameI1
|
||||
@required
|
||||
- (int32_t)someOtherFunctionReceiver:(int32_t)receiver otherParam:(int32_t)param __attribute__((swift_name("someOtherFunction(receiver:otherParam:)")));
|
||||
@property (readonly) int32_t someOtherValue __attribute__((swift_name("someOtherValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC2")))
|
||||
@interface KtObjCNameC2 : KtBase <KtObjCNameI1>
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)someOtherFunctionReceiver:(int32_t)receiver otherParam:(int32_t)param __attribute__((swift_name("someOtherFunction(receiver:otherParam:)")));
|
||||
@property int32_t someOtherValue __attribute__((swift_name("someOtherValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC2.SwiftNestedClass")))
|
||||
@interface KtObjCNameC2ObjCNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftExactNestedClass")))
|
||||
@interface ObjCExactNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC3")))
|
||||
@interface ObjCNameC3 : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC3.SwiftNestedClass")))
|
||||
@interface ObjCNameC3ObjCNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC4")))
|
||||
@interface KtObjCNameC4 : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)fooObjCReceiver:(int32_t)receiver objCParam:(int32_t)param __attribute__((swift_name("foo(objCReceiver:objCParam:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftObject")))
|
||||
@interface KtObjCNameObjCObject : KtBase
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
+ (instancetype)objCNameObjCObject __attribute__((swift_name("init()")));
|
||||
@property (class, readonly, getter=shared) KtObjCNameObjCObject *shared __attribute__((swift_name("shared")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftEnum")))
|
||||
@interface KtObjCNameObjCEnum : KtKotlinEnum<KtObjCNameObjCEnum *>
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcOne __attribute__((swift_name("swiftOne")));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcTwo __attribute__((swift_name("companion")));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcThree __attribute__((swift_name("swiftThree")));
|
||||
+ (KtKotlinArray<KtObjCNameObjCEnum *> *)values __attribute__((swift_name("values()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftEnum.Companion")))
|
||||
@interface KtObjCNameObjCEnumCompanion : KtBase
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
+ (instancetype)companion __attribute__((swift_name("init()")));
|
||||
@property (class, readonly, getter=shared) KtObjCNameObjCEnumCompanion *shared __attribute__((swift_name("shared")));
|
||||
- (int32_t)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameBKt")))
|
||||
@interface KtObjCNameBKt : KtBase
|
||||
+ (int32_t)getSomeValueOf:(id<KtObjCNameI1>)receiver __attribute__((swift_name("getSomeValue(of:)")));
|
||||
@end
|
||||
|
||||
__attribute__((swift_name("OverrideKotlinMethods2")))
|
||||
@protocol KtOverrideKotlinMethods2
|
||||
@required
|
||||
|
||||
@@ -1147,6 +1147,132 @@ __attribute__((swift_name("NoAutoreleaseKt")))
|
||||
+ (void)useIntArrayArray:(KtKotlinIntArray *)array __attribute__((swift_name("useIntArray(array:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC1A")))
|
||||
@interface KtObjCNameC1A : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (NSString *)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameAKt")))
|
||||
@interface KtObjCNameAKt : KtBase
|
||||
+ (NSString *)withUserId:(NSString *)userId __attribute__((swift_name("with(userId:)")));
|
||||
+ (BOOL)supportsFeatures:(BOOL)features __attribute__((swift_name("supports(_:)")));
|
||||
+ (NSString *)scanForPeripheralsWithServices:(int32_t)serviceUUIDs options:(NSString *)options __attribute__((swift_name("scanForPeripherals(withServices:options:)")));
|
||||
+ (NSString *)registerForConnectionEventsWithOptions:(NSString *)options __attribute__((swift_name("registerForConnectionEvents(options:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC1B")))
|
||||
@interface KtObjCNameC1B : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (NSString *)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("MySwiftArray")))
|
||||
@interface KtMyObjCArray : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)indexOfObject:(int32_t)element __attribute__((swift_name("index(of:)")));
|
||||
@property (readonly) int32_t count __attribute__((swift_name("count")));
|
||||
@end
|
||||
|
||||
__attribute__((swift_name("ObjCNameI1")))
|
||||
@protocol KtObjCNameI1
|
||||
@required
|
||||
- (int32_t)someOtherFunctionReceiver:(int32_t)receiver otherParam:(int32_t)param __attribute__((swift_name("someOtherFunction(receiver:otherParam:)")));
|
||||
@property (readonly) int32_t someOtherValue __attribute__((swift_name("someOtherValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC2")))
|
||||
@interface KtObjCNameC2 : KtBase <KtObjCNameI1>
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)someOtherFunctionReceiver:(int32_t)receiver otherParam:(int32_t)param __attribute__((swift_name("someOtherFunction(receiver:otherParam:)")));
|
||||
@property int32_t someOtherValue __attribute__((swift_name("someOtherValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC2.SwiftNestedClass")))
|
||||
@interface KtObjCNameC2ObjCNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftExactNestedClass")))
|
||||
@interface ObjCExactNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC3")))
|
||||
@interface ObjCNameC3 : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC3.SwiftNestedClass")))
|
||||
@interface ObjCNameC3ObjCNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC4")))
|
||||
@interface KtObjCNameC4 : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)fooObjCReceiver:(int32_t)receiver objCParam:(int32_t)param __attribute__((swift_name("foo(objCReceiver:objCParam:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftObject")))
|
||||
@interface KtObjCNameObjCObject : KtBase
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
+ (instancetype)objCNameObjCObject __attribute__((swift_name("init()")));
|
||||
@property (class, readonly, getter=shared) KtObjCNameObjCObject *shared __attribute__((swift_name("shared")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftEnum")))
|
||||
@interface KtObjCNameObjCEnum : KtKotlinEnum<KtObjCNameObjCEnum *>
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcOne __attribute__((swift_name("swiftOne")));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcTwo __attribute__((swift_name("companion")));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcThree __attribute__((swift_name("swiftThree")));
|
||||
+ (KtKotlinArray<KtObjCNameObjCEnum *> *)values __attribute__((swift_name("values()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftEnum.Companion")))
|
||||
@interface KtObjCNameObjCEnumCompanion : KtBase
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
+ (instancetype)companion __attribute__((swift_name("init()")));
|
||||
@property (class, readonly, getter=shared) KtObjCNameObjCEnumCompanion *shared __attribute__((swift_name("shared")));
|
||||
- (int32_t)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameBKt")))
|
||||
@interface KtObjCNameBKt : KtBase
|
||||
+ (int32_t)getSomeValueOf:(id<KtObjCNameI1>)receiver __attribute__((swift_name("getSomeValue(of:)")));
|
||||
@end
|
||||
|
||||
__attribute__((swift_name("OverrideKotlinMethods2")))
|
||||
@protocol KtOverrideKotlinMethods2
|
||||
@required
|
||||
|
||||
@@ -1147,6 +1147,132 @@ __attribute__((swift_name("NoAutoreleaseKt")))
|
||||
+ (void)useIntArrayArray:(KtKotlinIntArray *)array __attribute__((swift_name("useIntArray(array:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC1A")))
|
||||
@interface KtObjCNameC1A : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (NSString *)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameAKt")))
|
||||
@interface KtObjCNameAKt : KtBase
|
||||
+ (NSString *)withUserId:(NSString *)userId __attribute__((swift_name("with(userId:)")));
|
||||
+ (BOOL)supportsFeatures:(BOOL)features __attribute__((swift_name("supports(_:)")));
|
||||
+ (NSString *)scanForPeripheralsWithServices:(int32_t)serviceUUIDs options:(NSString *)options __attribute__((swift_name("scanForPeripherals(withServices:options:)")));
|
||||
+ (NSString *)registerForConnectionEventsWithOptions:(NSString *)options __attribute__((swift_name("registerForConnectionEvents(options:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC1B")))
|
||||
@interface KtObjCNameC1B : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (NSString *)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("MySwiftArray")))
|
||||
@interface KtMyObjCArray : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)indexOfObject:(int32_t)element __attribute__((swift_name("index(of:)")));
|
||||
@property (readonly) int32_t count __attribute__((swift_name("count")));
|
||||
@end
|
||||
|
||||
__attribute__((swift_name("ObjCNameI1")))
|
||||
@protocol KtObjCNameI1
|
||||
@required
|
||||
- (int32_t)someOtherFunctionReceiver:(int32_t)receiver otherParam:(int32_t)param __attribute__((swift_name("someOtherFunction(receiver:otherParam:)")));
|
||||
@property (readonly) int32_t someOtherValue __attribute__((swift_name("someOtherValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC2")))
|
||||
@interface KtObjCNameC2 : KtBase <KtObjCNameI1>
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)someOtherFunctionReceiver:(int32_t)receiver otherParam:(int32_t)param __attribute__((swift_name("someOtherFunction(receiver:otherParam:)")));
|
||||
@property int32_t someOtherValue __attribute__((swift_name("someOtherValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC2.SwiftNestedClass")))
|
||||
@interface KtObjCNameC2ObjCNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftExactNestedClass")))
|
||||
@interface ObjCExactNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC3")))
|
||||
@interface ObjCNameC3 : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("SwiftNameC3.SwiftNestedClass")))
|
||||
@interface ObjCNameC3ObjCNestedClass : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
@property int32_t nestedValue __attribute__((swift_name("nestedValue")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameC4")))
|
||||
@interface KtObjCNameC4 : KtBase
|
||||
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
|
||||
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
|
||||
- (int32_t)fooObjCReceiver:(int32_t)receiver objCParam:(int32_t)param __attribute__((swift_name("foo(objCReceiver:objCParam:)")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftObject")))
|
||||
@interface KtObjCNameObjCObject : KtBase
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
+ (instancetype)objCNameObjCObject __attribute__((swift_name("init()")));
|
||||
@property (class, readonly, getter=shared) KtObjCNameObjCObject *shared __attribute__((swift_name("shared")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftEnum")))
|
||||
@interface KtObjCNameObjCEnum : KtKotlinEnum
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcOne __attribute__((swift_name("swiftOne")));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcTwo __attribute__((swift_name("companion")));
|
||||
@property (class, readonly) KtObjCNameObjCEnum *objcThree __attribute__((swift_name("swiftThree")));
|
||||
+ (KtKotlinArray *)values __attribute__((swift_name("values()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameSwiftEnum.Companion")))
|
||||
@interface KtObjCNameObjCEnumCompanion : KtBase
|
||||
+ (instancetype)alloc __attribute__((unavailable));
|
||||
+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
|
||||
+ (instancetype)companion __attribute__((swift_name("init()")));
|
||||
@property (class, readonly, getter=shared) KtObjCNameObjCEnumCompanion *shared __attribute__((swift_name("shared")));
|
||||
- (int32_t)foo __attribute__((swift_name("foo()")));
|
||||
@end
|
||||
|
||||
__attribute__((objc_subclassing_restricted))
|
||||
__attribute__((swift_name("ObjCNameBKt")))
|
||||
@interface KtObjCNameBKt : KtBase
|
||||
+ (int32_t)getSomeValueOf:(id<KtObjCNameI1>)receiver __attribute__((swift_name("getSomeValue(of:)")));
|
||||
@end
|
||||
|
||||
__attribute__((swift_name("OverrideKotlinMethods2")))
|
||||
@protocol KtOverrideKotlinMethods2
|
||||
@required
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
import Kt
|
||||
|
||||
private func testObjCNameClassNames() throws {
|
||||
try assertEquals(actual: ObjCNameC1A().foo(), expected: "a")
|
||||
try assertEquals(actual: ObjCNameC1B().foo(), expected: "b")
|
||||
}
|
||||
|
||||
private func testObjCNameFunctionName() throws {
|
||||
try assertEquals(actual: ObjCNameAKt.with(userId: "abc"), expected: "abc")
|
||||
}
|
||||
|
||||
private func testObjCNameParameterNames() throws {
|
||||
try assertEquals(actual: ObjCNameAKt.supports(true), expected: true)
|
||||
try assertEquals(actual: ObjCNameAKt.scanForPeripherals(withServices: 123, options: "abc"), expected: "123 abc")
|
||||
try assertEquals(actual: ObjCNameAKt.registerForConnectionEvents(options: "abc"), expected: "abc")
|
||||
}
|
||||
|
||||
private func testObjCNameReceiverName() throws {
|
||||
let object = SwiftNameC2()
|
||||
try assertEquals(actual: ObjCNameBKt.getSomeValue(of: object), expected: 0)
|
||||
}
|
||||
|
||||
private func testObjCNameMySwiftArray() throws {
|
||||
let array = MySwiftArray()
|
||||
try assertEquals(actual: array.count, expected: 0)
|
||||
try assertEquals(actual: array.index(of: 1), expected: 1)
|
||||
}
|
||||
|
||||
private func testObjCNameOverrides() throws {
|
||||
let object = SwiftNameC2()
|
||||
try assertEquals(actual: object.someOtherValue, expected: 0)
|
||||
object.someOtherValue = 1
|
||||
try assertEquals(actual: object.someOtherValue, expected: 1)
|
||||
try assertEquals(actual: object.someOtherFunction(receiver: 2, otherParam: 4), expected: 8)
|
||||
try assertEquals(actual: ObjCNameC4().foo(objCReceiver: 3, objCParam: 5), expected: 15)
|
||||
}
|
||||
|
||||
private func testObjCNameNestedClass() throws {
|
||||
let object = SwiftNameC2.SwiftNestedClass()
|
||||
try assertEquals(actual: object.nestedValue, expected: 1)
|
||||
object.nestedValue = 2
|
||||
try assertEquals(actual: object.nestedValue, expected: 2)
|
||||
}
|
||||
|
||||
private func testObjCNameExact() throws {
|
||||
try assertEquals(actual: SwiftExactNestedClass().nestedValue, expected: 1)
|
||||
try assertEquals(actual: SwiftNameC3.SwiftNestedClass().nestedValue, expected: 2)
|
||||
}
|
||||
|
||||
private func testObjCNameObject() throws {
|
||||
try assertEquals(actual: ObjCNameSwiftObject.shared, expected: ObjCNameSwiftObject())
|
||||
}
|
||||
|
||||
private func testObjCNameEnum() throws {
|
||||
let enumValues = ObjCNameSwiftEnum.values()
|
||||
try assertEquals(actual: enumValues.size, expected: 3)
|
||||
try assertSame(actual: enumValues.get(index: 0) as AnyObject, expected: ObjCNameSwiftEnum.swiftOne)
|
||||
try assertSame(actual: enumValues.get(index: 1) as AnyObject, expected: ObjCNameSwiftEnum.companion)
|
||||
try assertSame(actual: enumValues.get(index: 2) as AnyObject, expected: ObjCNameSwiftEnum.swiftThree)
|
||||
try assertEquals(actual: ObjCNameSwiftEnum.Companion.shared.foo(), expected: 0)
|
||||
}
|
||||
|
||||
class ObjCNameTests : SimpleTestProvider {
|
||||
override init() {
|
||||
super.init()
|
||||
|
||||
test("TestObjCNameClassNames", testObjCNameClassNames)
|
||||
test("TestObjCNameFunctionName", testObjCNameFunctionName)
|
||||
test("TestObjCNameParameterNames", testObjCNameParameterNames)
|
||||
test("TestObjCNameReceiverName", testObjCNameReceiverName)
|
||||
test("TestObjCNameMySwiftArray", testObjCNameMySwiftArray)
|
||||
test("TestObjCNameOverrides", testObjCNameOverrides)
|
||||
test("TestObjCNameNestedClass", testObjCNameNestedClass)
|
||||
test("TestObjCNameExact", testObjCNameExact)
|
||||
test("TestObjCNameObject", testObjCNameObject)
|
||||
test("TestObjCNameEnum", testObjCNameEnum)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@file:OptIn(ExperimentalObjCName::class)
|
||||
|
||||
package objCNameA
|
||||
|
||||
import kotlin.experimental.ExperimentalObjCName
|
||||
|
||||
// https://youtrack.jetbrains.com/issue/KT-50767
|
||||
@ObjCName("ObjCNameC1A")
|
||||
class ObjCNameC1 {
|
||||
fun foo(): String = "a"
|
||||
}
|
||||
|
||||
// https://youtrack.jetbrains.com/issue/KT-48076
|
||||
@ObjCName("with")
|
||||
fun withUserId(userId: String): String = userId
|
||||
|
||||
// https://developer.apple.com/documentation/corebluetooth/cbcentralmanager/3240586-supports
|
||||
fun supports(@ObjCName(swiftName = "_") features: Boolean): Boolean = features
|
||||
|
||||
// https://developer.apple.com/documentation/corebluetooth/cbcentralmanager/1518986-scanforperipherals
|
||||
fun scanForPeripherals(@ObjCName("withServices") serviceUUIDs: Int, options: String): String = "$serviceUUIDs $options"
|
||||
|
||||
// https://developer.apple.com/documentation/corebluetooth/cbcentralmanager/3174844-registerforconnectionevents
|
||||
fun registerForConnectionEvents(@ObjCName("withOptions", "options") options: String): String = "$options"
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@file:OptIn(ExperimentalObjCName::class)
|
||||
|
||||
package objCNameB
|
||||
|
||||
import kotlin.experimental.ExperimentalObjCName
|
||||
|
||||
// https://youtrack.jetbrains.com/issue/KT-50767
|
||||
@ObjCName("ObjCNameC1B")
|
||||
class ObjCNameC1 {
|
||||
fun foo(): String = "b"
|
||||
}
|
||||
|
||||
@ObjCName("MyObjCArray", "MySwiftArray")
|
||||
class MyKotlinArray {
|
||||
// https://developer.apple.com/documentation/foundation/nsarray/1409982-count
|
||||
@ObjCName("count")
|
||||
val size: Int = 0
|
||||
// https://developer.apple.com/documentation/foundation/nsarray/1417076-index
|
||||
@ObjCName(swiftName = "index")
|
||||
fun indexOf(@ObjCName("object", "of") element: Int): Int = element
|
||||
}
|
||||
|
||||
interface ObjCNameI1 {
|
||||
@ObjCName("someOtherValue")
|
||||
val someValue: Int
|
||||
@ObjCName("someOtherFunction")
|
||||
fun @receiver:ObjCName("receiver") Int.someFunction(@ObjCName("otherParam") param: Int): Int
|
||||
}
|
||||
|
||||
fun @receiver:ObjCName("of") ObjCNameI1.getSomeValue(): Int = someValue
|
||||
|
||||
@ObjCName(swiftName = "SwiftNameC2")
|
||||
class ObjCNameC2: ObjCNameI1 {
|
||||
@ObjCName("ObjCNestedClass", "SwiftNestedClass")
|
||||
class NestedClass {
|
||||
var nestedValue: Int = 1
|
||||
}
|
||||
|
||||
@ObjCName("ObjCExactNestedClass", "SwiftExactNestedClass", true)
|
||||
class ExactNestedClass {
|
||||
var nestedValue: Int = 1
|
||||
}
|
||||
|
||||
override var someValue: Int = 0
|
||||
override fun Int.someFunction(param: Int): Int = this * param
|
||||
}
|
||||
|
||||
@ObjCName("ObjCNameC3", "SwiftNameC3", true)
|
||||
class ObjCNameC3 {
|
||||
@ObjCName("ObjCNestedClass", "SwiftNestedClass")
|
||||
class NestedClass {
|
||||
var nestedValue: Int = 2
|
||||
}
|
||||
}
|
||||
|
||||
private interface ObjCNameI2 {
|
||||
fun @receiver:ObjCName("objCReceiver") Int.foo(@ObjCName("objCParam") param: Int): Int
|
||||
}
|
||||
|
||||
class ObjCNameC4: ObjCNameI2 {
|
||||
override fun Int.foo(param: Int): Int = this * param
|
||||
}
|
||||
|
||||
@ObjCName("ObjCNameObjCObject", "ObjCNameSwiftObject")
|
||||
object ObjCNameKotlinObject
|
||||
|
||||
@ObjCName("ObjCNameObjCEnum", "ObjCNameSwiftEnum")
|
||||
enum class ObjCNameKotlinEnum {
|
||||
@ObjCName("objcOne", "swiftOne")
|
||||
KOTLIN_ONE,
|
||||
@ObjCName("objcTwo", "companion")
|
||||
kotlinTwo,
|
||||
@ObjCName("objcThree", "swiftThree")
|
||||
KotlinThree;
|
||||
|
||||
companion object {
|
||||
fun foo(): Int = 0
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user