[IR] Use common expect/actual matching algorithm in IR actualizer
^KT-58578 Fixed
This commit is contained in:
committed by
Space Team
parent
62534f43c9
commit
ba41e8ec38
+10
-1
@@ -6,8 +6,11 @@
|
||||
package org.jetbrains.kotlin.test.backend.ir
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.actualizer.IrActualizer
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmIrTypeSystemContext
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||
import org.jetbrains.kotlin.ir.types.IrTypeSystemContextImpl
|
||||
import org.jetbrains.kotlin.platform.jvm.isJvm
|
||||
import org.jetbrains.kotlin.test.model.*
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.compilerConfigurationProvider
|
||||
@@ -17,10 +20,16 @@ class ActualizerOnlyFacade(
|
||||
) : AbstractTestFacade<IrBackendInput, IrBackendInput>() {
|
||||
override fun transform(module: TestModule, inputArtifact: IrBackendInput): IrBackendInput {
|
||||
if (module.useIrActualizer()) {
|
||||
val builtins = inputArtifact.irModuleFragment.irBuiltins
|
||||
val typeSystemContext = when (module.targetPlatform.isJvm()) {
|
||||
true -> JvmIrTypeSystemContext(builtins)
|
||||
false -> IrTypeSystemContextImpl(builtins)
|
||||
}
|
||||
IrActualizer.actualize(
|
||||
inputArtifact.irModuleFragment,
|
||||
inputArtifact.dependentIrModuleFragments,
|
||||
inputArtifact.diagnosticReporter,
|
||||
typeSystemContext,
|
||||
testServices.compilerConfigurationProvider.getCompilerConfiguration(module).languageVersionSettings
|
||||
)
|
||||
}
|
||||
@@ -35,4 +44,4 @@ class ActualizerOnlyFacade(
|
||||
override val outputKind: TestArtifactKind<IrBackendInput> = BackendKinds.IrBackend
|
||||
|
||||
override fun shouldRunAnalysis(module: TestModule): Boolean = true
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -8,12 +8,14 @@ package org.jetbrains.kotlin.test.backend.ir
|
||||
import org.jetbrains.kotlin.KtPsiSourceFile
|
||||
import org.jetbrains.kotlin.backend.common.BackendException
|
||||
import org.jetbrains.kotlin.backend.common.actualizer.IrActualizer
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmIrTypeSystemContext
|
||||
import org.jetbrains.kotlin.backend.jvm.MultifileFacadeFileEntry
|
||||
import org.jetbrains.kotlin.backend.jvm.lower.getFileClassInfoFromIrFile
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||
import org.jetbrains.kotlin.ir.PsiIrFileEntry
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
||||
import org.jetbrains.kotlin.ir.types.IrTypeSystemContextImpl
|
||||
import org.jetbrains.kotlin.ir.util.NaiveSourceBasedFileEntryImpl
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.backend.classic.JavaCompilerFacade
|
||||
@@ -40,6 +42,7 @@ class JvmIrBackendFacade(
|
||||
inputArtifact.irModuleFragment,
|
||||
inputArtifact.dependentIrModuleFragments,
|
||||
inputArtifact.state.diagnosticReporter,
|
||||
JvmIrTypeSystemContext(inputArtifact.irModuleFragment.irBuiltins),
|
||||
inputArtifact.state.languageVersionSettings
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user