FIR checker: refactor VAL_REASSIGNMENT checker
This commit is contained in:
committed by
TeamCityServer
parent
338503a4ae
commit
2486555208
+1
-1
@@ -52,7 +52,7 @@ object CommonExpressionCheckers : ExpressionCheckers() {
|
||||
|
||||
override val variableAssignmentCheckers: Set<FirVariableAssignmentChecker>
|
||||
get() = setOf(
|
||||
FirValReassignmentViaBackingFieldChecker,
|
||||
FirValReassignmentChecker,
|
||||
FirAssignmentTypeMismatchChecker
|
||||
)
|
||||
|
||||
|
||||
+9
-1
@@ -16,8 +16,16 @@ import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
|
||||
|
||||
object FirValReassignmentViaBackingFieldChecker : FirVariableAssignmentChecker() {
|
||||
object FirValReassignmentChecker : FirVariableAssignmentChecker() {
|
||||
override fun check(expression: FirVariableAssignment, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
checkValReassignmentViaBackingField(expression, context, reporter)
|
||||
}
|
||||
|
||||
private fun checkValReassignmentViaBackingField(
|
||||
expression: FirVariableAssignment,
|
||||
context: CheckerContext,
|
||||
reporter: DiagnosticReporter
|
||||
) {
|
||||
val backingFieldReference = expression.lValue as? FirBackingFieldReference ?: return
|
||||
val property = backingFieldReference.resolvedSymbol.fir
|
||||
if (property.isVar) return
|
||||
Reference in New Issue
Block a user