[IR Actualizer] Set overridden symbols for property accessors

This commit is contained in:
Dmitriy Novozhilov
2023-10-12 16:25:55 +03:00
committed by Space Team
parent 8ccbbedbd5
commit 3f89f03b54
2 changed files with 5 additions and 3 deletions
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.overrides.IrOverrideChecker
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.ir.types.IrTypeSystemContext
import org.jetbrains.kotlin.ir.types.classifierOrFail
@@ -102,6 +103,10 @@ internal class ActualFakeOverridesAdder(
if (override != null) {
override.overriddenSymbols += symbolFromSupertype
if (override is IrProperty && symbolFromSupertype is IrPropertySymbol) {
override.getter?.let { getter -> symbolFromSupertype.owner.getter?.symbol?.let { getter.overriddenSymbols += it } }
override.setter?.let { setter -> symbolFromSupertype.owner.setter?.symbol?.let { setter.overriddenSymbols += it } }
}
continue
}
}
@@ -1,10 +1,7 @@
// IGNORE_BACKEND_K1: JS, JS_IR, JS_IR_ES6, NATIVE, WASM
// WITH_STDLIB
// !LANGUAGE: +MultiPlatformProjects
// IGNORE_BACKEND_K2: JVM_IR
// REASON: K2 incorrectly generates IR for S1.p f/o
// IGNORE_CODEGEN_WITH_IR_FAKE_OVERRIDE_GENERATION: KT-62535
// MODULE: common
// TARGET_PLATFORM: Common
// FILE: common.kt