[IR] Split FakeOverrideBuilder to two parts

Now there is separate class encapsulating logic about how to build
fakeOverrides and one encapsulating logic of which classes
do need building fake overrides.

This also allows to untie strange inheritance dependencies.

^KT-61934
This commit is contained in:
Pavel Kunyavskiy
2023-09-14 14:14:31 +02:00
committed by Space Team
parent fcca73e900
commit 2b8b6a2b21
13 changed files with 99 additions and 82 deletions
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir
import org.jetbrains.kotlin.backend.common.linkage.partial.PartialLinkageSupportForLinker
import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideBuilder
import org.jetbrains.kotlin.backend.common.overrides.IrLinkerFakeOverrideProvider
import org.jetbrains.kotlin.backend.common.serialization.*
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.IrBuiltIns
@@ -39,7 +39,7 @@ class JsIrLinker(
symbol
}) {
override val fakeOverrideBuilder = FakeOverrideBuilder(
override val fakeOverrideBuilder = IrLinkerFakeOverrideProvider(
linker = this,
symbolTable = symbolTable,
mangler = JsManglerIr,