diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt index 87904533dde..ae77cb639be 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt @@ -104,31 +104,18 @@ class JavaClassUseSiteMemberScope( } private fun FirVariableSymbol<*>.createOverridePropertyIfExists(scope: FirScope): FirPropertySymbol? { - if (this !is FirPropertySymbol || !doesClassOverridesProperty(this, scope)) return null - - val getterSymbol = this.findGetterOverride(scope)!! + if (this !is FirPropertySymbol) return null + val getterSymbol = this.findGetterOverride(scope) ?: return null val setterSymbol = if (this.fir.isVar) - this.findSetterOverride(scope)!! + this.findSetterOverride(scope) ?: return null else null + if (setterSymbol != null && setterSymbol.fir.modality != getterSymbol.fir.modality) return null return generateAccessorSymbol(getterSymbol, setterSymbol, fir.name) } - private fun doesClassOverridesProperty( - propertySymbolFromSupertype: FirPropertySymbol, - scope: FirScope, - ): Boolean { - val getter = propertySymbolFromSupertype.findGetterOverride(scope) - val setter = propertySymbolFromSupertype.findSetterOverride(scope) - - if (getter == null) return false - if (!propertySymbolFromSupertype.fir.isVar) return true - - return setter != null && setter.fir.modality == getter.fir.modality - } - private fun FirPropertySymbol.findGetterOverride( scope: FirScope, ): FirNamedFunctionSymbol? {