[K/N] Don't use reflection in irText tests for obtaining manglers
See KT-61248
This commit is contained in:
committed by
teamcity
parent
9eba17d631
commit
904f8706ee
@@ -14,6 +14,7 @@ dependencies {
|
|||||||
testImplementation(projectTests(":compiler:tests-common-new"))
|
testImplementation(projectTests(":compiler:tests-common-new"))
|
||||||
testImplementation(projectTests(":compiler:test-infrastructure"))
|
testImplementation(projectTests(":compiler:test-infrastructure"))
|
||||||
testImplementation(projectTests(":generators:test-generator"))
|
testImplementation(projectTests(":generators:test-generator"))
|
||||||
|
testImplementation(project(":compiler:ir.serialization.native"))
|
||||||
testImplementation(project(":native:kotlin-native-utils"))
|
testImplementation(project(":native:kotlin-native-utils"))
|
||||||
testImplementation(project(":native:executors"))
|
testImplementation(project(":native:executors"))
|
||||||
testImplementation(project(":kotlin-util-klib-abi"))
|
testImplementation(project(":kotlin-util-klib-abi"))
|
||||||
|
|||||||
+4
-7
@@ -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.extensions.IrPluginContextImpl
|
||||||
import org.jetbrains.kotlin.backend.common.linkage.issues.checkNoUnboundSymbols
|
import org.jetbrains.kotlin.backend.common.linkage.issues.checkNoUnboundSymbols
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.DescriptorByIdSignatureFinderImpl
|
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.config.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
|
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.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.linkage.IrDeserializer
|
import org.jetbrains.kotlin.ir.linkage.IrDeserializer
|
||||||
import org.jetbrains.kotlin.ir.linkage.partial.partialLinkageConfig
|
import org.jetbrains.kotlin.ir.linkage.partial.partialLinkageConfig
|
||||||
@@ -71,8 +72,7 @@ class ClassicFrontend2NativeIrConverter(
|
|||||||
Psi2IrConfiguration(ignoreErrors = false, configuration.partialLinkageConfig.isEnabled),
|
Psi2IrConfiguration(ignoreErrors = false, configuration.partialLinkageConfig.isEnabled),
|
||||||
configuration.irMessageLogger::checkNoUnboundSymbols
|
configuration.irMessageLogger::checkNoUnboundSymbols
|
||||||
)
|
)
|
||||||
val konanManglerDescClass = kotlinNativeClass("org.jetbrains.kotlin.backend.konan.serialization.KonanManglerDesc")
|
val manglerDesc = KonanManglerDesc
|
||||||
val manglerDesc = konanManglerDescClass.objectInstance as KotlinMangler.DescriptorMangler
|
|
||||||
val konanIdSignaturerClass = kotlinNativeClass("org.jetbrains.kotlin.backend.konan.serialization.KonanIdSignaturer")
|
val konanIdSignaturerClass = kotlinNativeClass("org.jetbrains.kotlin.backend.konan.serialization.KonanIdSignaturer")
|
||||||
val konanIdSignaturerConstructor = konanIdSignaturerClass.constructors.single()
|
val konanIdSignaturerConstructor = konanIdSignaturerClass.constructors.single()
|
||||||
val konanIdSignaturerClassInstance = konanIdSignaturerConstructor.call(manglerDesc) as IdSignatureComposer
|
val konanIdSignaturerClassInstance = konanIdSignaturerConstructor.call(manglerDesc) as IdSignatureComposer
|
||||||
@@ -125,16 +125,13 @@ class ClassicFrontend2NativeIrConverter(
|
|||||||
diagnosticReporter = configuration.irMessageLogger
|
diagnosticReporter = configuration.irMessageLogger
|
||||||
)
|
)
|
||||||
|
|
||||||
val konanManglerIrClassKotlin = kotlinNativeClass("org.jetbrains.kotlin.backend.konan.serialization.KonanManglerIr")
|
|
||||||
val konanIrMangler = konanManglerIrClassKotlin.objectInstance as KotlinMangler.IrMangler
|
|
||||||
|
|
||||||
return IrBackendInput.NativeBackendInput(
|
return IrBackendInput.NativeBackendInput(
|
||||||
moduleFragment,
|
moduleFragment,
|
||||||
dependentIrModuleFragments = emptyList(),
|
dependentIrModuleFragments = emptyList(),
|
||||||
pluginContext,
|
pluginContext,
|
||||||
diagnosticReporter = DiagnosticReporterFactory.createReporter(),
|
diagnosticReporter = DiagnosticReporterFactory.createReporter(),
|
||||||
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler,
|
descriptorMangler = (pluginContext.symbolTable as SymbolTable).signaturer.mangler,
|
||||||
irMangler = konanIrMangler,
|
irMangler = KonanManglerIr,
|
||||||
firMangler = null,
|
firMangler = null,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user