From 7f32f43a48ea21242a205674fdc70119f72b806f Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Thu, 17 Oct 2019 11:17:51 +0300 Subject: [PATCH] Pass isIR flag from KotlinToJVMBytecodeCompiler to GenerationState --- .../jetbrains/kotlin/codegen/state/GenerationState.kt | 10 +++++++--- .../cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt index 86a5c808a40..4a5cb5274dd 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt @@ -64,7 +64,8 @@ class GenerationState private constructor( val outDirectory: File?, private val onIndependentPartCompilationEnd: GenerationStateEventCallback, wantsDiagnostics: Boolean, - val jvmBackendClassResolver: JvmBackendClassResolver + val jvmBackendClassResolver: JvmBackendClassResolver, + val isIrBackend: Boolean ) { class Builder( @@ -111,12 +112,16 @@ class GenerationState private constructor( fun jvmBackendClassResolver(v: JvmBackendClassResolver) = apply { jvmBackendClassResolver = v } + var isIrBackend: Boolean = configuration.getBoolean(JVMConfigurationKeys.IR) + fun isIrBackend(v: Boolean) = + apply { isIrBackend = v } + fun build() = GenerationState( project, builderFactory, module, bindingContext, files, configuration, generateDeclaredClassFilter, codegenFactory, targetId, moduleName, outDirectory, onIndependentPartCompilationEnd, wantsDiagnostics, - jvmBackendClassResolver + jvmBackendClassResolver, isIrBackend ) } @@ -196,7 +201,6 @@ class GenerationState private constructor( ) val bindingContext: BindingContext = bindingTrace.bindingContext val mainFunctionDetector = MainFunctionDetector(bindingContext, languageVersionSettings) - val isIrBackend = configuration.get(JVMConfigurationKeys.IR) ?: false val typeMapper: KotlinTypeMapper = KotlinTypeMapper( this.bindingContext, classBuilderMode, 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 a6efae7e2a6..6f67be6229e 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 @@ -353,6 +353,8 @@ object KotlinToJVMBytecodeCompiler { module ).onIndependentPartCompilationEnd( createOutputFilesFlushingCallbackIfPossible(moduleConfiguration) + ).isIrBackend( + true ).build() ProgressIndicatorAndCompilationCanceledStatus.checkCanceled() @@ -623,6 +625,7 @@ object KotlinToJVMBytecodeCompiler { ) .withModule(module) .onIndependentPartCompilationEnd(createOutputFilesFlushingCallbackIfPossible(configuration)) + .isIrBackend(isIR) .build() ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()