[FIR2IR] Rework actualization pipeline

There are a lot of restrictions between different parts of the pipeline.

1. Fake overrides can't be built before classes are actualized
2. Constants can't be evaluated before callables are actualized
3. Callables can't be actulaized before fake overrides are built
4. Checkers can't run before constants are evaluated

This commit reorders things to make all these restrictions happy.

^KT-63644
This commit is contained in:
Pavel Kunyavskiy
2023-11-23 15:44:35 +01:00
committed by Space Team
parent 9609ac6908
commit c485382e80
9 changed files with 144 additions and 366 deletions
@@ -5,7 +5,6 @@
// WITH_STDLIB
// !LANGUAGE: +MultiPlatformProjects
// IGNORE_CODEGEN_WITH_IR_FAKE_OVERRIDE_GENERATION: KT-62535
// TARGET_BACKEND: JVM
// MODULE: common
// TARGET_PLATFORM: Common
@@ -1,6 +1,5 @@
// WITH_STDLIB
// LANGUAGE: +MultiPlatformProjects
// IGNORE_CODEGEN_WITH_IR_FAKE_OVERRIDE_GENERATION: KT-62535
// MODULE: common
// TARGET_PLATFORM: Common
// FILE: common.kt
@@ -1,5 +1,4 @@
// WITH_STDLIB
// IGNORE_CODEGEN_WITH_IR_FAKE_OVERRIDE_GENERATION: KT-62535
// LANGUAGE: +MultiPlatformProjects
// MODULE: common