[K/N][KT-39120] Build platform libraries with -fmodules
Merge-request: KT-MR-8175 Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
d85b23ebb9
commit
45de88abae
Vendored
+1
@@ -0,0 +1 @@
|
||||
error: comparison of incompatible enums 'pod1.ForwardEnumPOD' and 'pod2.ForwardEnumPOD' is always unsuccessful
|
||||
@@ -0,0 +1,9 @@
|
||||
import pod1.*
|
||||
import pod2.*
|
||||
|
||||
fun box(): String {
|
||||
if (pod1.varPOD != pod2.ForwardEnumPOD.Value2POD)
|
||||
return "OK"
|
||||
else
|
||||
return "FAIL"
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
enum class ForwardEnumPOD private constructor(value: Int) : Enum<ForwardEnumPOD>, CEnum {
|
||||
var value: ForwardEnumPOD
|
||||
@Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(imports = {})) fun byValue(value: Int): ForwardEnumPOD
|
||||
var varPOD: ForwardEnumPOD
|
||||
@CCall(id = "knifunptr_pod10_varPOD_getter") get
|
||||
@CCall(id = "knifunptr_pod11_varPOD_setter") set
|
||||
@@ -0,0 +1,2 @@
|
||||
language = Objective-C
|
||||
modules = forwardEnum1
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
enum class ForwardEnumPOD private constructor(value: Int) : Enum<ForwardEnumPOD>, CEnum {
|
||||
@ConstantValue.Int(value = 0) enum entry Value1POD
|
||||
@ConstantValue.Int(value = 1) enum entry Value2POD
|
||||
var value: ForwardEnumPOD
|
||||
@Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(imports = {})) fun byValue(value: Int): ForwardEnumPOD
|
||||
@@ -0,0 +1,2 @@
|
||||
language = Objective-C
|
||||
modules = forwardEnum2
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
#include <Foundation/NSObjCRuntime.h>
|
||||
|
||||
typedef NS_ENUM (int, ForwardEnumPOD); // Actual definition of the enum follows in another module `forwardEnum2`
|
||||
|
||||
ForwardEnumPOD varPOD;
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
framework module forwardEnum1 {
|
||||
umbrella header "forwardEnum1.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
#include <Foundation/NSObjCRuntime.h>
|
||||
|
||||
typedef NS_ENUM (int, ForwardEnumPOD) { // There was forward definition of this enum in another module `forwardEnum1`
|
||||
Value1POD,
|
||||
Value2POD
|
||||
};
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
framework module forwardEnum2 {
|
||||
umbrella header "forwardEnum2.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
#ifndef _IOKIT_IOHIDLIB_H
|
||||
#define _IOKIT_IOHIDLIB_H
|
||||
|
||||
typedef struct IOGPoint {
|
||||
int x;
|
||||
} IOGPoint;
|
||||
|
||||
typedef enum {
|
||||
NX_OneButton,
|
||||
} NXMouseButton;
|
||||
|
||||
extern int IOHIDPostEvent( IOGPoint location );
|
||||
extern int IOHIDGetButtonEventNum( NXMouseButton button );
|
||||
|
||||
#endif /* ! _IOKIT_IOHIDLIB_H */
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
framework module explicitpod1 {
|
||||
export *
|
||||
|
||||
explicit module explicitSubmodule {
|
||||
header "explicitSubmodule.h"
|
||||
export *
|
||||
}
|
||||
}
|
||||
native/native.tests/testData/CInterop/framework/forwardEnum.framework/Headers/forwardEnum-umbrella.h
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
#import <forwardEnum/forwardEnum.h>
|
||||
|
||||
typedef NS_ENUM (long long, ForwardEnum) {
|
||||
A,
|
||||
B
|
||||
};
|
||||
|
||||
ForwardEnum forwardEnumVar;
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
#include <Foundation/NSObjCRuntime.h>
|
||||
|
||||
typedef NS_ENUM (long long, ForwardEnum);
|
||||
typedef NS_ENUM (long long, EnumWithoutConstant);
|
||||
EnumWithoutConstant enumWithoutConstantVar;
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
framework module forwardEnum {
|
||||
umbrella header "forwardEnum-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
|
||||
package pod1 {
|
||||
|
||||
@CStruct(spelling = "struct { int x; }") class IOGPoint constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar {
|
||||
var x: Int
|
||||
@CStruct.MemberAt(offset = 0.toLong()) get
|
||||
@CStruct.MemberAt(offset = 0.toLong()) set
|
||||
@CStruct.VarType(align = 4, size = 4.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf<T>() or alignOf<T>() instead.", replaceWith = ReplaceWith(imports = {})) companion object : CStructVar.Type
|
||||
}
|
||||
|
||||
enum class NXMouseButton private constructor(value: UInt) : Enum<NXMouseButton>, CEnum {
|
||||
@ConstantValue.UInt(value = 0.toUInt()) enum entry NX_OneButton
|
||||
override val value: UInt
|
||||
|
||||
class Var constructor(rawPtr: NativePtr /* = NativePtr */) : CEnumVar {
|
||||
var value: NXMouseButton
|
||||
@CEnumVarTypeSize(size = 4) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf<T>() or alignOf<T>() instead.", replaceWith = ReplaceWith(imports = {})) companion object : CPrimitiveVar.Type
|
||||
}
|
||||
|
||||
companion object {
|
||||
@Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(imports = {})) fun byValue(value: UInt): NXMouseButton
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package pod1 {
|
||||
@CCall(id = "knifunptr_pod11_IOHIDGetButtonEventNum") external fun IOHIDGetButtonEventNum(button: NXMouseButton): Int
|
||||
@CCall(id = "knifunptr_pod10_IOHIDPostEvent") external fun IOHIDPostEvent(location: CValue<IOGPoint>): Int
|
||||
}
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
language = Objective-C
|
||||
modules = explicitpod1
|
||||
Vendored
+44
@@ -0,0 +1,44 @@
|
||||
|
||||
package pod1 {
|
||||
|
||||
enum class EnumWithoutConstant private constructor(value: Long) : Enum<EnumWithoutConstant>, CEnum {
|
||||
override val value: Long
|
||||
|
||||
class Var constructor(rawPtr: NativePtr /* = NativePtr */) : CEnumVar {
|
||||
var value: EnumWithoutConstant
|
||||
@CEnumVarTypeSize(size = 8) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf<T>() or alignOf<T>() instead.", replaceWith = ReplaceWith(imports = {})) companion object : CPrimitiveVar.Type
|
||||
}
|
||||
|
||||
companion object {
|
||||
@Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(imports = {})) fun byValue(value: Long): EnumWithoutConstant
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
enum class ForwardEnum private constructor(value: Long) : Enum<ForwardEnum>, CEnum {
|
||||
@ConstantValue.Long(value = 0.toLong()) enum entry A
|
||||
@ConstantValue.Long(value = 1.toLong()) enum entry B
|
||||
override val value: Long
|
||||
|
||||
class Var constructor(rawPtr: NativePtr /* = NativePtr */) : CEnumVar {
|
||||
var value: ForwardEnum
|
||||
@CEnumVarTypeSize(size = 8) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf<T>() or alignOf<T>() instead.", replaceWith = ReplaceWith(imports = {})) companion object : CPrimitiveVar.Type
|
||||
}
|
||||
|
||||
companion object {
|
||||
@Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(imports = {})) fun byValue(value: Long): ForwardEnum
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package pod1 {
|
||||
var enumWithoutConstantVar: EnumWithoutConstant
|
||||
@CCall(id = "knifunptr_pod10_enumWithoutConstantVar_getter") get
|
||||
@CCall(id = "knifunptr_pod11_enumWithoutConstantVar_setter") set
|
||||
var forwardEnumVar: ForwardEnum
|
||||
@CCall(id = "knifunptr_pod12_forwardEnumVar_getter") get
|
||||
@CCall(id = "knifunptr_pod13_forwardEnumVar_setter") set
|
||||
}
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
language = Objective-C
|
||||
modules = forwardEnum
|
||||
Reference in New Issue
Block a user