[ObjCExport] Fix extensions interface name

KT-66315
This commit is contained in:
eugene.levenetc
2024-03-04 18:09:20 +01:00
committed by Space Team
parent 2a445a04b0
commit 5c64832c0f
7 changed files with 70 additions and 43 deletions
@@ -6,7 +6,7 @@
#import <Foundation/NSString.h>
#import <Foundation/NSValue.h>
@class Foo;
@class ClazzA, ClazzB;
NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic push
@@ -21,15 +21,27 @@ NS_ASSUME_NONNULL_BEGIN
#endif
__attribute__((objc_subclassing_restricted))
@interface Foo : Base
@interface ClazzA : Base
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
- (void)memberFun __attribute__((swift_name("memberFun()")));
@end
@interface Foo (Extensions)
- (void)extensionFunA __attribute__((swift_name("extensionFunA()")));
- (void)extensionFunB __attribute__((swift_name("extensionFunB()")));
__attribute__((objc_subclassing_restricted))
@interface ClazzB : Base
- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
- (void)memberFun __attribute__((swift_name("memberFun()")));
@end
@interface ClazzA (Extensions)
- (void)extensionFunA1 __attribute__((swift_name("extensionFunA1()")));
- (void)extensionFunA2 __attribute__((swift_name("extensionFunA2()")));
@end
@interface ClazzB (Extensions)
- (void)extensionFunB1 __attribute__((swift_name("extensionFunB1()")));
- (void)extensionFunB2 __attribute__((swift_name("extensionFunB2()")));
@end
__attribute__((objc_subclassing_restricted))
@@ -1,9 +1,16 @@
fun topLevelFunA() {}
fun topLevelFunB() {}
fun Foo.extensionFunA() {}
fun Foo.extensionFunB() {}
fun ClazzA.extensionFunA1() {}
fun ClazzA.extensionFunA2() {}
class Foo {
fun ClazzB.extensionFunB1() {}
fun ClazzB.extensionFunB2() {}
class ClazzA {
fun memberFun() {}
}
class ClazzB {
fun memberFun() {}
}