KAPT+IR: Don't clear binding context if KAPT is used
This commit is contained in:
+4
-1
@@ -203,7 +203,10 @@ open class JvmIrCodegenFactory(
|
||||
// We need to compile all files we reference in Klibs
|
||||
irModuleFragment.files.addAll(dependencies.flatMap { it.files })
|
||||
|
||||
if (!input.configuration.getBoolean(JVMConfigurationKeys.DO_NOT_CLEAR_BINDING_CONTEXT)) {
|
||||
if (!input.configuration.getBoolean(JVMConfigurationKeys.DO_NOT_CLEAR_BINDING_CONTEXT) && !input.configuration.getBoolean(
|
||||
JVMConfigurationKeys.USE_KAPT_WITH_JVM_IR
|
||||
)
|
||||
) {
|
||||
val originalBindingContext = input.bindingContext as? CleanableBindingContext
|
||||
?: error("BindingContext should be cleanable in JVM IR to avoid leaking memory: ${input.bindingContext}")
|
||||
originalBindingContext.clear()
|
||||
|
||||
-10
@@ -11,18 +11,8 @@ import org.jetbrains.kotlin.test.TargetBackend
|
||||
|
||||
open class AbstractIrClassFileToSourceStubConverterTest : AbstractClassFileToSourceStubConverterTest() {
|
||||
override val backend = TargetBackend.JVM_IR
|
||||
|
||||
override fun updateConfiguration(configuration: CompilerConfiguration) {
|
||||
configuration.put(JVMConfigurationKeys.DO_NOT_CLEAR_BINDING_CONTEXT, true)
|
||||
super.updateConfiguration(configuration)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractIrKotlinKaptContextTest : AbstractKotlinKaptContextTest() {
|
||||
override val backend = TargetBackend.JVM_IR
|
||||
|
||||
override fun updateConfiguration(configuration: CompilerConfiguration) {
|
||||
configuration.put(JVMConfigurationKeys.DO_NOT_CLEAR_BINDING_CONTEXT, true)
|
||||
super.updateConfiguration(configuration)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user