[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() {}
}
@@ -6,7 +6,7 @@
#import <Foundation/NSString.h>
#import <Foundation/NSValue.h>
@class Foo;
@class Clazz;
NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic push
@@ -21,13 +21,13 @@ NS_ASSUME_NONNULL_BEGIN
#endif
__attribute__((objc_subclassing_restricted))
@interface Foo : Base
@interface Clazz : 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)
@interface Clazz (Extensions)
@property (readonly) int32_t extensionValA __attribute__((swift_name("extensionValA")));
@property (readonly) int32_t extensionValB __attribute__((swift_name("extensionValB")));
@property int32_t extensionVarA __attribute__((swift_name("extensionVarA")));
@@ -1,18 +1,18 @@
val topLevelPropA = 0
val topLevelPropB = 1
val Foo.extensionValA
val Clazz.extensionValA
get() = 0
val Foo.extensionValB
val Clazz.extensionValB
get() = 1
var Foo.extensionVarA
var Clazz.extensionVarA
get() = 0
set(value) {}
var Foo.extensionVarB
var Clazz.extensionVarB
get() = 1
set(value) {}
class Foo {
class Clazz {
fun memberFun() {}
}