[FIR2IR] Properly extract accessor symbols in FakeOverrideGenerator
^KT-64432 Fixed
This commit is contained in:
committed by
Space Team
parent
6dd0992288
commit
a11705186f
+2
-4
@@ -555,7 +555,6 @@ class FakeOverrideGenerator(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(UnsafeDuringIrConstructionAPI::class)
|
|
||||||
private fun IrProperty.setOverriddenSymbolsForProperty(
|
private fun IrProperty.setOverriddenSymbolsForProperty(
|
||||||
declarationStorage: Fir2IrDeclarationStorage,
|
declarationStorage: Fir2IrDeclarationStorage,
|
||||||
isVar: Boolean,
|
isVar: Boolean,
|
||||||
@@ -564,14 +563,13 @@ class FakeOverrideGenerator(
|
|||||||
val overriddenIrSymbols = getOverriddenSymbolsInSupertypes(this, firOverriddenSymbols) {
|
val overriddenIrSymbols = getOverriddenSymbolsInSupertypes(this, firOverriddenSymbols) {
|
||||||
declarationStorage.getIrPropertySymbol(it) as IrPropertySymbol
|
declarationStorage.getIrPropertySymbol(it) as IrPropertySymbol
|
||||||
}
|
}
|
||||||
val overriddenIrProperties = overriddenIrSymbols.map { it.owner }
|
|
||||||
|
|
||||||
getter?.apply {
|
getter?.apply {
|
||||||
overriddenSymbols = overriddenIrProperties.mapNotNull { it.getter?.symbol }
|
overriddenSymbols = overriddenIrSymbols.mapNotNull { declarationStorage.findGetterOfProperty(it) }
|
||||||
}
|
}
|
||||||
if (isVar) {
|
if (isVar) {
|
||||||
setter?.apply {
|
setter?.apply {
|
||||||
overriddenSymbols = overriddenIrProperties.mapNotNull { it.setter?.symbol }
|
overriddenSymbols = overriddenIrSymbols.mapNotNull { declarationStorage.findSetterOfProperty(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
overriddenSymbols = overriddenIrSymbols
|
overriddenSymbols = overriddenIrSymbols
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_CODEGEN_WITH_IR_FAKE_OVERRIDE_GENERATION: KT-64432
|
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-57300, KT-63857
|
// JVM_ABI_K1_K2_DIFF: KT-57300, KT-63857
|
||||||
|
|
||||||
// FILE: A.java
|
// FILE: A.java
|
||||||
|
|||||||
Reference in New Issue
Block a user