[IR] Partial linkage fix: Implement abstract fake overrides in non-abstract classes so that there are no call sites that still refer to abstract fake overrides

^KT-53663
This commit is contained in:
Dmitriy Dolovov
2022-08-31 12:10:00 +02:00
parent cb20998d93
commit 71d51801ce
12 changed files with 177 additions and 201 deletions
@@ -39,7 +39,14 @@ class JsIrLinker(
symbol
}) {
override val fakeOverrideBuilder = FakeOverrideBuilder(this, symbolTable, JsManglerIr, IrTypeSystemContextImpl(builtIns), friendModules)
override val fakeOverrideBuilder = FakeOverrideBuilder(
linker = this,
symbolTable = symbolTable,
mangler = JsManglerIr,
typeSystem = IrTypeSystemContextImpl(builtIns),
friendModules = friendModules,
partialLinkageEnabled = partialLinkageSupport.partialLinkageEnabled
)
override fun isBuiltInModule(moduleDescriptor: ModuleDescriptor): Boolean =
moduleDescriptor === moduleDescriptor.builtIns.builtInsModule