Reuse equality constraints during simplification in adding constraints

This commit is contained in:
Victor Petukhov
2020-11-19 11:28:26 +03:00
parent aabe709079
commit 616e40f879
@@ -63,14 +63,16 @@ class MutableVariableWithConstraints private constructor(
ConstraintKind.EQUALITY -> true ConstraintKind.EQUALITY -> true
} }
if (isMatchingForSimplification) { if (isMatchingForSimplification) {
val actualConstraint = Constraint( val actualConstraint = if (constraint.kind != ConstraintKind.EQUALITY) {
ConstraintKind.EQUALITY, Constraint(
constraint.type, ConstraintKind.EQUALITY,
constraint.position, constraint.type,
constraint.typeHashCode, constraint.position,
derivedFrom = constraint.derivedFrom, constraint.typeHashCode,
isNullabilityConstraint = false derivedFrom = constraint.derivedFrom,
) isNullabilityConstraint = false
)
} else constraint
mutableConstraints.add(actualConstraint) mutableConstraints.add(actualConstraint)
simplifiedConstraints = null simplifiedConstraints = null
return actualConstraint return actualConstraint