From 904f8706eecadeebf6996e0852774e2a52b1f100 Mon Sep 17 00:00:00 2001 From: Sergej Jaskiewicz Date: Tue, 5 Sep 2023 18:39:23 +0200 Subject: [PATCH] [K/N] Don't use reflection in irText tests for obtaining manglers See KT-61248 --- native/native.tests/build.gradle.kts | 1 + .../kotlin/konan/ClassicFrontend2NativeIrConverter.kt | 11 ++++------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/native/native.tests/build.gradle.kts b/native/native.tests/build.gradle.kts index 9d572cae7a8..5a5b2bc35c7 100644 --- a/native/native.tests/build.gradle.kts +++ b/native/native.tests/build.gradle.kts @@ -14,6 +14,7 @@ dependencies { testImplementation(projectTests(":compiler:tests-common-new")) testImplementation(projectTests(":compiler:test-infrastructure")) testImplementation(projectTests(":generators:test-generator")) + testImplementation(project(":compiler:ir.serialization.native")) testImplementation(project(":native:kotlin-native-utils")) testImplementation(project(":native:executors")) testImplementation(project(":kotlin-util-klib-abi")) diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/ClassicFrontend2NativeIrConverter.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/ClassicFrontend2NativeIrConverter.kt index e0446cdc807..010901491e6 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/ClassicFrontend2NativeIrConverter.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/ClassicFrontend2NativeIrConverter.kt @@ -9,9 +9,10 @@ import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension import org.jetbrains.kotlin.backend.common.extensions.IrPluginContextImpl import org.jetbrains.kotlin.backend.common.linkage.issues.checkNoUnboundSymbols import org.jetbrains.kotlin.backend.common.serialization.DescriptorByIdSignatureFinderImpl +import org.jetbrains.kotlin.backend.konan.serialization.KonanManglerDesc +import org.jetbrains.kotlin.backend.konan.serialization.KonanManglerIr import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory -import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl import org.jetbrains.kotlin.ir.linkage.IrDeserializer import org.jetbrains.kotlin.ir.linkage.partial.partialLinkageConfig @@ -71,8 +72,7 @@ class ClassicFrontend2NativeIrConverter( Psi2IrConfiguration(ignoreErrors = false, configuration.partialLinkageConfig.isEnabled), configuration.irMessageLogger::checkNoUnboundSymbols ) - val konanManglerDescClass = kotlinNativeClass("org.jetbrains.kotlin.backend.konan.serialization.KonanManglerDesc") - val manglerDesc = konanManglerDescClass.objectInstance as KotlinMangler.DescriptorMangler + val manglerDesc = KonanManglerDesc val konanIdSignaturerClass = kotlinNativeClass("org.jetbrains.kotlin.backend.konan.serialization.KonanIdSignaturer") val konanIdSignaturerConstructor = konanIdSignaturerClass.constructors.single() val konanIdSignaturerClassInstance = konanIdSignaturerConstructor.call(manglerDesc) as IdSignatureComposer @@ -125,16 +125,13 @@ class ClassicFrontend2NativeIrConverter( diagnosticReporter = configuration.irMessageLogger ) - val konanManglerIrClassKotlin = kotlinNativeClass("org.jetbrains.kotlin.backend.konan.serialization.KonanManglerIr") - val konanIrMangler = konanManglerIrClassKotlin.objectInstance as KotlinMangler.IrMangler - return IrBackendInput.NativeBackendInput( moduleFragment, dependentIrModuleFragments = emptyList(), pluginContext, diagnosticReporter = DiagnosticReporterFactory.createReporter(), descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler, - irMangler = konanIrMangler, + irMangler = KonanManglerIr, firMangler = null, ) }