[FIR] Fix compiler configuration for modularized test

This commit is contained in:
simon.ogorodnik
2020-01-27 19:52:03 +03:00
parent f7dfbbbfbd
commit 099d737e86
3 changed files with 19 additions and 20 deletions
@@ -5,7 +5,13 @@
package org.jetbrains.kotlin.fir
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot
import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoots
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase
import org.jetbrains.kotlin.types.AbstractTypeChecker
import org.w3c.dom.Node
@@ -70,6 +76,17 @@ abstract class AbstractModularizedTest : KtUsefulTestCase() {
AbstractTypeChecker.RUN_SLOW_ASSERTIONS = true
}
fun createDefaultConfiguration(moduleData: ModuleData): CompilerConfiguration {
val configuration = KotlinTestUtils.newConfiguration()
configuration.addJavaSourceRoots(moduleData.javaSourceRoots)
configuration.addJvmClasspathRoots(moduleData.classpath)
configuration.addAll(
CLIConfigurationKeys.CONTENT_ROOTS,
moduleData.sources.filter { it.extension == "kt" }.map { KotlinSourceRoot(it.absolutePath, false) })
return configuration
}
private fun loadModule(file: File): ModuleData {
val factory = DocumentBuilderFactory.newInstance()
@@ -11,8 +11,6 @@ import com.intellij.psi.PsiElementFinder
import com.intellij.psi.search.GlobalSearchScope
import com.intellij.psi.search.ProjectScope
import org.jetbrains.kotlin.asJava.finder.JavaElementFinder
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys.CONTENT_ROOTS
import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM
@@ -108,18 +106,10 @@ class FirResolveModularizedTotalKotlinTest : AbstractModularizedTest() {
}
override fun processModule(moduleData: ModuleData): ProcessorAction {
val configurationKind = ConfigurationKind.ALL
val testJdkKind = TestJdkKind.FULL_JDK
val disposable = Disposer.newDisposable()
val configuration =
KotlinTestUtils.newConfiguration(configurationKind, testJdkKind, moduleData.classpath, moduleData.javaSourceRoots)
configuration.addAll(
CONTENT_ROOTS,
moduleData.sources.filter { it.extension == "kt" }.map { KotlinSourceRoot(it.absolutePath, false) })
val configuration = createDefaultConfiguration(moduleData)
val environment = KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
Extensions.getArea(environment.project)
@@ -64,18 +64,10 @@ class NonFirResolveModularizedTotalKotlinTest : AbstractModularizedTest() {
}
override fun processModule(moduleData: ModuleData): ProcessorAction {
val configurationKind = ConfigurationKind.ALL
val testJdkKind = TestJdkKind.FULL_JDK
val disposable = Disposer.newDisposable()
val configuration =
KotlinTestUtils.newConfiguration(configurationKind, testJdkKind, moduleData.classpath, moduleData.javaSourceRoots)
configuration.addAll(
CONTENT_ROOTS,
moduleData.sources.filter { it.extension == "kt" }.map { KotlinSourceRoot(it.absolutePath, false) })
val configuration = createDefaultConfiguration(moduleData)
if (USE_NI) {
configuration.languageVersionSettings =