[IRFakeOverrides] Convert lazy callables overriddens during f/o building

Unfortunately, it's not enough to know direct overriddens
to correctly build fake overrides. This mean, that we need to know
whole overridden tree during the process of building.

It happens automatically for normal classes, but not for lazy classes,
as their overriddens are built separatly.

This commit enforces correct overrddens for lazy classes in hierarhies
at the point, where they should be normally computed.

^KT-65236
This commit is contained in:
Pavel Kunyavskiy
2024-01-30 09:50:51 +01:00
committed by Space Team
parent caa6918031
commit c0152ccf0f
17 changed files with 620 additions and 4 deletions
@@ -1,6 +1,11 @@
// NATIVE error: static cache is broken: ld.gold invocation reported errors. Please try to disable compiler caches and rerun the build.
// DONT_TARGET_EXACT_BACKEND: NATIVE
// IGNORE_BACKEND: JS_IR, JS_IR_ES6
// KT-65416
// IGNORE_BACKEND_K2: WASM
// MODULE: lib
// FILE: 2.kt
abstract class A {