From ab814e1600d97edf61b534a31297dab092832ff5 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Fri, 9 Feb 2024 11:14:29 +0100 Subject: [PATCH] [KLIB tool] Update Kotlin/Native C-interop tests ^KT-62340 --- .../defs/ForwardEnum/pod1.contents.gold.txt | 21 ++- .../defs/ForwardEnum/pod2.contents.gold.txt | 18 ++- .../defs/KT-39120/pod1.contents.gold.txt | 6 +- .../defs/KT-39120/pod2.contents.gold.txt | 6 +- .../interModuleImport/pod1.contents.gold.txt | 8 +- .../interModuleImport/pod2.contents.gold.txt | 8 +- .../filterA/contents.gold.ARM64.txt | 93 ++++++++---- .../filterA/contents.gold.CPointerByteVar.txt | 34 +++-- .../filterA/contents.gold.X64.txt | 87 +++++++---- .../filterStdargH/contents.gold.ARM64.txt | 88 +++++++---- .../contents.gold.CPointerByteVar.txt | 32 ++-- .../filterStdargH/contents.gold.X64.txt | 88 +++++++---- .../fullA/contents.gold.ARM64.txt | 103 +++++++++---- .../fullA/contents.gold.CPointerByteVar.txt | 50 +++++-- .../builtinsDefs/fullA/contents.gold.X64.txt | 103 +++++++++---- .../fullStdargH/contents.gold.ARM64.txt | 88 +++++++---- .../contents.gold.CPointerByteVar.txt | 32 ++-- .../fullStdargH/contents.gold.X64.txt | 88 +++++++---- .../contents.gold.CPointerByteVar.txt | 34 +++-- .../experimental/cases/enum/contents.gold.txt | 90 +++++++++--- .../cases/function/contents.gold.txt | 20 ++- .../cases/global/contents.gold.txt | 37 +++-- .../cases/objccategory/contents.gold.txt | 103 ++++++++++--- .../cases/objcclass/contents.gold.txt | 84 ++++++++--- .../cases/objcprotocol/contents.gold.txt | 61 +++++--- .../cases/objctypedef/contents.gold.txt | 50 +++++-- .../cases/struct/contents.gold.txt | 36 ++++- .../cases/typedef/contents.gold.txt | 49 ++++-- .../macrosDefs/modulesPod1/contents.gold.txt | 27 +++- .../macrosDefs/myMacroType/contents.gold.txt | 27 +++- .../childImportFModules/contents.gold.txt | 28 +++- .../excludePod1/contents.gold.txt | 28 +++- .../excludePod1Umbrella/contents.gold.txt | 19 ++- .../explicitSubmodule/contents.gold.txt | 105 ++++++++++--- .../filterPod1/contents.gold.txt | 19 ++- .../filterPod1A/contents.gold.txt | 19 ++- .../filterPod1Umbrella/contents.gold.txt | 19 ++- .../filterPod1UmbrellaPod1A/contents.gold.txt | 28 +++- .../forwardEnum/contents.gold.txt | 139 ++++++++++++++---- .../frameworkDefs/full/contents.gold.txt | 37 +++-- .../importsAngleAngle/contents.gold.txt | 37 +++-- .../importsAngleQuote/contents.gold.txt | 37 +++-- .../importsQuoteAngle/contents.gold.txt | 37 +++-- .../importsQuoteQuote/contents.gold.txt | 37 +++-- .../modulesPod1/contents.gold.txt | 37 +++-- .../protocolDefs/contents.gold.txt | 20 ++- .../twoChildren/contents.gold.txt | 37 +++-- .../visitOtherModules/contents.gold.txt | 19 ++- .../cases/smoke0/contents.gold.txt | 103 +++++++++---- .../cases/smoke1/contents.gold.txt | 123 ++++++++++++---- .../cases/smoke2/contents.gold.txt | 92 +++++++++--- .../cases/smoke3/contents.gold.txt | 71 +++++++-- .../cases/smoke4/contents.gold.txt | 82 ++++++++--- .../simpleDefs/filterA/contents.gold.txt | 23 ++- .../simpleDefs/filterAB/contents.gold.txt | 32 ++-- .../simpleDefs/filterABC/contents.gold.txt | 41 ++++-- .../simpleDefs/filterAC/contents.gold.txt | 32 ++-- .../simpleDefs/filterB/contents.gold.txt | 19 ++- .../simpleDefs/filterBC/contents.gold.txt | 28 +++- .../simpleDefs/filterC/contents.gold.txt | 19 ++- .../simple/simpleDefs/full/contents.gold.txt | 41 ++++-- .../simpleDefs/modulesA/contents.gold.txt | 32 ++-- .../simpleDefs/modulesAB/contents.gold.txt | 41 ++++-- .../simpleDefs/modulesB/contents.gold.txt | 28 +++- .../AbstractNativeCInteropKT39120Test.kt | 22 ++- .../blackbox/AbstractNativeCInteropTest.kt | 22 ++- 66 files changed, 2280 insertions(+), 844 deletions(-) diff --git a/native/native.tests/testData/CInterop/KT-39120/defs/ForwardEnum/pod1.contents.gold.txt b/native/native.tests/testData/CInterop/KT-39120/defs/ForwardEnum/pod1.contents.gold.txt index e1aa38c936a..168d0c57044 100644 --- a/native/native.tests/testData/CInterop/KT-39120/defs/ForwardEnum/pod1.contents.gold.txt +++ b/native/native.tests/testData/CInterop/KT-39120/defs/ForwardEnum/pod1.contents.gold.txt @@ -1,6 +1,15 @@ - enum class ForwardEnumPOD private constructor(value: Int) : Enum, CEnum { - var value: ForwardEnumPOD - @Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(expression = "", imports = {})) fun byValue(value: Int): ForwardEnumPOD - var varPOD: ForwardEnumPOD - @CCall(id = "knifunptr_pod10_varPOD_getter") get - @CCall(id = "knifunptr_pod11_varPOD_setter") set \ No newline at end of file + // class name: pod1/ForwardEnumPOD + // class name: pod1/ForwardEnumPOD.Companion + // class name: pod1/ForwardEnumPOD.Var + // class name: pod1/ForwardEnumPOD.Var.Companion + public final enum class pod1/ForwardEnumPOD : kotlin/Enum, kotlinx/cinterop/CEnum { + public final companion object pod1/ForwardEnumPOD.Companion { + public final fun byValue(value: kotlin/Int): pod1/ForwardEnumPOD + public final class pod1/ForwardEnumPOD.Var : kotlinx/cinterop/CEnumVar { + public final var value: pod1/ForwardEnumPOD + public final /* non-default */ external set(value: pod1/ForwardEnumPOD) + public final companion object pod1/ForwardEnumPOD.Var.Companion : kotlinx/cinterop/CPrimitiveVar.Type { + public final var varPOD: pod1/ForwardEnumPOD + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_varPOD_getter") + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_varPOD_setter") + public final /* non-default */ external set(value: pod1/ForwardEnumPOD) \ No newline at end of file diff --git a/native/native.tests/testData/CInterop/KT-39120/defs/ForwardEnum/pod2.contents.gold.txt b/native/native.tests/testData/CInterop/KT-39120/defs/ForwardEnum/pod2.contents.gold.txt index 1591f50f852..67b65eac31c 100644 --- a/native/native.tests/testData/CInterop/KT-39120/defs/ForwardEnum/pod2.contents.gold.txt +++ b/native/native.tests/testData/CInterop/KT-39120/defs/ForwardEnum/pod2.contents.gold.txt @@ -1,5 +1,13 @@ - enum class ForwardEnumPOD private constructor(value: Int) : Enum, 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(expression = "", imports = {})) fun byValue(value: Int): ForwardEnumPOD \ No newline at end of file + // class name: pod2/ForwardEnumPOD + // class name: pod2/ForwardEnumPOD.Companion + // class name: pod2/ForwardEnumPOD.Var + // class name: pod2/ForwardEnumPOD.Var.Companion + public final enum class pod2/ForwardEnumPOD : kotlin/Enum, kotlinx/cinterop/CEnum { + Value1POD, + Value2POD, + public final companion object pod2/ForwardEnumPOD.Companion { + public final fun byValue(value: kotlin/Int): pod2/ForwardEnumPOD + public final class pod2/ForwardEnumPOD.Var : kotlinx/cinterop/CEnumVar { + public final var value: pod2/ForwardEnumPOD + public final /* non-default */ external set(value: pod2/ForwardEnumPOD) + public final companion object pod2/ForwardEnumPOD.Var.Companion : kotlinx/cinterop/CPrimitiveVar.Type { \ No newline at end of file diff --git a/native/native.tests/testData/CInterop/KT-39120/defs/KT-39120/pod1.contents.gold.txt b/native/native.tests/testData/CInterop/KT-39120/defs/KT-39120/pod1.contents.gold.txt index 27dc8d617e1..737420753b6 100644 --- a/native/native.tests/testData/CInterop/KT-39120/defs/KT-39120/pod1.contents.gold.txt +++ b/native/native.tests/testData/CInterop/KT-39120/defs/KT-39120/pod1.contents.gold.txt @@ -1,4 +1,2 @@ - @ExternalObjCClass open class Pod1 : NSObject { - @ExternalObjCClass open class Pod1Meta : NSObjectMeta { - var pod1VersionNumber: Double - val pod1VersionString: CArrayPointer */> /* = CPointer */> */ \ No newline at end of file + public final var pod1VersionNumber: kotlin/Double + public final val pod1VersionString: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/UByteVar^ */> /* = kotlinx/cinterop/CArrayPointer^ /* = kotlinx/cinterop/UByteVar^ */> */ \ No newline at end of file diff --git a/native/native.tests/testData/CInterop/KT-39120/defs/KT-39120/pod2.contents.gold.txt b/native/native.tests/testData/CInterop/KT-39120/defs/KT-39120/pod2.contents.gold.txt index 43b23a6882a..c06294a2898 100644 --- a/native/native.tests/testData/CInterop/KT-39120/defs/KT-39120/pod2.contents.gold.txt +++ b/native/native.tests/testData/CInterop/KT-39120/defs/KT-39120/pod2.contents.gold.txt @@ -1,4 +1,2 @@ - @ExternalObjCClass(binaryName = "_TtC4pod24Pod2") open class Pod2 : Pod1 { - @ExternalObjCClass(binaryName = "_TtC4pod24Pod2") open class Pod2Meta : Pod1Meta { - var pod2VersionNumber: Double - val pod2VersionString: CArrayPointer */> /* = CPointer */> */ \ No newline at end of file + public final var pod2VersionNumber: kotlin/Double + public final val pod2VersionString: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/UByteVar^ */> /* = kotlinx/cinterop/CArrayPointer^ /* = kotlinx/cinterop/UByteVar^ */> */ \ No newline at end of file diff --git a/native/native.tests/testData/CInterop/KT-39120/defs/interModuleImport/pod1.contents.gold.txt b/native/native.tests/testData/CInterop/KT-39120/defs/interModuleImport/pod1.contents.gold.txt index 55c97cc8cfc..e425a210ff9 100644 --- a/native/native.tests/testData/CInterop/KT-39120/defs/interModuleImport/pod1.contents.gold.txt +++ b/native/native.tests/testData/CInterop/KT-39120/defs/interModuleImport/pod1.contents.gold.txt @@ -1,4 +1,4 @@ - const val POD1MACRO: Int = 42 - var intPOD1: Int - @CCall(id = "knifunptr_pod10_intPOD1_getter") get - @CCall(id = "knifunptr_pod11_intPOD1_setter") set \ No newline at end of file + public final const val POD1MACRO: kotlin/Int /* = 42 */ + public final var intPOD1: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_intPOD1_getter") + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_intPOD1_setter") \ No newline at end of file diff --git a/native/native.tests/testData/CInterop/KT-39120/defs/interModuleImport/pod2.contents.gold.txt b/native/native.tests/testData/CInterop/KT-39120/defs/interModuleImport/pod2.contents.gold.txt index 75c51933dea..5fd443bef78 100644 --- a/native/native.tests/testData/CInterop/KT-39120/defs/interModuleImport/pod2.contents.gold.txt +++ b/native/native.tests/testData/CInterop/KT-39120/defs/interModuleImport/pod2.contents.gold.txt @@ -1,4 +1,4 @@ - const val POD2POD1MACRO: Int = 42 - var pointerIntPOD1: CPointer */>? - @CCall(id = "knifunptr_pod20_pointerIntPOD1_getter") get - @CCall(id = "knifunptr_pod21_pointerIntPOD1_setter") set \ No newline at end of file + public final const val POD2POD1MACRO: kotlin/Int /* = 42 */ + public final var pointerIntPOD1: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/IntVar^ */>? + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod20_pointerIntPOD1_getter") + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod21_pointerIntPOD1_setter") \ No newline at end of file diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.ARM64.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.ARM64.txt index 568bc7d2441..ea3c9ea6fb3 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.ARM64.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.ARM64.txt @@ -1,33 +1,72 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - @CStruct(spelling = "struct { void* __stack; void* __gr_top; void* __vr_top; int __gr_offs; int __vr_offs; }") class __va_list constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - var __gr_offs: Int - @CStruct.MemberAt(offset = 24.toLong()) get - @CStruct.MemberAt(offset = 24.toLong()) set - var __gr_top: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 8.toLong()) get - @CStruct.MemberAt(offset = 8.toLong()) set - var __stack: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 0.toLong()) get - @CStruct.MemberAt(offset = 0.toLong()) set - var __vr_offs: Int - @CStruct.MemberAt(offset = 28.toLong()) get - @CStruct.MemberAt(offset = 28.toLong()) set - var __vr_top: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 16.toLong()) get - @CStruct.MemberAt(offset = 16.toLong()) set - @CStruct.VarType(align = 8, size = 32.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/__va_list + // class name: pod1/__va_list.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { void* __stack; void* __gr_top; void* __vr_top; int __gr_offs; int __vr_offs; }") + public final class pod1/__va_list : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var __gr_offs: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 24L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 24L) + public final /* non-default */ external set(value: kotlin/Int) + + public final var __gr_top: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var __stack: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var __vr_offs: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 28L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 28L) + public final /* non-default */ external set(value: kotlin/Int) + + public final var __vr_top: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 32L, align = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/__va_list.Companion : kotlinx/cinterop/CStructVar.Type { -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod10_A_getter") get - @CCall(id = "knifunptr_pod11_A_setter") set - val A_va_list: __builtin_va_list /* = __va_list */ - @CCall(id = "knifunptr_pod12_A_va_list_getter") get - typealias __builtin_va_list = __va_list -} + private constructor() + } + package { + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final val A_va_list: pod1/__va_list /* = pod1/__builtin_va_list^ */ + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_va_list_getter") + public final /* non-default */ external get + + public typealias __builtin_va_list = pod1/__va_list /* = pod1/__va_list */ + } + } +} diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.CPointerByteVar.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.CPointerByteVar.txt index 69e79edebaa..c61c78112d6 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.CPointerByteVar.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.CPointerByteVar.txt @@ -1,12 +1,26 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod10_A_getter") get - @CCall(id = "knifunptr_pod11_A_setter") set - var A_va_list: __builtin_va_list? /* = CPointer */>? */ - @CCall(id = "knifunptr_pod12_A_va_list_getter") get - @CCall(id = "knifunptr_pod13_A_va_list_setter") set - typealias __builtin_va_list = CPointer */> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer */> */> + library fragment { + // package name: pod1 + + package { + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var A_va_list: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */>? /* = pod1/__builtin_va_list^? */ + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_va_list_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_A_va_list_setter") + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */>? /* = pod1/__builtin_va_list^? */) + + public typealias __builtin_va_list = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */> */ + } + } } - diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.X64.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.X64.txt index ae27c9c0146..db13f1da40d 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.X64.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterA/contents.gold.X64.txt @@ -1,31 +1,68 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - @CStruct(spelling = "struct { unsigned int gp_offset; unsigned int fp_offset; void* overflow_arg_area; void* reg_save_area; }") class __va_list_tag constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - var fp_offset: UInt - @CStruct.MemberAt(offset = 4.toLong()) get - @CStruct.MemberAt(offset = 4.toLong()) set - var gp_offset: UInt - @CStruct.MemberAt(offset = 0.toLong()) get - @CStruct.MemberAt(offset = 0.toLong()) set - var overflow_arg_area: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 8.toLong()) get - @CStruct.MemberAt(offset = 8.toLong()) set - var reg_save_area: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 16.toLong()) get - @CStruct.MemberAt(offset = 16.toLong()) set - @CStruct.VarType(align = 8, size = 24.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/__va_list_tag + // class name: pod1/__va_list_tag.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { unsigned int gp_offset; unsigned int fp_offset; void* overflow_arg_area; void* reg_save_area; }") + public final class pod1/__va_list_tag : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var fp_offset: kotlin/UInt + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 4L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 4L) + public final /* non-default */ external set(value: kotlin/UInt) + + public final var gp_offset: kotlin/UInt + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlin/UInt) + + public final var overflow_arg_area: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var reg_save_area: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 24L, align = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/__va_list_tag.Companion : kotlinx/cinterop/CStructVar.Type { -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod10_A_getter") get - @CCall(id = "knifunptr_pod11_A_setter") set - val A_va_list: __builtin_va_list /* = CPointer<__va_list_tag> */ - @CCall(id = "knifunptr_pod12_A_va_list_getter") get - typealias __builtin_va_list = CArrayPointer<__va_list_tag> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer<__va_list_tag> */> -} + private constructor() + } + package { + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final val A_va_list: kotlinx/cinterop/CPointer /* = pod1/__builtin_va_list^ */ + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_va_list_getter") + public final /* non-default */ external get + + public typealias __builtin_va_list = kotlinx/cinterop/CArrayPointer^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CArrayPointer^ */ */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/__builtin_va_list^ */> */ + } + } +} diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.ARM64.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.ARM64.txt index bde37283da3..7de97566399 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.ARM64.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.ARM64.txt @@ -1,31 +1,69 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - @CStruct(spelling = "struct { void* __stack; void* __gr_top; void* __vr_top; int __gr_offs; int __vr_offs; }") class __va_list constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - var __gr_offs: Int - @CStruct.MemberAt(offset = 24.toLong()) get - @CStruct.MemberAt(offset = 24.toLong()) set - var __gr_top: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 8.toLong()) get - @CStruct.MemberAt(offset = 8.toLong()) set - var __stack: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 0.toLong()) get - @CStruct.MemberAt(offset = 0.toLong()) set - var __vr_offs: Int - @CStruct.MemberAt(offset = 28.toLong()) get - @CStruct.MemberAt(offset = 28.toLong()) set - var __vr_top: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 16.toLong()) get - @CStruct.MemberAt(offset = 16.toLong()) set - @CStruct.VarType(align = 8, size = 32.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/__va_list + // class name: pod1/__va_list.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { void* __stack; void* __gr_top; void* __vr_top; int __gr_offs; int __vr_offs; }") + public final class pod1/__va_list : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var __gr_offs: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 24L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 24L) + public final /* non-default */ external set(value: kotlin/Int) + + public final var __gr_top: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var __stack: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var __vr_offs: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 28L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 28L) + public final /* non-default */ external set(value: kotlin/Int) + + public final var __vr_top: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 32L, align = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/__va_list.Companion : kotlinx/cinterop/CStructVar.Type { -package pod1 { - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = __va_list - typealias __gnuc_va_list = __builtin_va_list - typealias va_list = __builtin_va_list -} + private constructor() + } + package { + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = pod1/__va_list /* = pod1/__va_list */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = pod1/__va_list /* = pod1/__builtin_va_list^ */ */ + + public typealias va_list = pod1/__builtin_va_list^ /* = pod1/__va_list /* = pod1/__builtin_va_list^ */ */ + } + } +} diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.CPointerByteVar.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.CPointerByteVar.txt index 9edbfa3a3e9..96333713960 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.CPointerByteVar.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.CPointerByteVar.txt @@ -1,11 +1,25 @@ +library { + // module name: -package pod1 { - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = CPointer */> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer */> */> - typealias __gnuc_va_list = __builtin_va_list - typealias __gnuc_va_listVar = CPointerVarOf<__gnuc_va_list /* = CPointer */> */> - typealias va_list = __builtin_va_list - typealias va_listVar = CPointerVarOf */> */> + library fragment { + // package name: pod1 + + package { + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */> */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */ */ + + public typealias __gnuc_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__gnuc_va_list^ */> */ + + public typealias va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */ */ + + public typealias va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/va_list^ */> */ + } + } } - diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.X64.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.X64.txt index 2de85d7009a..3df2f778ccc 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.X64.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/filterStdargH/contents.gold.X64.txt @@ -1,31 +1,69 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - @CStruct(spelling = "struct { unsigned int gp_offset; unsigned int fp_offset; void* overflow_arg_area; void* reg_save_area; }") class __va_list_tag constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - var fp_offset: UInt - @CStruct.MemberAt(offset = 4.toLong()) get - @CStruct.MemberAt(offset = 4.toLong()) set - var gp_offset: UInt - @CStruct.MemberAt(offset = 0.toLong()) get - @CStruct.MemberAt(offset = 0.toLong()) set - var overflow_arg_area: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 8.toLong()) get - @CStruct.MemberAt(offset = 8.toLong()) set - var reg_save_area: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 16.toLong()) get - @CStruct.MemberAt(offset = 16.toLong()) set - @CStruct.VarType(align = 8, size = 24.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/__va_list_tag + // class name: pod1/__va_list_tag.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { unsigned int gp_offset; unsigned int fp_offset; void* overflow_arg_area; void* reg_save_area; }") + public final class pod1/__va_list_tag : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var fp_offset: kotlin/UInt + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 4L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 4L) + public final /* non-default */ external set(value: kotlin/UInt) + + public final var gp_offset: kotlin/UInt + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlin/UInt) + + public final var overflow_arg_area: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var reg_save_area: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 24L, align = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/__va_list_tag.Companion : kotlinx/cinterop/CStructVar.Type { -package pod1 { - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = CArrayPointer<__va_list_tag> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer<__va_list_tag> */> - typealias __gnuc_va_list = __builtin_va_list - typealias __gnuc_va_listVar = CPointerVarOf<__gnuc_va_list /* = CPointer<__va_list_tag> */> - typealias va_list = __builtin_va_list - typealias va_listVar = CPointerVarOf */> -} + private constructor() + } + package { + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = kotlinx/cinterop/CArrayPointer^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CArrayPointer^ */ */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/__builtin_va_list^ */> */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = pod1/__builtin_va_list^ */ */ + + public typealias __gnuc_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/__gnuc_va_list^ */> */ + + public typealias va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = pod1/__builtin_va_list^ */ */ + + public typealias va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/va_list^ */> */ + } + } +} diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.ARM64.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.ARM64.txt index bd33e04b331..38fba8c6d65 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.ARM64.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.ARM64.txt @@ -1,36 +1,79 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - @CStruct(spelling = "struct { void* __stack; void* __gr_top; void* __vr_top; int __gr_offs; int __vr_offs; }") class __va_list constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - var __gr_offs: Int - @CStruct.MemberAt(offset = 24.toLong()) get - @CStruct.MemberAt(offset = 24.toLong()) set - var __gr_top: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 8.toLong()) get - @CStruct.MemberAt(offset = 8.toLong()) set - var __stack: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 0.toLong()) get - @CStruct.MemberAt(offset = 0.toLong()) set - var __vr_offs: Int - @CStruct.MemberAt(offset = 28.toLong()) get - @CStruct.MemberAt(offset = 28.toLong()) set - var __vr_top: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 16.toLong()) get - @CStruct.MemberAt(offset = 16.toLong()) set - @CStruct.VarType(align = 8, size = 32.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/__va_list + // class name: pod1/__va_list.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { void* __stack; void* __gr_top; void* __vr_top; int __gr_offs; int __vr_offs; }") + public final class pod1/__va_list : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var __gr_offs: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 24L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 24L) + public final /* non-default */ external set(value: kotlin/Int) + + public final var __gr_top: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var __stack: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var __vr_offs: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 28L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 28L) + public final /* non-default */ external set(value: kotlin/Int) + + public final var __vr_top: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 32L, align = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/__va_list.Companion : kotlinx/cinterop/CStructVar.Type { -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod10_A_getter") get - @CCall(id = "knifunptr_pod11_A_setter") set - val A_va_list: __builtin_va_list /* = __va_list */ - @CCall(id = "knifunptr_pod12_A_va_list_getter") get - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = __va_list - typealias __gnuc_va_list = __builtin_va_list - typealias va_list = __builtin_va_list -} + private constructor() + } + package { + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final val A_va_list: pod1/__va_list /* = pod1/__builtin_va_list^ */ + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_va_list_getter") + public final /* non-default */ external get + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = pod1/__va_list /* = pod1/__va_list */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = pod1/__va_list /* = pod1/__builtin_va_list^ */ */ + + public typealias va_list = pod1/__builtin_va_list^ /* = pod1/__va_list /* = pod1/__builtin_va_list^ */ */ + } + } +} diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.CPointerByteVar.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.CPointerByteVar.txt index a38cac7ee1c..15596e14523 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.CPointerByteVar.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.CPointerByteVar.txt @@ -1,17 +1,37 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod10_A_getter") get - @CCall(id = "knifunptr_pod11_A_setter") set - var A_va_list: __builtin_va_list? /* = CPointer */>? */ - @CCall(id = "knifunptr_pod12_A_va_list_getter") get - @CCall(id = "knifunptr_pod13_A_va_list_setter") set - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = CPointer */> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer */> */> - typealias __gnuc_va_list = __builtin_va_list - typealias __gnuc_va_listVar = CPointerVarOf<__gnuc_va_list /* = CPointer */> */> - typealias va_list = __builtin_va_list - typealias va_listVar = CPointerVarOf */> */> + library fragment { + // package name: pod1 + + package { + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var A_va_list: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */>? /* = pod1/__builtin_va_list^? */ + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_va_list_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_A_va_list_setter") + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */>? /* = pod1/__builtin_va_list^? */) + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */> */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */ */ + + public typealias __gnuc_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__gnuc_va_list^ */> */ + + public typealias va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */ */ + + public typealias va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/va_list^ */> */ + } + } } - diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.X64.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.X64.txt index 382c66d652e..0d9e1e0c396 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.X64.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullA/contents.gold.X64.txt @@ -1,36 +1,79 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - @CStruct(spelling = "struct { unsigned int gp_offset; unsigned int fp_offset; void* overflow_arg_area; void* reg_save_area; }") class __va_list_tag constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - var fp_offset: UInt - @CStruct.MemberAt(offset = 4.toLong()) get - @CStruct.MemberAt(offset = 4.toLong()) set - var gp_offset: UInt - @CStruct.MemberAt(offset = 0.toLong()) get - @CStruct.MemberAt(offset = 0.toLong()) set - var overflow_arg_area: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 8.toLong()) get - @CStruct.MemberAt(offset = 8.toLong()) set - var reg_save_area: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 16.toLong()) get - @CStruct.MemberAt(offset = 16.toLong()) set - @CStruct.VarType(align = 8, size = 24.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/__va_list_tag + // class name: pod1/__va_list_tag.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { unsigned int gp_offset; unsigned int fp_offset; void* overflow_arg_area; void* reg_save_area; }") + public final class pod1/__va_list_tag : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var fp_offset: kotlin/UInt + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 4L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 4L) + public final /* non-default */ external set(value: kotlin/UInt) + + public final var gp_offset: kotlin/UInt + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlin/UInt) + + public final var overflow_arg_area: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var reg_save_area: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 24L, align = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/__va_list_tag.Companion : kotlinx/cinterop/CStructVar.Type { -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod10_A_getter") get - @CCall(id = "knifunptr_pod11_A_setter") set - val A_va_list: __builtin_va_list /* = CPointer<__va_list_tag> */ - @CCall(id = "knifunptr_pod12_A_va_list_getter") get - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = CArrayPointer<__va_list_tag> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer<__va_list_tag> */> - typealias __gnuc_va_list = __builtin_va_list - typealias __gnuc_va_listVar = CPointerVarOf<__gnuc_va_list /* = CPointer<__va_list_tag> */> - typealias va_list = __builtin_va_list - typealias va_listVar = CPointerVarOf */> -} + private constructor() + } + package { + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final val A_va_list: kotlinx/cinterop/CPointer /* = pod1/__builtin_va_list^ */ + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_va_list_getter") + public final /* non-default */ external get + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = kotlinx/cinterop/CArrayPointer^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CArrayPointer^ */ */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/__builtin_va_list^ */> */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = pod1/__builtin_va_list^ */ */ + + public typealias __gnuc_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/__gnuc_va_list^ */> */ + + public typealias va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = pod1/__builtin_va_list^ */ */ + + public typealias va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/va_list^ */> */ + } + } +} diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.ARM64.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.ARM64.txt index bde37283da3..7de97566399 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.ARM64.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.ARM64.txt @@ -1,31 +1,69 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - @CStruct(spelling = "struct { void* __stack; void* __gr_top; void* __vr_top; int __gr_offs; int __vr_offs; }") class __va_list constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - var __gr_offs: Int - @CStruct.MemberAt(offset = 24.toLong()) get - @CStruct.MemberAt(offset = 24.toLong()) set - var __gr_top: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 8.toLong()) get - @CStruct.MemberAt(offset = 8.toLong()) set - var __stack: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 0.toLong()) get - @CStruct.MemberAt(offset = 0.toLong()) set - var __vr_offs: Int - @CStruct.MemberAt(offset = 28.toLong()) get - @CStruct.MemberAt(offset = 28.toLong()) set - var __vr_top: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 16.toLong()) get - @CStruct.MemberAt(offset = 16.toLong()) set - @CStruct.VarType(align = 8, size = 32.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/__va_list + // class name: pod1/__va_list.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { void* __stack; void* __gr_top; void* __vr_top; int __gr_offs; int __vr_offs; }") + public final class pod1/__va_list : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var __gr_offs: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 24L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 24L) + public final /* non-default */ external set(value: kotlin/Int) + + public final var __gr_top: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var __stack: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var __vr_offs: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 28L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 28L) + public final /* non-default */ external set(value: kotlin/Int) + + public final var __vr_top: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 32L, align = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/__va_list.Companion : kotlinx/cinterop/CStructVar.Type { -package pod1 { - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = __va_list - typealias __gnuc_va_list = __builtin_va_list - typealias va_list = __builtin_va_list -} + private constructor() + } + package { + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = pod1/__va_list /* = pod1/__va_list */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = pod1/__va_list /* = pod1/__builtin_va_list^ */ */ + + public typealias va_list = pod1/__builtin_va_list^ /* = pod1/__va_list /* = pod1/__builtin_va_list^ */ */ + } + } +} diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.CPointerByteVar.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.CPointerByteVar.txt index 9edbfa3a3e9..96333713960 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.CPointerByteVar.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.CPointerByteVar.txt @@ -1,11 +1,25 @@ +library { + // module name: -package pod1 { - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = CPointer */> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer */> */> - typealias __gnuc_va_list = __builtin_va_list - typealias __gnuc_va_listVar = CPointerVarOf<__gnuc_va_list /* = CPointer */> */> - typealias va_list = __builtin_va_list - typealias va_listVar = CPointerVarOf */> */> + library fragment { + // package name: pod1 + + package { + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */> */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */ */ + + public typealias __gnuc_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__gnuc_va_list^ */> */ + + public typealias va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */ */ + + public typealias va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/va_list^ */> */ + } + } } - diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.X64.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.X64.txt index 2de85d7009a..3df2f778ccc 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.X64.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/fullStdargH/contents.gold.X64.txt @@ -1,31 +1,69 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - @CStruct(spelling = "struct { unsigned int gp_offset; unsigned int fp_offset; void* overflow_arg_area; void* reg_save_area; }") class __va_list_tag constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - var fp_offset: UInt - @CStruct.MemberAt(offset = 4.toLong()) get - @CStruct.MemberAt(offset = 4.toLong()) set - var gp_offset: UInt - @CStruct.MemberAt(offset = 0.toLong()) get - @CStruct.MemberAt(offset = 0.toLong()) set - var overflow_arg_area: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 8.toLong()) get - @CStruct.MemberAt(offset = 8.toLong()) set - var reg_save_area: COpaquePointer? /* = CPointer? */ - @CStruct.MemberAt(offset = 16.toLong()) get - @CStruct.MemberAt(offset = 16.toLong()) set - @CStruct.VarType(align = 8, size = 24.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/__va_list_tag + // class name: pod1/__va_list_tag.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { unsigned int gp_offset; unsigned int fp_offset; void* overflow_arg_area; void* reg_save_area; }") + public final class pod1/__va_list_tag : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var fp_offset: kotlin/UInt + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 4L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 4L) + public final /* non-default */ external set(value: kotlin/UInt) + + public final var gp_offset: kotlin/UInt + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlin/UInt) + + public final var overflow_arg_area: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 8L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + public final var reg_save_area: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */ + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 16L) + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 24L, align = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/__va_list_tag.Companion : kotlinx/cinterop/CStructVar.Type { -package pod1 { - const val __GNUC_VA_LIST: Int = 1 - typealias __builtin_va_list = CArrayPointer<__va_list_tag> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer<__va_list_tag> */> - typealias __gnuc_va_list = __builtin_va_list - typealias __gnuc_va_listVar = CPointerVarOf<__gnuc_va_list /* = CPointer<__va_list_tag> */> - typealias va_list = __builtin_va_list - typealias va_listVar = CPointerVarOf */> -} + private constructor() + } + package { + + public final const val __GNUC_VA_LIST: kotlin/Int /* = 1 */ + public final get + + public typealias __builtin_va_list = kotlinx/cinterop/CArrayPointer^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CArrayPointer^ */ */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/__builtin_va_list^ */> */ + + public typealias __gnuc_va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = pod1/__builtin_va_list^ */ */ + + public typealias __gnuc_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/__gnuc_va_list^ */> */ + + public typealias va_list = pod1/__builtin_va_list^ /* = kotlinx/cinterop/CPointer /* = pod1/__builtin_va_list^ */ */ + + public typealias va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = pod1/va_list^ */> */ + } + } +} diff --git a/native/native.tests/testData/CInterop/builtins/builtinsDefs/modulesA/contents.gold.CPointerByteVar.txt b/native/native.tests/testData/CInterop/builtins/builtinsDefs/modulesA/contents.gold.CPointerByteVar.txt index 69e79edebaa..c61c78112d6 100644 --- a/native/native.tests/testData/CInterop/builtins/builtinsDefs/modulesA/contents.gold.CPointerByteVar.txt +++ b/native/native.tests/testData/CInterop/builtins/builtinsDefs/modulesA/contents.gold.CPointerByteVar.txt @@ -1,12 +1,26 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod10_A_getter") get - @CCall(id = "knifunptr_pod11_A_setter") set - var A_va_list: __builtin_va_list? /* = CPointer */>? */ - @CCall(id = "knifunptr_pod12_A_va_list_getter") get - @CCall(id = "knifunptr_pod13_A_va_list_setter") set - typealias __builtin_va_list = CPointer */> - typealias __builtin_va_listVar = CPointerVarOf<__builtin_va_list /* = CPointer */> */> + library fragment { + // package name: pod1 + + package { + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var A_va_list: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */>? /* = pod1/__builtin_va_list^? */ + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_va_list_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_A_va_list_setter") + public final /* non-default */ external set(value: kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */>? /* = pod1/__builtin_va_list^? */) + + public typealias __builtin_va_list = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/ByteVar^ */> */ + + public typealias __builtin_va_listVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/ByteVar^ */> /* = pod1/__builtin_va_list^ */> */ + } + } } - diff --git a/native/native.tests/testData/CInterop/experimental/cases/enum/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/enum/contents.gold.txt index 9778896de23..57b363b61ad 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/enum/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/enum/contents.gold.txt @@ -1,29 +1,79 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExperimentalForeignApi enum class E1 private constructor(value: UInt) : Enum, CEnum { - @ConstantValue.UInt(value = 0.toUInt()) enum entry ONE - @ConstantValue.UInt(value = 1.toUInt()) enum entry TWO - @ConstantValue.UInt(value = 2.toUInt()) enum entry THREE - override val value: UInt + // class name: dependency/E1 + // class name: dependency/E1.Companion + // class name: dependency/E1.Var + // class name: dependency/E1.Var.Companion - class Var constructor(rawPtr: NativePtr /* = NativePtr */) : CEnumVar { - var value: E1 - @CEnumVarTypeSize(size = 4) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CPrimitiveVar.Type - } + @kotlinx/cinterop/ExperimentalForeignApi + public final enum class dependency/E1 : kotlin/Enum, kotlinx/cinterop/CEnum { - companion object { - @Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(expression = "", imports = {})) fun byValue(value: UInt): E1 - } + private constructor(value: kotlin/UInt) + public open val value: kotlin/UInt + public open /* non-default */ get + + // companion object: Companion + + // nested class: Var + + // nested class: Companion + + @kotlinx/cinterop/internal/ConstantValue.UInt(value = 0u) + ONE, + + @kotlinx/cinterop/internal/ConstantValue.UInt(value = 1u) + TWO, + + @kotlinx/cinterop/internal/ConstantValue.UInt(value = 2u) + THREE, } -} + public final companion object dependency/E1.Companion { -package dependency { - @ExperimentalForeignApi typealias E2 = UInt - @ExperimentalForeignApi typealias E2Var = UIntVarOf - @ExperimentalForeignApi const val EIGHT: E2 /* = UInt */ = 8.toUInt() - @ExperimentalForeignApi const val FOUR: E2 /* = UInt */ = 4.toUInt() -} + private constructor() + @kotlin/Deprecated(message = "Will be removed.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final fun byValue(value: kotlin/UInt): dependency/E1 + } + + public final class dependency/E1.Var : kotlinx/cinterop/CEnumVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var value: dependency/E1 + public final /* non-default */ external get + public final /* non-default */ external set(value: dependency/E1) + + // companion object: Companion + + // nested class: Companion + } + + @kotlinx/cinterop/internal/CEnumVarTypeSize(size = 4) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object dependency/E1.Var.Companion : kotlinx/cinterop/CPrimitiveVar.Type { + + private constructor() + } + + package { + + @kotlinx/cinterop/ExperimentalForeignApi + public final const val EIGHT: kotlin/UInt /* = dependency/E2^ */ /* = 8u */ + public final get + + @kotlinx/cinterop/ExperimentalForeignApi + public final const val FOUR: kotlin/UInt /* = dependency/E2^ */ /* = 4u */ + public final get + + public typealias E2 = kotlin/UInt /* = kotlin/UInt */ + + public typealias E2Var = kotlinx/cinterop/UIntVarOf /* = kotlinx/cinterop/UIntVarOf */ + } + } +} diff --git a/native/native.tests/testData/CInterop/experimental/cases/function/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/function/contents.gold.txt index adf9ec30f3f..1d9f9eb2fb6 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/function/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/function/contents.gold.txt @@ -1,6 +1,18 @@ +library { + // module name: -package dependency { - @CCall(id = "knifunptr_dependency1_bar") @ExperimentalForeignApi external fun bar() - @CCall(id = "knifunptr_dependency0_foo") @ExperimentalForeignApi external fun foo() + library fragment { + // package name: dependency + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_dependency1_bar") + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun bar(): kotlin/Unit + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_dependency0_foo") + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun foo(): kotlin/Unit + } + } } - diff --git a/native/native.tests/testData/CInterop/experimental/cases/global/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/global/contents.gold.txt index 3324d328f59..b843a80dc29 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/global/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/global/contents.gold.txt @@ -1,11 +1,30 @@ +library { + // module name: -package dependency { - @ExperimentalForeignApi const val MACRO_CONST_GLOBAL: Int = 1 - @ExperimentalForeignApi val MACRO_GLOBAL: Int - @CCall(id = "knifunptr_dependency3_MACRO_GLOBAL_getter") get - @CCall(id = "knifunptr_dependency0_getValue") @ExperimentalForeignApi external fun getValue(): Int - @ExperimentalForeignApi var global: Int - @CCall(id = "knifunptr_dependency1_global_getter") get - @CCall(id = "knifunptr_dependency2_global_setter") set + library fragment { + // package name: dependency + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_dependency0_getValue") + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun getValue(): kotlin/Int + + @kotlinx/cinterop/ExperimentalForeignApi + public final const val MACRO_CONST_GLOBAL: kotlin/Int /* = 1 */ + public final get + + @kotlinx/cinterop/ExperimentalForeignApi + public final val MACRO_GLOBAL: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_dependency3_MACRO_GLOBAL_getter") + public final /* non-default */ external get + + @kotlinx/cinterop/ExperimentalForeignApi + public final var global: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_dependency1_global_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_dependency2_global_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/experimental/cases/objccategory/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/objccategory/contents.gold.txt index ae668065bde..7d930bc9b48 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/objccategory/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/objccategory/contents.gold.txt @@ -1,31 +1,88 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass @ExperimentalForeignApi open class MyClass : ObjCObjectBase { - protected constructor() - companion object : MyClassMeta, ObjCClassOf + // class name: dependency/MyClass + // class name: dependency/MyClass.Companion + // class name: dependency/MyClassMeta + + @kotlinx/cinterop/ExternalObjCClass + @kotlinx/cinterop/ExperimentalForeignApi + public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + // companion object: Companion + + // nested class: Companion } - @ExternalObjCClass @ExperimentalForeignApi open class MyClassMeta : ObjCObjectBaseMeta { - protected constructor() + public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() } -} + @kotlinx/cinterop/ExternalObjCClass + @kotlinx/cinterop/ExperimentalForeignApi + public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { -package dependency { - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "classMethod") @ExperimentalForeignApi external fun MyClassMeta.classMethod() - @ExperimentalForeignApi var MyClassMeta.classProperty: Any? - @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "classProperty") get - @ObjCMethod(encoding = "v24@0:8@16", isStret = false, selector = "setClassProperty:") set - @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "classProperty") @ExperimentalForeignApi external fun MyClassMeta.classProperty(): Any? - @ObjCFactory(encoding = "@16@0:8", isStret = false, selector = "init") @CCall.ConsumesReceiver @CCall.ReturnsRetained @ExperimentalForeignApi external fun ObjCClassOf.create(): T? - @Deprecated(level = DeprecationLevel.ERROR, message = "Use factory method instead", replaceWith = ReplaceWith(expression = "MyClass.create()", imports = {})) @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "init") @CCall.ConsumesReceiver @CCall.ReturnsRetained @ExperimentalForeignApi external fun MyClass.init(): MyClass? - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "instanceMethod") @ExperimentalForeignApi external fun MyClass.instanceMethod() - @ExperimentalForeignApi var MyClass.instanceProperty: Int - @ObjCMethod(encoding = "i16@0:8", isStret = false, selector = "instanceProperty") get - @ObjCMethod(encoding = "v20@0:8i16", isStret = false, selector = "setInstanceProperty:") set - @ObjCMethod(encoding = "i16@0:8", isStret = false, selector = "instanceProperty") @ExperimentalForeignApi external fun MyClass.instanceProperty(): Int - @ObjCMethod(encoding = "v24@0:8@16", isStret = false, selector = "setClassProperty:") @ExperimentalForeignApi external fun MyClassMeta.setClassProperty(classProperty: Any?) - @ObjCMethod(encoding = "v20@0:8i16", isStret = false, selector = "setInstanceProperty:") @ExperimentalForeignApi external fun MyClass.setInstanceProperty(instanceProperty: Int) -} + protected /* secondary */ constructor() + } + package { + + @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "v16@0:8", isStret = false) + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun dependency/MyClassMeta.classMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "classProperty", encoding = "@16@0:8", isStret = false) + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun dependency/MyClassMeta.classProperty(): kotlin/Any? + + @kotlinx/cinterop/ObjCFactory(selector = "init", encoding = "@16@0:8", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun kotlinx/cinterop/ObjCClassOf.create(): T#0? + + @kotlin/Deprecated(message = "Use factory method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass.create()"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "init", encoding = "@16@0:8", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun dependency/MyClass.init(): dependency/MyClass? + + @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "v16@0:8", isStret = false) + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun dependency/MyClass.instanceMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "instanceProperty", encoding = "i16@0:8", isStret = false) + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun dependency/MyClass.instanceProperty(): kotlin/Int + + @kotlinx/cinterop/ObjCMethod(selector = "setClassProperty:", encoding = "v24@0:8@16", isStret = false) + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun dependency/MyClassMeta.setClassProperty(classProperty: kotlin/Any?): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "setInstanceProperty:", encoding = "v20@0:8i16", isStret = false) + @kotlinx/cinterop/ExperimentalForeignApi + public final external fun dependency/MyClass.setInstanceProperty(instanceProperty: kotlin/Int): kotlin/Unit + + @kotlinx/cinterop/ExperimentalForeignApi + public final var dependency/MyClassMeta.classProperty: kotlin/Any? + @kotlinx/cinterop/ObjCMethod(selector = "classProperty", encoding = "@16@0:8", isStret = false) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setClassProperty:", encoding = "v24@0:8@16", isStret = false) + public final /* non-default */ external set(value: kotlin/Any?) + + @kotlinx/cinterop/ExperimentalForeignApi + public final var dependency/MyClass.instanceProperty: kotlin/Int + @kotlinx/cinterop/ObjCMethod(selector = "instanceProperty", encoding = "i16@0:8", isStret = false) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setInstanceProperty:", encoding = "v20@0:8i16", isStret = false) + public final /* non-default */ external set(value: kotlin/Int) + } + } +} diff --git a/native/native.tests/testData/CInterop/experimental/cases/objcclass/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/objcclass/contents.gold.txt index 90f17a91a54..8ad022e49f7 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/objcclass/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/objcclass/contents.gold.txt @@ -1,27 +1,71 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass @ExperimentalForeignApi open class MyClass : ObjCObjectBase { - @ObjCConstructor(designated = true, initSelector = "init") constructor() - var instanceProperty: Int - @ObjCMethod(encoding = "i16@0:8", isStret = false, selector = "instanceProperty") get - @ObjCMethod(encoding = "v20@0:8i16", isStret = false, selector = "setInstanceProperty:") set - @Deprecated(level = DeprecationLevel.ERROR, message = "Use constructor instead", replaceWith = ReplaceWith(expression = "MyClass()", imports = {})) @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "init") @CCall.ConsumesReceiver @CCall.ReturnsRetained open external fun init(): MyClass? - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "instanceMethod") open external fun instanceMethod() - @ObjCMethod(encoding = "i16@0:8", isStret = false, selector = "instanceProperty") open external fun instanceProperty(): Int - @ObjCMethod(encoding = "v20@0:8i16", isStret = false, selector = "setInstanceProperty:") open external fun setInstanceProperty(instanceProperty: Int) - companion object : MyClassMeta, ObjCClassOf + // class name: dependency/MyClass + // class name: dependency/MyClass.Companion + // class name: dependency/MyClassMeta + + @kotlinx/cinterop/ExternalObjCClass + @kotlinx/cinterop/ExperimentalForeignApi + public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase { + + @kotlinx/cinterop/ObjCConstructor(designated = true, initSelector = "init") + public /* secondary */ constructor() + + @kotlin/Deprecated(message = "Use constructor instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass()"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "init", encoding = "@16@0:8", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public open external fun init(): dependency/MyClass? + + @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "v16@0:8", isStret = false) + public open external fun instanceMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "instanceProperty", encoding = "i16@0:8", isStret = false) + public open external fun instanceProperty(): kotlin/Int + + @kotlinx/cinterop/ObjCMethod(selector = "setInstanceProperty:", encoding = "v20@0:8i16", isStret = false) + public open external fun setInstanceProperty(instanceProperty: kotlin/Int): kotlin/Unit + + public final var instanceProperty: kotlin/Int + @kotlinx/cinterop/ObjCMethod(selector = "instanceProperty", encoding = "i16@0:8", isStret = false) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setInstanceProperty:", encoding = "v20@0:8i16", isStret = false) + public final /* non-default */ external set(value: kotlin/Int) + + // companion object: Companion + + // nested class: Companion } - @ExternalObjCClass @ExperimentalForeignApi open class MyClassMeta : ObjCObjectBaseMeta { - protected constructor() - var classProperty: Any? - @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "classProperty") get - @ObjCMethod(encoding = "v24@0:8@16", isStret = false, selector = "setClassProperty:") set - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "classMethod") open external fun classMethod() - @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "classProperty") open external fun classProperty(): Any? - @ObjCMethod(encoding = "v24@0:8@16", isStret = false, selector = "setClassProperty:") open external fun setClassProperty(classProperty: Any?) + public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() } + @kotlinx/cinterop/ExternalObjCClass + @kotlinx/cinterop/ExperimentalForeignApi + public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "v16@0:8", isStret = false) + public open external fun classMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "classProperty", encoding = "@16@0:8", isStret = false) + public open external fun classProperty(): kotlin/Any? + + @kotlinx/cinterop/ObjCMethod(selector = "setClassProperty:", encoding = "v24@0:8@16", isStret = false) + public open external fun setClassProperty(classProperty: kotlin/Any?): kotlin/Unit + + public final var classProperty: kotlin/Any? + @kotlinx/cinterop/ObjCMethod(selector = "classProperty", encoding = "@16@0:8", isStret = false) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setClassProperty:", encoding = "v24@0:8@16", isStret = false) + public final /* non-default */ external set(value: kotlin/Any?) + } + } } - diff --git a/native/native.tests/testData/CInterop/experimental/cases/objcprotocol/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/objcprotocol/contents.gold.txt index 1af53c58353..b7192dca88c 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/objcprotocol/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/objcprotocol/contents.gold.txt @@ -1,23 +1,50 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass(protocolGetter = "kniprot_dependency0_MyProtocol") @ExperimentalForeignApi interface MyProtocolProtocol : ObjCObject { - var instanceProperty: Any? - @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "instanceProperty") get - @ObjCMethod(encoding = "v24@0:8@16", isStret = false, selector = "setInstanceProperty:") set - @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "instanceMethod") fun instanceMethod(): Any? - @ObjCMethod(encoding = "@16@0:8", isStret = false, selector = "instanceProperty") fun instanceProperty(): Any? - @ObjCMethod(encoding = "v24@0:8@16", isStret = false, selector = "setInstanceProperty:") fun setInstanceProperty(instanceProperty: Any?) + // class name: dependency/MyProtocolProtocol + // class name: dependency/MyProtocolProtocolMeta + + @kotlinx/cinterop/ExternalObjCClass(protocolGetter = "kniprot_dependency0_MyProtocol") + @kotlinx/cinterop/ExperimentalForeignApi + public abstract interface dependency/MyProtocolProtocol : kotlinx/cinterop/ObjCObject { + + @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "@16@0:8", isStret = false) + public abstract fun instanceMethod(): kotlin/Any? + + @kotlinx/cinterop/ObjCMethod(selector = "instanceProperty", encoding = "@16@0:8", isStret = false) + public abstract fun instanceProperty(): kotlin/Any? + + @kotlinx/cinterop/ObjCMethod(selector = "setInstanceProperty:", encoding = "v24@0:8@16", isStret = false) + public abstract fun setInstanceProperty(instanceProperty: kotlin/Any?): kotlin/Unit + + public final var instanceProperty: kotlin/Any? + @kotlinx/cinterop/ObjCMethod(selector = "instanceProperty", encoding = "@16@0:8", isStret = false) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setInstanceProperty:", encoding = "v24@0:8@16", isStret = false) + public final /* non-default */ external set(value: kotlin/Any?) } - @ExternalObjCClass(protocolGetter = "kniprot_dependency0_MyProtocol") @ExperimentalForeignApi interface MyProtocolProtocolMeta : ObjCObjectMeta /* = ObjCClass */ { - var classProperty: Int - @ObjCMethod(encoding = "i16@0:8", isStret = false, selector = "classProperty") get - @ObjCMethod(encoding = "v20@0:8i16", isStret = false, selector = "setClassProperty:") set - @ObjCMethod(encoding = "i16@0:8", isStret = false, selector = "classMethod") fun classMethod(): Int - @ObjCMethod(encoding = "i16@0:8", isStret = false, selector = "classProperty") fun classProperty(): Int - @ObjCMethod(encoding = "v20@0:8i16", isStret = false, selector = "setClassProperty:") fun setClassProperty(classProperty: Int) - } + @kotlinx/cinterop/ExternalObjCClass(protocolGetter = "kniprot_dependency0_MyProtocol") + @kotlinx/cinterop/ExperimentalForeignApi + public abstract interface dependency/MyProtocolProtocolMeta : kotlinx/cinterop/ObjCClass /* = kotlinx/cinterop/ObjCObjectMeta^ */ { + @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "i16@0:8", isStret = false) + public abstract fun classMethod(): kotlin/Int + + @kotlinx/cinterop/ObjCMethod(selector = "classProperty", encoding = "i16@0:8", isStret = false) + public abstract fun classProperty(): kotlin/Int + + @kotlinx/cinterop/ObjCMethod(selector = "setClassProperty:", encoding = "v20@0:8i16", isStret = false) + public abstract fun setClassProperty(classProperty: kotlin/Int): kotlin/Unit + + public final var classProperty: kotlin/Int + @kotlinx/cinterop/ObjCMethod(selector = "classProperty", encoding = "i16@0:8", isStret = false) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setClassProperty:", encoding = "v20@0:8i16", isStret = false) + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/experimental/cases/objctypedef/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/objctypedef/contents.gold.txt index f3a6bc14fac..6175491b9df 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/objctypedef/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/objctypedef/contents.gold.txt @@ -1,21 +1,45 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass @ExperimentalForeignApi open class MyClass : ObjCObjectBase { - protected constructor() - companion object : MyClassMeta, ObjCClassOf + // class name: dependency/MyClass + // class name: dependency/MyClass.Companion + // class name: dependency/MyClassMeta + + @kotlinx/cinterop/ExternalObjCClass + @kotlinx/cinterop/ExperimentalForeignApi + public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + // companion object: Companion + + // nested class: Companion } - @ExternalObjCClass @ExperimentalForeignApi open class MyClassMeta : ObjCObjectBaseMeta { - protected constructor() + public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() } -} + @kotlinx/cinterop/ExternalObjCClass + @kotlinx/cinterop/ExperimentalForeignApi + public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { -package dependency { - @ExperimentalForeignApi typealias MyClassRef = MyClass? - @ExperimentalForeignApi typealias MyClassRefVar = ObjCObjectVar - @ExperimentalForeignApi typealias MyId = Any? - @ExperimentalForeignApi typealias MyIdVar = ObjCObjectVar -} + protected /* secondary */ constructor() + } + package { + + public typealias MyClassRef = dependency/MyClass? /* = dependency/MyClass? */ + + public typealias MyClassRefVar = kotlinx/cinterop/ObjCObjectVar /* = kotlinx/cinterop/ObjCObjectVar */ + + public typealias MyId = kotlin/Any? /* = kotlin/Any? */ + + public typealias MyIdVar = kotlinx/cinterop/ObjCObjectVar /* = kotlinx/cinterop/ObjCObjectVar */ + } + } +} diff --git a/native/native.tests/testData/CInterop/experimental/cases/struct/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/struct/contents.gold.txt index d3a2f13de94..2c92bb9bdcc 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/struct/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/struct/contents.gold.txt @@ -1,12 +1,34 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @CStruct(spelling = "struct { int x; }") @ExperimentalForeignApi class Foo 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() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: dependency/Foo + // class name: dependency/Foo.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { int x; }") + @kotlinx/cinterop/ExperimentalForeignApi + public final class dependency/Foo : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var x: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlin/Int) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 4L, align = 4) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object dependency/Foo.Companion : kotlinx/cinterop/CStructVar.Type { + private constructor() + } + } +} diff --git a/native/native.tests/testData/CInterop/experimental/cases/typedef/contents.gold.txt b/native/native.tests/testData/CInterop/experimental/cases/typedef/contents.gold.txt index f86effd36da..190f24ca5e4 100644 --- a/native/native.tests/testData/CInterop/experimental/cases/typedef/contents.gold.txt +++ b/native/native.tests/testData/CInterop/experimental/cases/typedef/contents.gold.txt @@ -1,18 +1,43 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @CStruct(spelling = "struct { }") @ExperimentalForeignApi class T constructor(rawPtr: NativePtr /* = NativePtr */) : CStructVar { - @CStruct.VarType(align = 1, size = 0.toLong()) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: dependency/T + // class name: dependency/T.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { }") + @kotlinx/cinterop/ExperimentalForeignApi + public final class dependency/T : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + // companion object: Companion + + // nested class: Companion } -} + @kotlinx/cinterop/internal/CStruct.VarType(size = 0L, align = 1) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object dependency/T.Companion : kotlinx/cinterop/CStructVar.Type { -package dependency { - @ExperimentalForeignApi typealias MyInt = Int - @ExperimentalForeignApi typealias MyIntVar = IntVarOf - @ExperimentalForeignApi typealias MyPointer = COpaquePointer - @ExperimentalForeignApi typealias MyPointerVar = CPointerVarOf */> - @ExperimentalForeignApi typealias MyS = S - @ExperimentalForeignApi typealias MyT = T -} + private constructor() + } + package { + + public typealias MyInt = kotlin/Int /* = kotlin/Int */ + + public typealias MyIntVar = kotlinx/cinterop/IntVarOf /* = kotlinx/cinterop/IntVarOf */ + + public typealias MyPointer = kotlinx/cinterop/COpaquePointer^ /* = kotlinx/cinterop/CPointer /* = kotlinx/cinterop/COpaquePointer^ */ */ + + public typealias MyPointerVar = kotlinx/cinterop/CPointerVarOf /* = kotlinx/cinterop/CPointerVarOf /* = dependency/MyPointer^ */> */ + + public typealias MyS = cnames/structs/S /* = cnames/structs/S */ + + public typealias MyT = dependency/T /* = dependency/T */ + } + } +} diff --git a/native/native.tests/testData/CInterop/framework.macros/macrosDefs/modulesPod1/contents.gold.txt b/native/native.tests/testData/CInterop/framework.macros/macrosDefs/modulesPod1/contents.gold.txt index 83480036eb9..5f2893eab57 100644 --- a/native/native.tests/testData/CInterop/framework.macros/macrosDefs/modulesPod1/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework.macros/macrosDefs/modulesPod1/contents.gold.txt @@ -1,9 +1,22 @@ +library { + // module name: -package pod1 { - const val MY_MACRO_CONST_POD1: Int = 42 - const val MY_MACRO_CONST_POD1A: Int = 153 - var myVar: Double - @CCall(id = "knifunptr_pod10_myVar_getter") get - @CCall(id = "knifunptr_pod11_myVar_setter") set + library fragment { + // package name: pod1 + + package { + + public final const val MY_MACRO_CONST_POD1: kotlin/Int /* = 42 */ + public final get + + public final const val MY_MACRO_CONST_POD1A: kotlin/Int /* = 153 */ + public final get + + public final var myVar: kotlin/Double + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_myVar_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_myVar_setter") + public final /* non-default */ external set(value: kotlin/Double) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework.macros/macrosDefs/myMacroType/contents.gold.txt b/native/native.tests/testData/CInterop/framework.macros/macrosDefs/myMacroType/contents.gold.txt index 83480036eb9..5f2893eab57 100644 --- a/native/native.tests/testData/CInterop/framework.macros/macrosDefs/myMacroType/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework.macros/macrosDefs/myMacroType/contents.gold.txt @@ -1,9 +1,22 @@ +library { + // module name: -package pod1 { - const val MY_MACRO_CONST_POD1: Int = 42 - const val MY_MACRO_CONST_POD1A: Int = 153 - var myVar: Double - @CCall(id = "knifunptr_pod10_myVar_getter") get - @CCall(id = "knifunptr_pod11_myVar_setter") set + library fragment { + // package name: pod1 + + package { + + public final const val MY_MACRO_CONST_POD1: kotlin/Int /* = 42 */ + public final get + + public final const val MY_MACRO_CONST_POD1A: kotlin/Int /* = 153 */ + public final get + + public final var myVar: kotlin/Double + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_myVar_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_myVar_setter") + public final /* non-default */ external set(value: kotlin/Double) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/childImportFModules/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/childImportFModules/contents.gold.txt index da61398c7a3..0f9a26ba4be 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/childImportFModules/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/childImportFModules/contents.gold.txt @@ -1,10 +1,22 @@ +library { + // module name: -package pod1 { - var child: Int - @CCall(id = "knifunptr_pod10_child_getter") get - @CCall(id = "knifunptr_pod11_child_setter") set - var umbrella: Int - @CCall(id = "knifunptr_pod12_umbrella_getter") get - @CCall(id = "knifunptr_pod13_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var child: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_child_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_child_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/excludePod1/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/excludePod1/contents.gold.txt index 9d1c7c92779..480cdb2190c 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/excludePod1/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/excludePod1/contents.gold.txt @@ -1,10 +1,22 @@ +library { + // module name: -package pod1 { - var pod1A: Int - @CCall(id = "knifunptr_pod10_pod1A_getter") get - @CCall(id = "knifunptr_pod11_pod1A_setter") set - var pod1_umbrella: Int - @CCall(id = "knifunptr_pod12_pod1_umbrella_getter") get - @CCall(id = "knifunptr_pod13_pod1_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var pod1A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_pod1A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_pod1A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var pod1_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_pod1_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_pod1_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/excludePod1Umbrella/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/excludePod1Umbrella/contents.gold.txt index 63a7b9c856c..792517f7b38 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/excludePod1Umbrella/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/excludePod1Umbrella/contents.gold.txt @@ -1,7 +1,16 @@ +library { + // module name: -package pod1 { - var pod1A: Int - @CCall(id = "knifunptr_pod10_pod1A_getter") get - @CCall(id = "knifunptr_pod11_pod1A_setter") set + library fragment { + // package name: pod1 + + package { + + public final var pod1A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_pod1A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_pod1A_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/explicitSubmodule/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/explicitSubmodule/contents.gold.txt index bb61e47c72d..cccb39027be 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/explicitSubmodule/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/explicitSubmodule/contents.gold.txt @@ -1,32 +1,91 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: 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() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CStructVar.Type + // class name: pod1/IOGPoint + // class name: pod1/IOGPoint.Companion + // class name: pod1/NXMouseButton + // class name: pod1/NXMouseButton.Companion + // class name: pod1/NXMouseButton.Var + // class name: pod1/NXMouseButton.Var.Companion + + @kotlinx/cinterop/internal/CStruct(spelling = "struct { int x; }") + public final class pod1/IOGPoint : kotlinx/cinterop/CStructVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var x: kotlin/Int + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external get + @kotlinx/cinterop/internal/CStruct.MemberAt(offset = 0L) + public final /* non-default */ external set(value: kotlin/Int) + + // companion object: Companion + + // nested class: Companion } - enum class NXMouseButton private constructor(value: UInt) : Enum, 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() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CPrimitiveVar.Type - } - - companion object { - @Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(expression = "", imports = {})) fun byValue(value: UInt): NXMouseButton - } + @kotlinx/cinterop/internal/CStruct.VarType(size = 4L, align = 4) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/IOGPoint.Companion : kotlinx/cinterop/CStructVar.Type { + private constructor() } -} + public final enum class pod1/NXMouseButton : kotlin/Enum, kotlinx/cinterop/CEnum { -package pod1 { - @CCall(id = "knifunptr_pod11_IOHIDGetButtonEventNum") external fun IOHIDGetButtonEventNum(button: NXMouseButton): Int - @CCall(id = "knifunptr_pod10_IOHIDPostEvent") external fun IOHIDPostEvent(location: CValue): Int -} + private constructor(value: kotlin/UInt) + public open val value: kotlin/UInt + public open /* non-default */ get + + // companion object: Companion + + // nested class: Var + + // nested class: Companion + + @kotlinx/cinterop/internal/ConstantValue.UInt(value = 0u) + NX_OneButton, + } + + public final companion object pod1/NXMouseButton.Companion { + + private constructor() + + @kotlin/Deprecated(message = "Will be removed.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final fun byValue(value: kotlin/UInt): pod1/NXMouseButton + } + + public final class pod1/NXMouseButton.Var : kotlinx/cinterop/CEnumVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var value: pod1/NXMouseButton + public final /* non-default */ external get + public final /* non-default */ external set(value: pod1/NXMouseButton) + + // companion object: Companion + + // nested class: Companion + } + + @kotlinx/cinterop/internal/CEnumVarTypeSize(size = 4) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/NXMouseButton.Var.Companion : kotlinx/cinterop/CPrimitiveVar.Type { + + private constructor() + } + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_IOHIDGetButtonEventNum") + public final external fun IOHIDGetButtonEventNum(button: pod1/NXMouseButton): kotlin/Int + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_IOHIDPostEvent") + public final external fun IOHIDPostEvent(location: kotlinx/cinterop/CValue): kotlin/Int + } + } +} diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1/contents.gold.txt index 24e3c5e1265..d2a77f4c2ed 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1/contents.gold.txt @@ -1,7 +1,16 @@ +library { + // module name: -package pod1 { - var pod1: Int - @CCall(id = "knifunptr_pod10_pod1_getter") get - @CCall(id = "knifunptr_pod11_pod1_setter") set + library fragment { + // package name: pod1 + + package { + + public final var pod1: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_pod1_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_pod1_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1A/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1A/contents.gold.txt index 63a7b9c856c..792517f7b38 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1A/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1A/contents.gold.txt @@ -1,7 +1,16 @@ +library { + // module name: -package pod1 { - var pod1A: Int - @CCall(id = "knifunptr_pod10_pod1A_getter") get - @CCall(id = "knifunptr_pod11_pod1A_setter") set + library fragment { + // package name: pod1 + + package { + + public final var pod1A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_pod1A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_pod1A_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1Umbrella/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1Umbrella/contents.gold.txt index 8835822fe67..5e6766d7d46 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1Umbrella/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1Umbrella/contents.gold.txt @@ -1,7 +1,16 @@ +library { + // module name: -package pod1 { - var pod1_umbrella: Int - @CCall(id = "knifunptr_pod10_pod1_umbrella_getter") get - @CCall(id = "knifunptr_pod11_pod1_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var pod1_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_pod1_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_pod1_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1UmbrellaPod1A/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1UmbrellaPod1A/contents.gold.txt index 9d1c7c92779..480cdb2190c 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1UmbrellaPod1A/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/filterPod1UmbrellaPod1A/contents.gold.txt @@ -1,10 +1,22 @@ +library { + // module name: -package pod1 { - var pod1A: Int - @CCall(id = "knifunptr_pod10_pod1A_getter") get - @CCall(id = "knifunptr_pod11_pod1A_setter") set - var pod1_umbrella: Int - @CCall(id = "knifunptr_pod12_pod1_umbrella_getter") get - @CCall(id = "knifunptr_pod13_pod1_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var pod1A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_pod1A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_pod1A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var pod1_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_pod1_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_pod1_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/forwardEnum/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/forwardEnum/contents.gold.txt index 92da02d9a79..f75be82f25b 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/forwardEnum/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/forwardEnum/contents.gold.txt @@ -1,44 +1,121 @@ +library { + // module name: -package pod1 { + library fragment { + // package name: pod1 - enum class EnumWithoutConstant private constructor(value: Long) : Enum, CEnum { - override val value: Long + // class name: pod1/EnumWithoutConstant + // class name: pod1/EnumWithoutConstant.Companion + // class name: pod1/EnumWithoutConstant.Var + // class name: pod1/EnumWithoutConstant.Var.Companion + // class name: pod1/ForwardEnum + // class name: pod1/ForwardEnum.Companion + // class name: pod1/ForwardEnum.Var + // class name: pod1/ForwardEnum.Var.Companion - class Var constructor(rawPtr: NativePtr /* = NativePtr */) : CEnumVar { - var value: EnumWithoutConstant - @CEnumVarTypeSize(size = 8) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CPrimitiveVar.Type - } + public final enum class pod1/EnumWithoutConstant : kotlin/Enum, kotlinx/cinterop/CEnum { - companion object { - @Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(expression = "", imports = {})) fun byValue(value: Long): EnumWithoutConstant - } + private constructor(value: kotlin/Long) + public open val value: kotlin/Long + public open /* non-default */ get + + // companion object: Companion + + // nested class: Var + + // nested class: Companion } - enum class ForwardEnum private constructor(value: Long) : Enum, CEnum { - @ConstantValue.Long(value = 0.toLong()) enum entry A - @ConstantValue.Long(value = 1.toLong()) enum entry B - override val value: Long + public final companion object pod1/EnumWithoutConstant.Companion { - class Var constructor(rawPtr: NativePtr /* = NativePtr */) : CEnumVar { - var value: ForwardEnum - @CEnumVarTypeSize(size = 8) @Deprecated(level = DeprecationLevel.WARNING, message = "Use sizeOf() or alignOf() instead.", replaceWith = ReplaceWith(expression = "", imports = {})) companion object : CPrimitiveVar.Type - } - - companion object { - @Deprecated(level = DeprecationLevel.WARNING, message = "Will be removed.", replaceWith = ReplaceWith(expression = "", imports = {})) fun byValue(value: Long): ForwardEnum - } + private constructor() + @kotlin/Deprecated(message = "Will be removed.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final fun byValue(value: kotlin/Long): pod1/EnumWithoutConstant } -} + public final class pod1/EnumWithoutConstant.Var : kotlinx/cinterop/CEnumVar { -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 -} + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + public final var value: pod1/EnumWithoutConstant + public final /* non-default */ external get + public final /* non-default */ external set(value: pod1/EnumWithoutConstant) + + // companion object: Companion + + // nested class: Companion + } + + @kotlinx/cinterop/internal/CEnumVarTypeSize(size = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/EnumWithoutConstant.Var.Companion : kotlinx/cinterop/CPrimitiveVar.Type { + + private constructor() + } + + public final enum class pod1/ForwardEnum : kotlin/Enum, kotlinx/cinterop/CEnum { + + private constructor(value: kotlin/Long) + + public open val value: kotlin/Long + public open /* non-default */ get + + // companion object: Companion + + // nested class: Var + + // nested class: Companion + + @kotlinx/cinterop/internal/ConstantValue.Long(value = 0L) + A, + + @kotlinx/cinterop/internal/ConstantValue.Long(value = 1L) + B, + } + + public final companion object pod1/ForwardEnum.Companion { + + private constructor() + + @kotlin/Deprecated(message = "Will be removed.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final fun byValue(value: kotlin/Long): pod1/ForwardEnum + } + + public final class pod1/ForwardEnum.Var : kotlinx/cinterop/CEnumVar { + + public constructor(rawPtr: kotlin/native/internal/NativePtr /* = kotlinx/cinterop/NativePtr^ */) + + public final var value: pod1/ForwardEnum + public final /* non-default */ external get + public final /* non-default */ external set(value: pod1/ForwardEnum) + + // companion object: Companion + + // nested class: Companion + } + + @kotlinx/cinterop/internal/CEnumVarTypeSize(size = 8) + @kotlin/Deprecated(message = "Use sizeOf() or alignOf() instead.", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final companion object pod1/ForwardEnum.Var.Companion : kotlinx/cinterop/CPrimitiveVar.Type { + + private constructor() + } + + package { + + public final var enumWithoutConstantVar: pod1/EnumWithoutConstant + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_enumWithoutConstantVar_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_enumWithoutConstantVar_setter") + public final /* non-default */ external set(value: pod1/EnumWithoutConstant) + + public final var forwardEnumVar: pod1/ForwardEnum + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_forwardEnumVar_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_forwardEnumVar_setter") + public final /* non-default */ external set(value: pod1/ForwardEnum) + } + } +} diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/full/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/full/contents.gold.txt index ea9c21792bd..b716ea33181 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/full/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/full/contents.gold.txt @@ -1,13 +1,28 @@ +library { + // module name: -package pod1 { - var pod1: Int - @CCall(id = "knifunptr_pod10_pod1_getter") get - @CCall(id = "knifunptr_pod11_pod1_setter") set - var pod1A: Int - @CCall(id = "knifunptr_pod12_pod1A_getter") get - @CCall(id = "knifunptr_pod13_pod1A_setter") set - var pod1_umbrella: Int - @CCall(id = "knifunptr_pod14_pod1_umbrella_getter") get - @CCall(id = "knifunptr_pod15_pod1_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var pod1: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_pod1_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_pod1_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var pod1A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_pod1A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_pod1A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var pod1_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_pod1_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_pod1_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/importsAngleAngle/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/importsAngleAngle/contents.gold.txt index 24ff9b08c80..6878c8c0c7d 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/importsAngleAngle/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/importsAngleAngle/contents.gold.txt @@ -1,13 +1,28 @@ +library { + // module name: -package pod1 { - var podImportsAngleAngle: Int - @CCall(id = "knifunptr_pod10_podImportsAngleAngle_getter") get - @CCall(id = "knifunptr_pod11_podImportsAngleAngle_setter") set - var podImportsAngleAngleA: Int - @CCall(id = "knifunptr_pod12_podImportsAngleAngleA_getter") get - @CCall(id = "knifunptr_pod13_podImportsAngleAngleA_setter") set - var podImportsAngleAngle_umbrella: Int - @CCall(id = "knifunptr_pod14_podImportsAngleAngle_umbrella_getter") get - @CCall(id = "knifunptr_pod15_podImportsAngleAngle_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var podImportsAngleAngle: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_podImportsAngleAngle_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_podImportsAngleAngle_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var podImportsAngleAngleA: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_podImportsAngleAngleA_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_podImportsAngleAngleA_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var podImportsAngleAngle_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_podImportsAngleAngle_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_podImportsAngleAngle_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/importsAngleQuote/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/importsAngleQuote/contents.gold.txt index 69c21c1d526..91b78d0e072 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/importsAngleQuote/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/importsAngleQuote/contents.gold.txt @@ -1,13 +1,28 @@ +library { + // module name: -package pod1 { - var podImportsAngleQuote: Int - @CCall(id = "knifunptr_pod10_podImportsAngleQuote_getter") get - @CCall(id = "knifunptr_pod11_podImportsAngleQuote_setter") set - var podImportsAngleQuoteA: Int - @CCall(id = "knifunptr_pod12_podImportsAngleQuoteA_getter") get - @CCall(id = "knifunptr_pod13_podImportsAngleQuoteA_setter") set - var podImportsAngleQuote_umbrella: Int - @CCall(id = "knifunptr_pod14_podImportsAngleQuote_umbrella_getter") get - @CCall(id = "knifunptr_pod15_podImportsAngleQuote_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var podImportsAngleQuote: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_podImportsAngleQuote_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_podImportsAngleQuote_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var podImportsAngleQuoteA: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_podImportsAngleQuoteA_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_podImportsAngleQuoteA_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var podImportsAngleQuote_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_podImportsAngleQuote_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_podImportsAngleQuote_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/importsQuoteAngle/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/importsQuoteAngle/contents.gold.txt index 80a55bed255..332ccf283f4 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/importsQuoteAngle/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/importsQuoteAngle/contents.gold.txt @@ -1,13 +1,28 @@ +library { + // module name: -package pod1 { - var podImportsQuoteAngle: Int - @CCall(id = "knifunptr_pod10_podImportsQuoteAngle_getter") get - @CCall(id = "knifunptr_pod11_podImportsQuoteAngle_setter") set - var podImportsQuoteAngleA: Int - @CCall(id = "knifunptr_pod12_podImportsQuoteAngleA_getter") get - @CCall(id = "knifunptr_pod13_podImportsQuoteAngleA_setter") set - var podImportsQuoteAngle_umbrella: Int - @CCall(id = "knifunptr_pod14_podImportsQuoteAngle_umbrella_getter") get - @CCall(id = "knifunptr_pod15_podImportsQuoteAngle_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var podImportsQuoteAngle: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_podImportsQuoteAngle_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_podImportsQuoteAngle_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var podImportsQuoteAngleA: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_podImportsQuoteAngleA_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_podImportsQuoteAngleA_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var podImportsQuoteAngle_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_podImportsQuoteAngle_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_podImportsQuoteAngle_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/importsQuoteQuote/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/importsQuoteQuote/contents.gold.txt index 047fc2d5b3e..dc5af9c5869 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/importsQuoteQuote/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/importsQuoteQuote/contents.gold.txt @@ -1,13 +1,28 @@ +library { + // module name: -package pod1 { - var podImportsQuoteQuote: Int - @CCall(id = "knifunptr_pod10_podImportsQuoteQuote_getter") get - @CCall(id = "knifunptr_pod11_podImportsQuoteQuote_setter") set - var podImportsQuoteQuoteA: Int - @CCall(id = "knifunptr_pod12_podImportsQuoteQuoteA_getter") get - @CCall(id = "knifunptr_pod13_podImportsQuoteQuoteA_setter") set - var podImportsQuoteQuote_umbrella: Int - @CCall(id = "knifunptr_pod14_podImportsQuoteQuote_umbrella_getter") get - @CCall(id = "knifunptr_pod15_podImportsQuoteQuote_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var podImportsQuoteQuote: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_podImportsQuoteQuote_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_podImportsQuoteQuote_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var podImportsQuoteQuoteA: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_podImportsQuoteQuoteA_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_podImportsQuoteQuoteA_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var podImportsQuoteQuote_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_podImportsQuoteQuote_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_podImportsQuoteQuote_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/modulesPod1/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/modulesPod1/contents.gold.txt index ea9c21792bd..b716ea33181 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/modulesPod1/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/modulesPod1/contents.gold.txt @@ -1,13 +1,28 @@ +library { + // module name: -package pod1 { - var pod1: Int - @CCall(id = "knifunptr_pod10_pod1_getter") get - @CCall(id = "knifunptr_pod11_pod1_setter") set - var pod1A: Int - @CCall(id = "knifunptr_pod12_pod1A_getter") get - @CCall(id = "knifunptr_pod13_pod1A_setter") set - var pod1_umbrella: Int - @CCall(id = "knifunptr_pod14_pod1_umbrella_getter") get - @CCall(id = "knifunptr_pod15_pod1_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var pod1: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_pod1_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_pod1_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var pod1A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_pod1A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_pod1A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var pod1_umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_pod1_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_pod1_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/protocolDefs/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/protocolDefs/contents.gold.txt index 23602488cdb..5d58a3ed2ae 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/protocolDefs/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/protocolDefs/contents.gold.txt @@ -1,6 +1,18 @@ +library { + // module name: -package objcinterop { - @ExternalObjCClass(protocolGetter = "kniprot_objcinterop0_Simple") interface SimpleProtocol : ObjCObject - @ExternalObjCClass(protocolGetter = "kniprot_objcinterop0_Simple") interface SimpleProtocolMeta : ObjCObjectMeta /* = ObjCClass */ + library fragment { + // package name: objcinterop + + // class name: objcinterop/SimpleProtocol + // class name: objcinterop/SimpleProtocolMeta + + @kotlinx/cinterop/ExternalObjCClass(protocolGetter = "kniprot_objcinterop0_Simple") + public abstract interface objcinterop/SimpleProtocol : kotlinx/cinterop/ObjCObject { + } + + @kotlinx/cinterop/ExternalObjCClass(protocolGetter = "kniprot_objcinterop0_Simple") + public abstract interface objcinterop/SimpleProtocolMeta : kotlinx/cinterop/ObjCClass /* = kotlinx/cinterop/ObjCObjectMeta^ */ { + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/twoChildren/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/twoChildren/contents.gold.txt index 339cc3c7f76..4308ee3c4d4 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/twoChildren/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/twoChildren/contents.gold.txt @@ -1,13 +1,28 @@ +library { + // module name: -package pod1 { - var child1: Int - @CCall(id = "knifunptr_pod10_child1_getter") get - @CCall(id = "knifunptr_pod11_child1_setter") set - var child2: Int - @CCall(id = "knifunptr_pod12_child2_getter") get - @CCall(id = "knifunptr_pod13_child2_setter") set - var umbrella: Int - @CCall(id = "knifunptr_pod14_umbrella_getter") get - @CCall(id = "knifunptr_pod15_umbrella_setter") set + library fragment { + // package name: pod1 + + package { + + public final var child1: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_child1_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_child1_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var child2: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_child2_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_child2_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var umbrella: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_umbrella_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_umbrella_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/framework/frameworkDefs/visitOtherModules/contents.gold.txt b/native/native.tests/testData/CInterop/framework/frameworkDefs/visitOtherModules/contents.gold.txt index 58a87fd0cf8..627e9f36c4e 100644 --- a/native/native.tests/testData/CInterop/framework/frameworkDefs/visitOtherModules/contents.gold.txt +++ b/native/native.tests/testData/CInterop/framework/frameworkDefs/visitOtherModules/contents.gold.txt @@ -1,7 +1,16 @@ +library { + // module name: -package pod1 { - var baz: Int - @CCall(id = "knifunptr_pod10_baz_getter") get - @CCall(id = "knifunptr_pod11_baz_setter") set + library fragment { + // package name: pod1 + + package { + + public final var baz: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_baz_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_baz_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke0/contents.gold.txt b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke0/contents.gold.txt index 57495e546e3..9c3be1d1308 100644 --- a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke0/contents.gold.txt +++ b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke0/contents.gold.txt @@ -1,36 +1,89 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass open class MyClass : ObjCObjectBase { - protected constructor() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "instanceMethod") open external fun instanceMethod() - companion object : MyClassMeta, ObjCClassOf + // class name: dependency/MyClass + // class name: dependency/MyClass.Companion + // class name: dependency/MyClassMeta + // class name: dependency/SkipClass + // class name: dependency/SkipClass.Companion + // class name: dependency/SkipClassMeta + + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "v16@0:8", isStret = false) + public open external fun instanceMethod(): kotlin/Unit + + // companion object: Companion + + // nested class: Companion } - @ExternalObjCClass open class MyClassMeta : ObjCObjectBaseMeta { - protected constructor() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "classMethod") open external fun classMethod() + public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() } - @ExternalObjCClass open class SkipClass : ObjCObjectBase { - protected constructor() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "instanceMethod") open external fun instanceMethod() - companion object : SkipClassMeta, ObjCClassOf + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "v16@0:8", isStret = false) + public open external fun classMethod(): kotlin/Unit } - @ExternalObjCClass open class SkipClassMeta : ObjCObjectBaseMeta { - protected constructor() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "classMethod") open external fun classMethod() + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/SkipClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "v16@0:8", isStret = false) + public open external fun instanceMethod(): kotlin/Unit + + // companion object: Companion + + // nested class: Companion } + public final companion object dependency/SkipClass.Companion : dependency/SkipClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() + } + + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/SkipClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "v16@0:8", isStret = false) + public open external fun classMethod(): kotlin/Unit + } + + package { + + @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod", encoding = "v16@0:8", isStret = false) + public final external fun dependency/MyClassMeta.categoryClassMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod", encoding = "v16@0:8", isStret = false) + public final external fun dependency/SkipClassMeta.categoryClassMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod2", encoding = "v16@0:8", isStret = false) + public final external fun dependency/MyClassMeta.categoryClassMethod2(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod", encoding = "v16@0:8", isStret = false) + public final external fun dependency/MyClass.categoryInstanceMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod", encoding = "v16@0:8", isStret = false) + public final external fun dependency/SkipClass.categoryInstanceMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod2", encoding = "v16@0:8", isStret = false) + public final external fun dependency/MyClass.categoryInstanceMethod2(): kotlin/Unit + } + } } - -package dependency { - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryClassMethod") external fun MyClassMeta.categoryClassMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryClassMethod") external fun SkipClassMeta.categoryClassMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryClassMethod2") external fun MyClassMeta.categoryClassMethod2() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryInstanceMethod") external fun MyClass.categoryInstanceMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryInstanceMethod") external fun SkipClass.categoryInstanceMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryInstanceMethod2") external fun MyClass.categoryInstanceMethod2() -} - diff --git a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke1/contents.gold.txt b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke1/contents.gold.txt index b9786898cd4..d975cd5cd3c 100644 --- a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke1/contents.gold.txt +++ b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke1/contents.gold.txt @@ -1,40 +1,105 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass open class MyClass : ObjCObjectBase { - protected constructor() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryInstanceMethod") open external fun categoryInstanceMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryInstanceMethod2") open external fun categoryInstanceMethod2() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "instanceMethod") open external fun instanceMethod() - companion object : MyClassMeta, ObjCClassOf + // class name: dependency/MyClass + // class name: dependency/MyClass.Companion + // class name: dependency/MyClassMeta + // class name: dependency/SkipClass + // class name: dependency/SkipClass.Companion + // class name: dependency/SkipClassMeta + + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod", encoding = "v16@0:8", isStret = false) + public open external fun categoryInstanceMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod2", encoding = "v16@0:8", isStret = false) + public open external fun categoryInstanceMethod2(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "v16@0:8", isStret = false) + public open external fun instanceMethod(): kotlin/Unit + + // companion object: Companion + + // nested class: Companion } - @ExternalObjCClass open class MyClassMeta : ObjCObjectBaseMeta { - protected constructor() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryClassMethod") open external fun categoryClassMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryClassMethod2") open external fun categoryClassMethod2() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "classMethod") open external fun classMethod() + public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() } - @ExternalObjCClass open class SkipClass : ObjCObjectBase { - protected constructor() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "instanceMethod") open external fun instanceMethod() - companion object : SkipClassMeta, ObjCClassOf + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod", encoding = "v16@0:8", isStret = false) + public open external fun categoryClassMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod2", encoding = "v16@0:8", isStret = false) + public open external fun categoryClassMethod2(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "v16@0:8", isStret = false) + public open external fun classMethod(): kotlin/Unit } - @ExternalObjCClass open class SkipClassMeta : ObjCObjectBaseMeta { - protected constructor() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "classMethod") open external fun classMethod() + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/SkipClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "v16@0:8", isStret = false) + public open external fun instanceMethod(): kotlin/Unit + + // companion object: Companion + + // nested class: Companion } + public final companion object dependency/SkipClass.Companion : dependency/SkipClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() + } + + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/SkipClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "v16@0:8", isStret = false) + public open external fun classMethod(): kotlin/Unit + } + + package { + + @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod", encoding = "v16@0:8", isStret = false) + @kotlin/Deprecated(message = "Use class method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final external fun dependency/MyClassMeta.categoryClassMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod", encoding = "v16@0:8", isStret = false) + public final external fun dependency/SkipClassMeta.categoryClassMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod2", encoding = "v16@0:8", isStret = false) + @kotlin/Deprecated(message = "Use class method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final external fun dependency/MyClassMeta.categoryClassMethod2(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod", encoding = "v16@0:8", isStret = false) + @kotlin/Deprecated(message = "Use instance method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final external fun dependency/MyClass.categoryInstanceMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod", encoding = "v16@0:8", isStret = false) + public final external fun dependency/SkipClass.categoryInstanceMethod(): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod2", encoding = "v16@0:8", isStret = false) + @kotlin/Deprecated(message = "Use instance method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final external fun dependency/MyClass.categoryInstanceMethod2(): kotlin/Unit + } + } } - -package dependency { - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryClassMethod") @Deprecated(level = DeprecationLevel.WARNING, message = "Use class method instead", replaceWith = ReplaceWith(expression = "", imports = {})) external fun MyClassMeta.categoryClassMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryClassMethod") external fun SkipClassMeta.categoryClassMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryClassMethod2") @Deprecated(level = DeprecationLevel.WARNING, message = "Use class method instead", replaceWith = ReplaceWith(expression = "", imports = {})) external fun MyClassMeta.categoryClassMethod2() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryInstanceMethod") @Deprecated(level = DeprecationLevel.WARNING, message = "Use instance method instead", replaceWith = ReplaceWith(expression = "", imports = {})) external fun MyClass.categoryInstanceMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryInstanceMethod") external fun SkipClass.categoryInstanceMethod() - @ObjCMethod(encoding = "v16@0:8", isStret = false, selector = "categoryInstanceMethod2") @Deprecated(level = DeprecationLevel.WARNING, message = "Use instance method instead", replaceWith = ReplaceWith(expression = "", imports = {})) external fun MyClass.categoryInstanceMethod2() -} - diff --git a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke2/contents.gold.txt b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke2/contents.gold.txt index 45fd4d8abad..f416c545648 100644 --- a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke2/contents.gold.txt +++ b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke2/contents.gold.txt @@ -1,32 +1,76 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass open class MyClass : ObjCObjectBase { - protected constructor() - var categoryProperty: Float - @ObjCMethod(encoding = "f16@0:8", isStret = false, selector = "categoryProperty") get - @ObjCMethod(encoding = "v20@0:8f16", isStret = false, selector = "setCategoryProperty:") set - var instanceProperty: Float - @ObjCMethod(encoding = "f16@0:8", isStret = false, selector = "instanceProperty") get - @ObjCMethod(encoding = "v20@0:8f16", isStret = false, selector = "setInstanceProperty:") set - @ObjCMethod(encoding = "f16@0:8", isStret = false, selector = "categoryProperty") open external fun categoryProperty(): Float - @ObjCMethod(encoding = "f16@0:8", isStret = false, selector = "instanceProperty") open external fun instanceProperty(): Float - @ObjCMethod(encoding = "v20@0:8f16", isStret = false, selector = "setCategoryProperty:") open external fun setCategoryProperty(categoryProperty: Float) - @ObjCMethod(encoding = "v20@0:8f16", isStret = false, selector = "setInstanceProperty:") open external fun setInstanceProperty(instanceProperty: Float) - companion object : MyClassMeta, ObjCClassOf + // class name: dependency/MyClass + // class name: dependency/MyClass.Companion + // class name: dependency/MyClassMeta + + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCMethod(selector = "categoryProperty", encoding = "f16@0:8", isStret = false) + public open external fun categoryProperty(): kotlin/Float + + @kotlinx/cinterop/ObjCMethod(selector = "instanceProperty", encoding = "f16@0:8", isStret = false) + public open external fun instanceProperty(): kotlin/Float + + @kotlinx/cinterop/ObjCMethod(selector = "setCategoryProperty:", encoding = "v20@0:8f16", isStret = false) + public open external fun setCategoryProperty(categoryProperty: kotlin/Float): kotlin/Unit + + @kotlinx/cinterop/ObjCMethod(selector = "setInstanceProperty:", encoding = "v20@0:8f16", isStret = false) + public open external fun setInstanceProperty(instanceProperty: kotlin/Float): kotlin/Unit + + public final var categoryProperty: kotlin/Float + @kotlinx/cinterop/ObjCMethod(selector = "categoryProperty", encoding = "f16@0:8", isStret = false) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setCategoryProperty:", encoding = "v20@0:8f16", isStret = false) + public final /* non-default */ external set(value: kotlin/Float) + + public final var instanceProperty: kotlin/Float + @kotlinx/cinterop/ObjCMethod(selector = "instanceProperty", encoding = "f16@0:8", isStret = false) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setInstanceProperty:", encoding = "v20@0:8f16", isStret = false) + public final /* non-default */ external set(value: kotlin/Float) + + // companion object: Companion + + // nested class: Companion } - @ExternalObjCClass open class MyClassMeta : ObjCObjectBaseMeta { - protected constructor() + public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() } -} + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { -package dependency { - @Deprecated(level = DeprecationLevel.WARNING, message = "Use instance property instead", replaceWith = ReplaceWith(expression = "", imports = {})) var MyClass.categoryProperty: Float - @ObjCMethod(encoding = "f16@0:8", isStret = false, selector = "categoryProperty") @Deprecated(level = DeprecationLevel.WARNING, message = "Use instance method instead", replaceWith = ReplaceWith(expression = "", imports = {})) get - @ObjCMethod(encoding = "v20@0:8f16", isStret = false, selector = "setCategoryProperty:") @Deprecated(level = DeprecationLevel.WARNING, message = "Use instance method instead", replaceWith = ReplaceWith(expression = "", imports = {})) set - @ObjCMethod(encoding = "f16@0:8", isStret = false, selector = "categoryProperty") @Deprecated(level = DeprecationLevel.WARNING, message = "Use instance method instead", replaceWith = ReplaceWith(expression = "", imports = {})) external fun MyClass.categoryProperty(): Float - @ObjCMethod(encoding = "v20@0:8f16", isStret = false, selector = "setCategoryProperty:") @Deprecated(level = DeprecationLevel.WARNING, message = "Use instance method instead", replaceWith = ReplaceWith(expression = "", imports = {})) external fun MyClass.setCategoryProperty(categoryProperty: Float) -} + protected /* secondary */ constructor() + } + package { + + @kotlinx/cinterop/ObjCMethod(selector = "categoryProperty", encoding = "f16@0:8", isStret = false) + @kotlin/Deprecated(message = "Use instance method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final external fun dependency/MyClass.categoryProperty(): kotlin/Float + + @kotlinx/cinterop/ObjCMethod(selector = "setCategoryProperty:", encoding = "v20@0:8f16", isStret = false) + @kotlin/Deprecated(message = "Use instance method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final external fun dependency/MyClass.setCategoryProperty(categoryProperty: kotlin/Float): kotlin/Unit + + @kotlin/Deprecated(message = "Use instance property instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final var dependency/MyClass.categoryProperty: kotlin/Float + @kotlinx/cinterop/ObjCMethod(selector = "categoryProperty", encoding = "f16@0:8", isStret = false) + @kotlin/Deprecated(message = "Use instance method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final /* non-default */ external get + @kotlinx/cinterop/ObjCMethod(selector = "setCategoryProperty:", encoding = "v20@0:8f16", isStret = false) + @kotlin/Deprecated(message = "Use instance method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING) + public final /* non-default */ external set(value: kotlin/Float) + } + } +} diff --git a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke3/contents.gold.txt b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke3/contents.gold.txt index 4d54da265cb..5e7c26dace5 100644 --- a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke3/contents.gold.txt +++ b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke3/contents.gold.txt @@ -1,23 +1,64 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass open class MyClass : ObjCObjectBase { - @ObjCConstructor(designated = true, initSelector = "initWithFloat:") constructor(float: Float) - @ObjCConstructor(designated = true, initSelector = "initWithPointer:") constructor(pointer: COpaquePointer? /* = CPointer? */) - protected constructor() - @Deprecated(level = DeprecationLevel.ERROR, message = "Use constructor instead", replaceWith = ReplaceWith(expression = "MyClass(number)", imports = {})) @ObjCMethod(encoding = "@20@0:8f16", isStret = false, selector = "initWithFloat:") @CCall.ConsumesReceiver @CCall.ReturnsRetained open external fun initWithFloat(number: Float): Any? - @Deprecated(level = DeprecationLevel.ERROR, message = "Use constructor instead", replaceWith = ReplaceWith(expression = "MyClass(any)", imports = {})) @ObjCMethod(encoding = "@24@0:8^v16", isStret = false, selector = "initWithPointer:") @CCall.ConsumesReceiver @CCall.ReturnsRetained open external fun initWithPointer(any: COpaquePointer? /* = CPointer? */): MyClass? - companion object : MyClassMeta, ObjCClassOf + // class name: dependency/MyClass + // class name: dependency/MyClass.Companion + // class name: dependency/MyClassMeta + + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCConstructor(designated = true, initSelector = "initWithFloat:") + public /* secondary */ constructor(float: kotlin/Float) + + @kotlinx/cinterop/ObjCConstructor(designated = true, initSelector = "initWithPointer:") + public /* secondary */ constructor(pointer: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + @kotlin/Deprecated(message = "Use constructor instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass(number)"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "initWithFloat:", encoding = "@20@0:8f16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public open external fun initWithFloat(number: kotlin/Float): kotlin/Any? + + @kotlin/Deprecated(message = "Use constructor instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass(any)"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "initWithPointer:", encoding = "@24@0:8^v16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public open external fun initWithPointer(any: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */): dependency/MyClass? + + // companion object: Companion + + // nested class: Companion } - @ExternalObjCClass open class MyClassMeta : ObjCObjectBaseMeta { - protected constructor() + public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() } -} + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { -package dependency { - @ObjCFactory(encoding = "@24@0:8@16", isStret = false, selector = "initWithAnother:") @CCall.ConsumesReceiver @CCall.ReturnsRetained external fun ObjCClassOf.create(another: MyClass?): T? - @Deprecated(level = DeprecationLevel.ERROR, message = "Use factory method instead", replaceWith = ReplaceWith(expression = "MyClass.create(instance)", imports = {})) @ObjCMethod(encoding = "@24@0:8@16", isStret = false, selector = "initWithAnother:") @CCall.ConsumesReceiver @CCall.ReturnsRetained external fun MyClass.initWithAnother(instance: MyClass?): Any? -} + protected /* secondary */ constructor() + } + package { + + @kotlinx/cinterop/ObjCFactory(selector = "initWithAnother:", encoding = "@24@0:8@16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public final external fun kotlinx/cinterop/ObjCClassOf.create(another: dependency/MyClass?): T#0? + + @kotlin/Deprecated(message = "Use factory method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass.create(instance)"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "initWithAnother:", encoding = "@24@0:8@16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public final external fun dependency/MyClass.initWithAnother(instance: dependency/MyClass?): kotlin/Any? + } + } +} diff --git a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke4/contents.gold.txt b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke4/contents.gold.txt index 11c0228e4ac..deab3ea7d71 100644 --- a/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke4/contents.gold.txt +++ b/native/native.tests/testData/CInterop/frameworkIncludeCategories/cases/smoke4/contents.gold.txt @@ -1,25 +1,73 @@ +library { + // module name: -package dependency { + library fragment { + // package name: dependency - @ExternalObjCClass open class MyClass : ObjCObjectBase { - @ObjCConstructor(designated = true, initSelector = "initWithFloat:") constructor(float: Float) - @ObjCConstructor(designated = true, initSelector = "initWithPointer:") constructor(pointer: COpaquePointer? /* = CPointer? */) - @ObjCConstructor(designated = true, initSelector = "initWithAnother:") constructor(another: MyClass?) - protected constructor() - @Deprecated(level = DeprecationLevel.ERROR, message = "Use constructor instead", replaceWith = ReplaceWith(expression = "MyClass(instance)", imports = {})) @ObjCMethod(encoding = "@24@0:8@16", isStret = false, selector = "initWithAnother:") @CCall.ConsumesReceiver @CCall.ReturnsRetained open external fun initWithAnother(instance: MyClass?): Any? - @Deprecated(level = DeprecationLevel.ERROR, message = "Use constructor instead", replaceWith = ReplaceWith(expression = "MyClass(number)", imports = {})) @ObjCMethod(encoding = "@20@0:8f16", isStret = false, selector = "initWithFloat:") @CCall.ConsumesReceiver @CCall.ReturnsRetained open external fun initWithFloat(number: Float): Any? - @Deprecated(level = DeprecationLevel.ERROR, message = "Use constructor instead", replaceWith = ReplaceWith(expression = "MyClass(any)", imports = {})) @ObjCMethod(encoding = "@24@0:8^v16", isStret = false, selector = "initWithPointer:") @CCall.ConsumesReceiver @CCall.ReturnsRetained open external fun initWithPointer(any: COpaquePointer? /* = CPointer? */): MyClass? - companion object : MyClassMeta, ObjCClassOf + // class name: dependency/MyClass + // class name: dependency/MyClass.Companion + // class name: dependency/MyClassMeta + + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase { + + protected /* secondary */ constructor() + + @kotlinx/cinterop/ObjCConstructor(designated = true, initSelector = "initWithAnother:") + public /* secondary */ constructor(another: dependency/MyClass?) + + @kotlinx/cinterop/ObjCConstructor(designated = true, initSelector = "initWithFloat:") + public /* secondary */ constructor(float: kotlin/Float) + + @kotlinx/cinterop/ObjCConstructor(designated = true, initSelector = "initWithPointer:") + public /* secondary */ constructor(pointer: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */) + + @kotlin/Deprecated(message = "Use constructor instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass(instance)"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "initWithAnother:", encoding = "@24@0:8@16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public open external fun initWithAnother(instance: dependency/MyClass?): kotlin/Any? + + @kotlin/Deprecated(message = "Use constructor instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass(number)"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "initWithFloat:", encoding = "@20@0:8f16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public open external fun initWithFloat(number: kotlin/Float): kotlin/Any? + + @kotlin/Deprecated(message = "Use constructor instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass(any)"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "initWithPointer:", encoding = "@24@0:8^v16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public open external fun initWithPointer(any: kotlinx/cinterop/CPointer? /* = kotlinx/cinterop/COpaquePointer^? */): dependency/MyClass? + + // companion object: Companion + + // nested class: Companion } - @ExternalObjCClass open class MyClassMeta : ObjCObjectBaseMeta { - protected constructor() + public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf { + + private constructor() } -} + @kotlinx/cinterop/ExternalObjCClass + public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta { -package dependency { - @ObjCFactory(encoding = "@24@0:8@16", isStret = false, selector = "initWithAnother:") @CCall.ConsumesReceiver @CCall.ReturnsRetained external fun ObjCClassOf.create(another: MyClass?): T? - @Deprecated(level = DeprecationLevel.ERROR, message = "Use factory method instead", replaceWith = ReplaceWith(expression = "MyClass.create(instance)", imports = {})) @ObjCMethod(encoding = "@24@0:8@16", isStret = false, selector = "initWithAnother:") @CCall.ConsumesReceiver @CCall.ReturnsRetained external fun MyClass.initWithAnother(instance: MyClass?): Any? -} + protected /* secondary */ constructor() + } + package { + + @kotlinx/cinterop/ObjCFactory(selector = "initWithAnother:", encoding = "@24@0:8@16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public final external fun kotlinx/cinterop/ObjCClassOf.create(another: dependency/MyClass?): T#0? + + @kotlin/Deprecated(message = "Use factory method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = "MyClass.create(instance)"), level = kotlin/DeprecationLevel.ERROR) + @kotlinx/cinterop/ObjCMethod(selector = "initWithAnother:", encoding = "@24@0:8@16", isStret = false) + @kotlinx/cinterop/internal/CCall.ConsumesReceiver + @kotlinx/cinterop/internal/CCall.ReturnsRetained + public final external fun dependency/MyClass.initWithAnother(instance: dependency/MyClass?): kotlin/Any? + } + } +} diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/filterA/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/filterA/contents.gold.txt index 2cd6219c3c5..bd7bb3562c6 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/filterA/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/filterA/contents.gold.txt @@ -1,8 +1,19 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod11_A_getter") get - @CCall(id = "knifunptr_pod12_A_setter") set - @CCall(id = "knifunptr_pod10_AAA") external fun AAA(): Int + library fragment { + // package name: pod1 + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_AAA") + public final external fun AAA(): kotlin/Int + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/filterAB/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/filterAB/contents.gold.txt index 7de71d05507..79a82384f0d 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/filterAB/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/filterAB/contents.gold.txt @@ -1,11 +1,25 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod11_A_getter") get - @CCall(id = "knifunptr_pod12_A_setter") set - @CCall(id = "knifunptr_pod10_AAA") external fun AAA(): Int - var B: Int - @CCall(id = "knifunptr_pod13_B_getter") get - @CCall(id = "knifunptr_pod14_B_setter") set + library fragment { + // package name: pod1 + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_AAA") + public final external fun AAA(): kotlin/Int + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var B: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_B_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_B_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/filterABC/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/filterABC/contents.gold.txt index 3042e48d2b0..79339e6376b 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/filterABC/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/filterABC/contents.gold.txt @@ -1,14 +1,31 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod11_A_getter") get - @CCall(id = "knifunptr_pod12_A_setter") set - @CCall(id = "knifunptr_pod10_AAA") external fun AAA(): Int - var B: Int - @CCall(id = "knifunptr_pod13_B_getter") get - @CCall(id = "knifunptr_pod14_B_setter") set - var C: Int - @CCall(id = "knifunptr_pod15_C_getter") get - @CCall(id = "knifunptr_pod16_C_setter") set + library fragment { + // package name: pod1 + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_AAA") + public final external fun AAA(): kotlin/Int + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var B: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_B_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_B_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var C: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_C_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod16_C_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/filterAC/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/filterAC/contents.gold.txt index b4921c6b31d..eb632d37190 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/filterAC/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/filterAC/contents.gold.txt @@ -1,11 +1,25 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod11_A_getter") get - @CCall(id = "knifunptr_pod12_A_setter") set - @CCall(id = "knifunptr_pod10_AAA") external fun AAA(): Int - var C: Int - @CCall(id = "knifunptr_pod13_C_getter") get - @CCall(id = "knifunptr_pod14_C_setter") set + library fragment { + // package name: pod1 + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_AAA") + public final external fun AAA(): kotlin/Int + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var C: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_C_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_C_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/filterB/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/filterB/contents.gold.txt index 13334a34ed6..e18587ea7f2 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/filterB/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/filterB/contents.gold.txt @@ -1,7 +1,16 @@ +library { + // module name: -package pod1 { - var B: Int - @CCall(id = "knifunptr_pod10_B_getter") get - @CCall(id = "knifunptr_pod11_B_setter") set + library fragment { + // package name: pod1 + + package { + + public final var B: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_B_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_B_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/filterBC/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/filterBC/contents.gold.txt index 43d71df508f..d0e93cd2bda 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/filterBC/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/filterBC/contents.gold.txt @@ -1,10 +1,22 @@ +library { + // module name: -package pod1 { - var B: Int - @CCall(id = "knifunptr_pod10_B_getter") get - @CCall(id = "knifunptr_pod11_B_setter") set - var C: Int - @CCall(id = "knifunptr_pod12_C_getter") get - @CCall(id = "knifunptr_pod13_C_setter") set + library fragment { + // package name: pod1 + + package { + + public final var B: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_B_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_B_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var C: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_C_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_C_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/filterC/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/filterC/contents.gold.txt index 4f0d6ca4ba8..e8ce586c201 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/filterC/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/filterC/contents.gold.txt @@ -1,7 +1,16 @@ +library { + // module name: -package pod1 { - var C: Int - @CCall(id = "knifunptr_pod10_C_getter") get - @CCall(id = "knifunptr_pod11_C_setter") set + library fragment { + // package name: pod1 + + package { + + public final var C: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_C_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_C_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/full/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/full/contents.gold.txt index 3042e48d2b0..79339e6376b 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/full/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/full/contents.gold.txt @@ -1,14 +1,31 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod11_A_getter") get - @CCall(id = "knifunptr_pod12_A_setter") set - @CCall(id = "knifunptr_pod10_AAA") external fun AAA(): Int - var B: Int - @CCall(id = "knifunptr_pod13_B_getter") get - @CCall(id = "knifunptr_pod14_B_setter") set - var C: Int - @CCall(id = "knifunptr_pod15_C_getter") get - @CCall(id = "knifunptr_pod16_C_setter") set + library fragment { + // package name: pod1 + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_AAA") + public final external fun AAA(): kotlin/Int + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var B: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_B_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_B_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var C: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_C_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod16_C_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/modulesA/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/modulesA/contents.gold.txt index b4921c6b31d..eb632d37190 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/modulesA/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/modulesA/contents.gold.txt @@ -1,11 +1,25 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod11_A_getter") get - @CCall(id = "knifunptr_pod12_A_setter") set - @CCall(id = "knifunptr_pod10_AAA") external fun AAA(): Int - var C: Int - @CCall(id = "knifunptr_pod13_C_getter") get - @CCall(id = "knifunptr_pod14_C_setter") set + library fragment { + // package name: pod1 + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_AAA") + public final external fun AAA(): kotlin/Int + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var C: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_C_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_C_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/modulesAB/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/modulesAB/contents.gold.txt index 3042e48d2b0..79339e6376b 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/modulesAB/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/modulesAB/contents.gold.txt @@ -1,14 +1,31 @@ +library { + // module name: -package pod1 { - var A: Int - @CCall(id = "knifunptr_pod11_A_getter") get - @CCall(id = "knifunptr_pod12_A_setter") set - @CCall(id = "knifunptr_pod10_AAA") external fun AAA(): Int - var B: Int - @CCall(id = "knifunptr_pod13_B_getter") get - @CCall(id = "knifunptr_pod14_B_setter") set - var C: Int - @CCall(id = "knifunptr_pod15_C_getter") get - @CCall(id = "knifunptr_pod16_C_setter") set + library fragment { + // package name: pod1 + + package { + + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_AAA") + public final external fun AAA(): kotlin/Int + + public final var A: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_A_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_A_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var B: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_B_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod14_B_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var C: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod15_C_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod16_C_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/testData/CInterop/simple/simpleDefs/modulesB/contents.gold.txt b/native/native.tests/testData/CInterop/simple/simpleDefs/modulesB/contents.gold.txt index 43d71df508f..d0e93cd2bda 100644 --- a/native/native.tests/testData/CInterop/simple/simpleDefs/modulesB/contents.gold.txt +++ b/native/native.tests/testData/CInterop/simple/simpleDefs/modulesB/contents.gold.txt @@ -1,10 +1,22 @@ +library { + // module name: -package pod1 { - var B: Int - @CCall(id = "knifunptr_pod10_B_getter") get - @CCall(id = "knifunptr_pod11_B_setter") set - var C: Int - @CCall(id = "knifunptr_pod12_C_getter") get - @CCall(id = "knifunptr_pod13_C_setter") set + library fragment { + // package name: pod1 + + package { + + public final var B: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod10_B_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod11_B_setter") + public final /* non-default */ external set(value: kotlin/Int) + + public final var C: kotlin/Int + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod12_C_getter") + public final /* non-default */ external get + @kotlinx/cinterop/internal/CCall(id = "knifunptr_pod13_C_setter") + public final /* non-default */ external set(value: kotlin/Int) + } + } } - diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropKT39120Test.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropKT39120Test.kt index d5eda0ce27b..269bb43a385 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropKT39120Test.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropKT39120Test.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.konan.test.blackbox -import com.intellij.openapi.util.text.StringUtilRt import com.intellij.testFramework.TestDataFile import org.jetbrains.kotlin.konan.test.blackbox.support.* import org.jetbrains.kotlin.konan.test.blackbox.support.compilation.TestCompilationArtifact.KLIB @@ -17,7 +16,7 @@ import org.jetbrains.kotlin.konan.test.blackbox.support.util.DEFAULT_FILE_NAME import org.jetbrains.kotlin.konan.test.blackbox.support.util.DEFAULT_MODULE_NAME import org.jetbrains.kotlin.konan.test.blackbox.support.util.getAbsoluteFile import org.jetbrains.kotlin.konan.test.blackbox.support.util.dumpMetadata -import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertEquals +import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertEqualsToFile import org.junit.jupiter.api.Assumptions import org.junit.jupiter.api.Tag import kotlin.test.assertIs @@ -40,18 +39,14 @@ abstract class AbstractNativeCInteropKT39120Test : AbstractNativeCInteropBaseTes val includeFrameworkArgs = TestCInteropArgs("-compiler-option", "-F${testDataDir.canonicalPath}") val klib1: KLIB = cinteropToLibrary(targets, def1File, buildDir, includeFrameworkArgs).assertSuccess().resultingArtifact val metadata1 = klib1.dumpMetadata(kotlinNativeClassLoader.classLoader, false, null) - - val expectedFiltered1Output = golden1File.readText() val actualFiltered1Output = filterContentsOutput(metadata1, " pod.Version|POD|class Pod") - assertEquals(StringUtilRt.convertLineSeparators(expectedFiltered1Output), StringUtilRt.convertLineSeparators(actualFiltered1Output)) + assertEqualsToFile(golden1File, actualFiltered1Output) val cinterop2ExtraArgs = TestCInteropArgs("-l", klib1.klibFile.canonicalPath, "-compiler-option", "-fmodules") val klib2: KLIB = cinteropToLibrary(targets, def2File, buildDir, includeFrameworkArgs + cinterop2ExtraArgs).assertSuccess().resultingArtifact val metadata2 = klib2.dumpMetadata(kotlinNativeClassLoader.classLoader, false, null) - - val expectedFiltered2Output = golden2File.readText() val actualFiltered2Output = filterContentsOutput(metadata2, " pod.Version|POD|class Pod") - assertEquals(StringUtilRt.convertLineSeparators(expectedFiltered2Output), StringUtilRt.convertLineSeparators(actualFiltered2Output)) + assertEqualsToFile(golden2File, actualFiltered2Output) val ktFile = testPathFull.resolve(DEFAULT_FILE_NAME) if (ktFile.exists()) { @@ -79,10 +74,13 @@ abstract class AbstractNativeCInteropKT39120Test : AbstractNativeCInteropBaseTes } } - private fun filterContentsOutput(contents: String, pattern: String) = - contents.split("\n").filter { - it.contains(Regex(pattern)) - }.joinToString(separator = "\n").replace("@ExperimentalForeignApi ", "") + private fun filterContentsOutput(contents: String, pattern: String): String { + val regex = Regex(pattern) + return contents.lineSequence() + .filter { it.contains(regex) } + .filterNot { it.trim() == "@kotlinx/cinterop/ExperimentalForeignApi" } + .joinToString("\n") + } private fun createTestCaseNoTestRun(module: TestModule.Exclusive, compilerArgs: TestCompilerArgs) = TestCase( id = TestCaseId.Named(module.name), diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropTest.kt index 37f8236a841..0c677f05918 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropTest.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropTest.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.konan.test.blackbox.support.util.getAbsoluteFile import org.jetbrains.kotlin.konan.test.blackbox.support.util.dumpMetadata import org.jetbrains.kotlin.konan.util.CInteropHints import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertEquals +import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertEqualsToFile import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertTrue import org.junit.jupiter.api.Assumptions import org.junit.jupiter.api.Tag @@ -104,18 +105,15 @@ abstract class AbstractNativeCInteropTest : AbstractNativeCInteropBaseTest() { "Test failed. CInterop compilation result was: $testCompilationResult" } } else { - val metadata = testCompilationResult.assertSuccess().resultingArtifact.dumpMetadata(kotlinNativeClassLoader.classLoader, false, null) - .let { - if (ignoreExperimentalForeignApi) { - it.replace("@ExperimentalForeignApi ", "") - } else { - it - } - } - val expectedContents = goldenFile.readText() - assertEquals(StringUtilRt.convertLineSeparators(expectedContents), StringUtilRt.convertLineSeparators(metadata)) { - "Test failed. CInterop compilation result was: $testCompilationResult" - } + val metadata = testCompilationResult.assertSuccess().resultingArtifact + .dumpMetadata(kotlinNativeClassLoader.classLoader, false, null) + + val filteredMetadata = if (ignoreExperimentalForeignApi) + metadata.lineSequence().filterNot { it.trim() == "@kotlinx/cinterop/ExperimentalForeignApi" }.joinToString("\n") + else + metadata + + assertEqualsToFile(goldenFile, filteredMetadata) } }