From 9e0c44a323d57153f9f1244fb92df94fcb25f12b Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Wed, 18 Apr 2018 18:24:41 +0300 Subject: [PATCH] Fixed bug in vTable building + test --- .../org/jetbrains/kotlin/backend/konan/Context.kt | 2 +- .../konan/descriptors/ClassVtablesBuilder.kt | 2 ++ backend.native/tests/build.gradle | 6 ++++++ .../tests/codegen/bridges/linkTest2_lib.kt | 15 +++++++++++++++ .../tests/codegen/bridges/linkTest2_main.kt | 4 ++++ 5 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 backend.native/tests/codegen/bridges/linkTest2_lib.kt create mode 100644 backend.native/tests/codegen/bridges/linkTest2_main.kt diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt index 03f08b8b102..9e05157a518 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt @@ -89,7 +89,7 @@ internal class SpecialDeclarationsFactory(val context: Context) { val irFunction = overriddenFunctionDescriptor.descriptor val descriptor = irFunction.descriptor assert(overriddenFunctionDescriptor.needBridge, - { "Function $descriptor is not needed in a bridge to call overridden function ${overriddenFunctionDescriptor.overriddenDescriptor}" }) + { "Function $descriptor is not needed in a bridge to call overridden function ${overriddenFunctionDescriptor.overriddenDescriptor.descriptor}" }) val bridgeDirections = overriddenFunctionDescriptor.bridgeDirections return bridgesDescriptors.getOrPut(irFunction to bridgeDirections) { val newDescriptor = SimpleFunctionDescriptorImpl.create( diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt index c33ed70fa0e..9094607dd5e 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt @@ -186,4 +186,6 @@ private val IrClass.sortedOverridableOrOverridingMethods: List) { + val test: TagBoolean = TagBoolean.True + println(test.value()) +}