FIR: resolve conflicts between overloads with platform integer types

This commit is contained in:
pyos
2021-04-23 12:32:44 +02:00
committed by TeamCityServer
parent a27d428573
commit bfb1a06f3d
7 changed files with 70 additions and 6 deletions
@@ -7,11 +7,8 @@ package org.jetbrains.kotlin.fir.resolve.calls
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.resolve.inference.InferenceComponents
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.name.StandardClassIds
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.arrayElementType
import org.jetbrains.kotlin.fir.types.classId
import org.jetbrains.kotlin.fir.types.coneType
import org.jetbrains.kotlin.resolve.calls.results.*
import org.jetbrains.kotlin.types.model.KotlinTypeMarker
import org.jetbrains.kotlin.types.model.requireOrDescribe
@@ -69,8 +66,8 @@ abstract class AbstractConeCallConflictResolver(
val uByte = StandardClassIds.UByte
val uShort = StandardClassIds.UShort
val specificClassId = specific.classId ?: return false
val generalClassId = general.classId ?: return false
val specificClassId = specific.lowerBoundIfFlexible().classId ?: return false
val generalClassId = general.upperBoundIfFlexible().classId ?: return false
// int >= long, int >= short, short >= byte