diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt index c00e2df7f8c..79777645270 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt @@ -82,7 +82,7 @@ private val validateIrAfterLowering = makeCustomPhase( ) private val validateJvmIrAfterLowering = makeCustomPhase( - { _, module -> validateJvmIr(module) }, + { context, module -> validateJvmIr(context, module) }, name = "ValidateJvmIrAfterLowering", description = "Validate that IR after lowering is correctly structured by Kotlin JVM rules" ) diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt index 1af8ca61521..20218950907 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt @@ -27,7 +27,9 @@ private fun checkAllFileLevelDeclarationsAreClasses(module: IrModuleFragment) { }) } -fun validateJvmIr(module: IrModuleFragment) { +fun validateJvmIr(context: JvmBackendContext, module: IrModuleFragment) { + if (!context.config.shouldValidateIr) return + checkAllFileLevelDeclarationsAreClasses(module) val validator = object : IrElementVisitorVoid { override fun visitElement(element: IrElement) {