From a80e1e2d09fa296be3c05d48eca917d2f9c4cc55 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 4 Oct 2023 23:59:19 +0200 Subject: [PATCH] IR: minor refactoring in FakeOverrideRebuilder Extract the common logic of remapping fake overrides into a function. Also, slightly change behavior of the check to be stricter: now it's using `as S?` instead of `as? S`, which means that if the remapped symbol is present in `fakeOverridesMap`, then it must be of the same type. --- .../actualizer/FakeOverrideRebuilder.kt | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt index 04f48177273..e671ff709b2 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt @@ -14,8 +14,6 @@ import org.jetbrains.kotlin.ir.expressions.IrLocalDelegatedPropertyReference import org.jetbrains.kotlin.ir.expressions.IrPropertyReference import org.jetbrains.kotlin.ir.overrides.IrFakeOverrideBuilder import org.jetbrains.kotlin.ir.symbols.IrClassSymbol -import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol -import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.types.getClass import org.jetbrains.kotlin.ir.util.* @@ -206,39 +204,38 @@ private class RemapFakeOverridesVisitor(val fakeOverridesMap: Map S.remap(): S = + fakeOverridesMap[this] as S? ?: this +}