[NI] Get rid of FE 1.0 type usages in ResultTypeResolver
This commit is contained in:
+5
-3
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user