Fir2Ir: add fake overrides binding for script top level classes
This commit is contained in:
committed by
Space Team
parent
9adf24950a
commit
7866c63e49
@@ -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)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND_K2: JVM_IR
|
||||
|
||||
package script.long.name.inside.packag
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND_K2: JVM_IR
|
||||
|
||||
enum class Build { Debug, Release }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user