From 4133749ee73699cec89c527d1ee2cac44f534b34 Mon Sep 17 00:00:00 2001 From: "simon.ogorodnik" Date: Mon, 27 Apr 2020 17:51:08 +0300 Subject: [PATCH] [FIR2IR] Fix property fake overrides --- .../fir/backend/generators/FakeOverrideGenerator.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt index fecaf40aeaf..03c31d2c332 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt @@ -14,10 +14,8 @@ import org.jetbrains.kotlin.fir.resolve.buildUseSiteMemberScope import org.jetbrains.kotlin.fir.scopes.impl.FirClassSubstitutionScope import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol -import org.jetbrains.kotlin.ir.declarations.IrClass -import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin -import org.jetbrains.kotlin.ir.declarations.IrProperty -import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction +import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.ir.types.IrErrorType import org.jetbrains.kotlin.ir.types.IrSimpleType @@ -47,8 +45,9 @@ internal class FakeOverrideGenerator( property: FirProperty, firOverriddenSymbol: FirPropertySymbol ): IrProperty { - val firOverriddenProperty = firOverriddenSymbol.fir - val overriddenProperty = declarationStorage.getCachedIrProperty(firOverriddenProperty)!! + + val irSymbol = declarationStorage.getIrPropertyOrFieldSymbol(firOverriddenSymbol) as? IrPropertySymbol ?: return this + val overriddenProperty = irSymbol.owner getter?.apply { overriddenProperty.getter?.symbol?.let { overriddenSymbols = listOf(it) } }