K2: consider backing fields of vars as smartcast unstable

#KT-61974 Fixed
This commit is contained in:
Mikhail Glukhikh
2023-09-28 11:42:53 +02:00
committed by Space Team
parent 8e577e101e
commit 8bd792792f
3 changed files with 6 additions and 7 deletions
@@ -161,9 +161,8 @@ class VariableStorageImpl(private val session: FirSession) : VariableStorage() {
if (originalFir is FirThisReceiverExpression) return PropertyStability.STABLE_VALUE
when (this) {
is FirAnonymousObjectSymbol -> return null
is FirFunctionSymbol<*>,
is FirClassSymbol<*>,
is FirBackingFieldSymbol -> return PropertyStability.STABLE_VALUE
is FirFunctionSymbol<*>, is FirClassSymbol<*> -> return PropertyStability.STABLE_VALUE
is FirBackingFieldSymbol -> return if (isVal) PropertyStability.STABLE_VALUE else PropertyStability.MUTABLE_PROPERTY
}
if (this !is FirVariableSymbol<*>) return null
if (this is FirFieldSymbol && !this.isFinal) return PropertyStability.MUTABLE_PROPERTY