From 4adb367a25ff4235ce1623519307bd4444dfa503 Mon Sep 17 00:00:00 2001 From: Sergey Bogolepov Date: Tue, 6 Dec 2022 14:44:58 +0200 Subject: [PATCH] [K/N] Fix logging in NativeGenerationState context --- .../kotlin/backend/konan/NativeGenerationState.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/NativeGenerationState.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/NativeGenerationState.kt index 322c098d49c..d69102cfa28 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/NativeGenerationState.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/NativeGenerationState.kt @@ -8,11 +8,7 @@ package org.jetbrains.kotlin.backend.konan import llvm.* import org.jetbrains.kotlin.backend.konan.driver.BasicPhaseContext import org.jetbrains.kotlin.backend.konan.llvm.* -import org.jetbrains.kotlin.backend.konan.llvm.DebugInfo -import org.jetbrains.kotlin.backend.konan.llvm.Llvm -import org.jetbrains.kotlin.backend.konan.llvm.LlvmDeclarations import org.jetbrains.kotlin.backend.konan.llvm.coverage.CoverageManager -import org.jetbrains.kotlin.backend.konan.llvm.verifyModule import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExport import org.jetbrains.kotlin.backend.konan.serialization.SerializedClassFields import org.jetbrains.kotlin.backend.konan.serialization.SerializedInlineFunctionReference @@ -128,6 +124,16 @@ internal class NativeGenerationState( } private var isDisposed = false + + // A little hack to make logging work when executing this phase in its parent context. + // TODO: A better solution would be a separate logger object or something like that. + // PhaseContext should not be responsible for logging. + override var inVerbosePhase: Boolean + get() = context.inVerbosePhase + set(value) { + context.inVerbosePhase = value + } + override fun dispose() { if (isDisposed) return