[FIR] Allow nullability mismatch in resolve
This commit is contained in:
committed by
Mikhail Glukhikh
parent
2111e56d2e
commit
5b929b88e1
@@ -97,11 +97,14 @@ fun resolvePlainArgumentType(
|
||||
val position = SimpleConstraintSystemConstraintPosition //TODO
|
||||
|
||||
if (!csBuilder.addSubtypeConstraintIfCompatible(argumentType, expectedType, position)) {
|
||||
val nullableExpectedType = expectedType.withNullability(ConeNullability.NULLABLE)
|
||||
if (!isReceiver) {
|
||||
csBuilder.addSubtypeConstraint(argumentType, expectedType, position)
|
||||
if (!csBuilder.addSubtypeConstraintIfCompatible(argumentType, nullableExpectedType, position)) {
|
||||
csBuilder.addSubtypeConstraint(argumentType, expectedType, position)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
val nullableExpectedType = expectedType.withNullability(ConeNullability.NULLABLE)
|
||||
if (csBuilder.addSubtypeConstraintIfCompatible(argumentType, nullableExpectedType, position)) {
|
||||
sink.reportApplicability(CandidateApplicability.WRONG_RECEIVER) // TODO
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user