diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java index b0f7c7f1053..bb25ba7914c 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java @@ -51,6 +51,10 @@ public class CLIConfigurationKeys { public static final CompilerConfigurationKey REPEAT_COMPILE_MODULES = CompilerConfigurationKey.create("debug key for profiling, repeats compileModules"); + // used in FIR IDE uast tests + public static final CompilerConfigurationKey PATH_TO_KOTLIN_COMPILER_JAR = + CompilerConfigurationKey.create("jar of Kotlin compiler in Kotlin plugin"); + private CLIConfigurationKeys() { } } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index 3b300f41c49..7b839b52d3a 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -566,6 +566,7 @@ class KotlinCoreEnvironment private constructor( ?: PathUtil.getResourcePathForClass(this::class.java).takeIf { it.hasConfigFile(configFilePath) } // hack for load extensions when compiler run directly from project directory (e.g. in tests) ?: File("compiler/cli/cli-common/resources").takeIf { it.hasConfigFile(configFilePath) } + ?: configuration.get(CLIConfigurationKeys.PATH_TO_KOTLIN_COMPILER_JAR)?.takeIf { it.hasConfigFile(configFilePath) } ?: throw IllegalStateException( "Unable to find extension point configuration $configFilePath " + "(cp:\n ${(Thread.currentThread().contextClassLoader as? UrlClassLoader)?.urls?.joinToString("\n ") { it.file }})"