diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index 67cd45f0952..fa7d78af042 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -213,13 +213,21 @@ class Fir2IrVisitor( } conversionScope.withParent(irScript) { for (statement in script.statements) { - if (statement is FirDeclaration) { - val irDeclaration = statement.accept(this@Fir2IrVisitor, null) as IrDeclaration - irScript.statements.add(irDeclaration) + val irStatement = if (statement is FirDeclaration) { + when { + statement is FirClass -> { + (statement.accept(this@Fir2IrVisitor, null) as IrClass).also { + converter.bindFakeOverridesInClass(it) + } + } + else -> { + statement.accept(this@Fir2IrVisitor, null) as? IrDeclaration + } + } } else { - val irStatement = statement.toIrStatement()!! - irScript.statements.add(irStatement) + statement.toIrStatement() } + irScript.statements.add(irStatement!!) } } declarationStorage.leaveScope(irScript) diff --git a/compiler/testData/codegen/script/classLiteralInsideFunction.kts b/compiler/testData/codegen/script/classLiteralInsideFunction.kts index 48c5a086d7d..33c01699e6b 100644 --- a/compiler/testData/codegen/script/classLiteralInsideFunction.kts +++ b/compiler/testData/codegen/script/classLiteralInsideFunction.kts @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_K2: JVM_IR package script.long.name.inside.packag diff --git a/compiler/testData/codegen/script/kt20707.kts b/compiler/testData/codegen/script/kt20707.kts index 189609df4d3..619090f4849 100644 --- a/compiler/testData/codegen/script/kt20707.kts +++ b/compiler/testData/codegen/script/kt20707.kts @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_K2: JVM_IR enum class Build { Debug, Release }