[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:
committed by
Space Team
parent
fcca73e900
commit
2b8b6a2b21
+3
-3
@@ -7,9 +7,9 @@ package org.jetbrains.kotlin.backend.jvm.serialization
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.linkage.partial.PartialLinkageSupportForLinker
|
||||
import org.jetbrains.kotlin.backend.common.overrides.DefaultFakeOverrideClassFilter
|
||||
import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideBuilder
|
||||
import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideDeclarationTable
|
||||
import org.jetbrains.kotlin.backend.common.overrides.FileLocalAwareLinker
|
||||
import org.jetbrains.kotlin.backend.common.overrides.IrLinkerFakeOverrideProvider
|
||||
import org.jetbrains.kotlin.backend.common.serialization.*
|
||||
import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData
|
||||
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureFactory
|
||||
@@ -149,8 +149,8 @@ fun makeSimpleFakeOverrideBuilder(
|
||||
symbolTable: SymbolTable,
|
||||
typeSystemContext: IrTypeSystemContext,
|
||||
symbolDeserializer: IrSymbolDeserializer
|
||||
): FakeOverrideBuilder {
|
||||
return FakeOverrideBuilder(
|
||||
): IrLinkerFakeOverrideProvider {
|
||||
return IrLinkerFakeOverrideProvider(
|
||||
object : FileLocalAwareLinker {
|
||||
override fun tryReferencingPropertyByLocalSignature(parent: IrDeclaration, idSignature: IdSignature): IrPropertySymbol =
|
||||
symbolDeserializer.referencePropertyByLocalSignature(idSignature)
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.ir.backend.jvm.serialization
|
||||
|
||||
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.backend.common.serialization.encodings.BinarySymbolData
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
@@ -44,7 +44,7 @@ class JvmIrLinker(
|
||||
private val enableIdSignatures: Boolean,
|
||||
) : KotlinIrLinker(currentModule, messageLogger, typeSystem.irBuiltIns, symbolTable, emptyList()) {
|
||||
|
||||
override val fakeOverrideBuilder = FakeOverrideBuilder(
|
||||
override val fakeOverrideBuilder = IrLinkerFakeOverrideProvider(
|
||||
linker = this,
|
||||
symbolTable = symbolTable,
|
||||
mangler = JvmIrMangler,
|
||||
|
||||
Reference in New Issue
Block a user