[NI] Get rid of FE 1.0 type usages in ResultTypeResolver

This commit is contained in:
Dmitriy Novozhilov
2020-08-26 12:47:07 +03:00
parent aae1681b76
commit 775df6dfc3
@@ -19,7 +19,9 @@ package org.jetbrains.kotlin.resolve.calls.inference.components
import org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator
import org.jetbrains.kotlin.resolve.calls.inference.components.TypeVariableDirectionCalculator.ResolveDirection
import org.jetbrains.kotlin.resolve.calls.inference.model.*
import org.jetbrains.kotlin.types.*
import org.jetbrains.kotlin.types.AbstractTypeApproximator
import org.jetbrains.kotlin.types.AbstractTypeChecker
import org.jetbrains.kotlin.types.TypeApproximatorConfiguration
import org.jetbrains.kotlin.types.model.*
class ResultTypeResolver(
@@ -81,7 +83,7 @@ class ResultTypeResolver(
firstCandidate: KotlinTypeMarker,
secondCandidate: KotlinTypeMarker,
): KotlinTypeMarker? {
if (firstCandidate.typeConstructor() is IntersectionTypeConstructor) {
if (firstCandidate.typeConstructor().isIntersection()) {
if (!AbstractTypeChecker.isSubtypeOf(this, firstCandidate.toPublicType(), secondCandidate.toPublicType())) {
return createTypeWithAlternativeForIntersectionResult(firstCandidate, secondCandidate)
}
@@ -230,4 +232,4 @@ class ResultTypeResolver(
?: constraintTypes.singleBestRepresentative()
?: constraintTypes.first() // seems like constraint system has contradiction
}
}
}