[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.NewCommonSuperTypeCalculator
import org.jetbrains.kotlin.resolve.calls.inference.components.TypeVariableDirectionCalculator.ResolveDirection import org.jetbrains.kotlin.resolve.calls.inference.components.TypeVariableDirectionCalculator.ResolveDirection
import org.jetbrains.kotlin.resolve.calls.inference.model.* 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.* import org.jetbrains.kotlin.types.model.*
class ResultTypeResolver( class ResultTypeResolver(
@@ -81,7 +83,7 @@ class ResultTypeResolver(
firstCandidate: KotlinTypeMarker, firstCandidate: KotlinTypeMarker,
secondCandidate: KotlinTypeMarker, secondCandidate: KotlinTypeMarker,
): KotlinTypeMarker? { ): KotlinTypeMarker? {
if (firstCandidate.typeConstructor() is IntersectionTypeConstructor) { if (firstCandidate.typeConstructor().isIntersection()) {
if (!AbstractTypeChecker.isSubtypeOf(this, firstCandidate.toPublicType(), secondCandidate.toPublicType())) { if (!AbstractTypeChecker.isSubtypeOf(this, firstCandidate.toPublicType(), secondCandidate.toPublicType())) {
return createTypeWithAlternativeForIntersectionResult(firstCandidate, secondCandidate) return createTypeWithAlternativeForIntersectionResult(firstCandidate, secondCandidate)
} }
@@ -230,4 +232,4 @@ class ResultTypeResolver(
?: constraintTypes.singleBestRepresentative() ?: constraintTypes.singleBestRepresentative()
?: constraintTypes.first() // seems like constraint system has contradiction ?: constraintTypes.first() // seems like constraint system has contradiction
} }
} }