[TEST] Add ability to register compiler extensions in EnvironmentConfigurator

This commit is contained in:
Dmitriy Novozhilov
2021-03-18 13:56:03 +03:00
parent 875ef73371
commit 34f8c7a68b
2 changed files with 5 additions and 0 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.test.services
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.config.AnalysisFlag
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.CompilerConfigurationKey
@@ -38,6 +39,8 @@ abstract class EnvironmentConfigurator(protected val testServices: TestServices)
open fun provideAdditionalAnalysisFlags(directives: RegisteredDirectives): Map<AnalysisFlag<*>, Any?> {
return emptyMap()
}
open fun registerCompilerExtensions(project: Project) {}
}
class DirectiveToConfigurationKeyExtractor {
@@ -84,6 +84,8 @@ open class CompilerConfigurationProviderImpl(
CompilerConfiguration()
)
val projectEnv = KotlinCoreEnvironment.ProjectEnvironment(testRootDisposable, applicationEnvironment)
val project = projectEnv.project
configurators.forEach { it.registerCompilerExtensions(project) }
return KotlinCoreEnvironment.createForTests(
projectEnv,
createCompilerConfiguration(module),