JVM IR: do not depend on StubGeneratorExtensions in backend

Move most of the implementation from JvmGeneratorExtensions to
JvmGeneratorExtensionsImpl. The latter implements
StubGeneratorExtensions from psi2ir, and doing so helps to remove direct
dependency on this part of psi2ir from backend.
This commit is contained in:
Alexander Udalov
2021-02-22 10:49:26 +01:00
parent 22d269a0a8
commit 1f8de46b3c
13 changed files with 65 additions and 48 deletions
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.ir
import org.jetbrains.kotlin.analyzer.AnalysisResult
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor
import org.jetbrains.kotlin.backend.jvm.JvmGeneratorExtensions
import org.jetbrains.kotlin.backend.jvm.JvmGeneratorExtensionsImpl
import org.jetbrains.kotlin.backend.jvm.serialization.JvmIdSignatureDescriptor
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
@@ -141,7 +141,7 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
): IrModuleFragment {
return generateIrModule(
JvmResolveUtil.analyze(ktFilesToAnalyze, environment), psi2ir, ktFilesToAnalyze,
JvmGeneratorExtensions(generateFacades = false),
JvmGeneratorExtensionsImpl(generateFacades = false),
createIdSignatureComposer = { bindingContext ->
JvmIdSignatureDescriptor(JvmManglerDesc(MainFunctionDetector(bindingContext, languageVersionSettings)))
}