From 1a377069dd860be18482d1d3c67302ac57cfbce5 Mon Sep 17 00:00:00 2001 From: Jiaxiang Chen Date: Tue, 24 Nov 2020 01:28:58 -0800 Subject: [PATCH] Allow AnalysisHandlerExtension to provide additional classpath on retry --- .../kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt | 4 ++++ .../src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt | 1 + 2 files changed, 5 insertions(+) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt index 862235a02f2..bf750a4a152 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt @@ -463,6 +463,10 @@ object KotlinToJVMBytecodeCompiler { environment.updateClasspath(result.additionalJavaRoots.map { JavaSourceRoot(it, null) }) } + if (result.additionalClassPathRoots.isNotEmpty()) { + environment.updateClasspath(result.additionalClassPathRoots.map { JvmClasspathRoot(it, false) }) + } + if (result.additionalKotlinRoots.isNotEmpty()) { environment.addKotlinSourceRoots(result.additionalKotlinRoots) } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt index 86c7ea1e61a..73717ca991f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt @@ -72,6 +72,7 @@ open class AnalysisResult protected constructor( moduleDescriptor: ModuleDescriptor, val additionalJavaRoots: List, val additionalKotlinRoots: List, + val additionalClassPathRoots: List = emptyList(), val addToEnvironment: Boolean = true ) : AnalysisResult(bindingContext, moduleDescriptor)