diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirJavaGenericVarianceViolationTypeChecker.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirJavaGenericVarianceViolationTypeChecker.kt index aae8db44e22..2d5da334fa9 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirJavaGenericVarianceViolationTypeChecker.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirJavaGenericVarianceViolationTypeChecker.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.analysis.jvm.checkers.expression -import org.jetbrains.kotlin.fir.PrimitiveTypes +import org.jetbrains.kotlin.fir.StandardTypes import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirFunctionCallChecker import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter @@ -163,7 +163,7 @@ object FirJavaGenericVarianceViolationTypeChecker : FirFunctionCallChecker() { return when (this) { is ConeKotlinTypeProjectionOut -> if (positive) type else this is ConeKotlinTypeProjectionIn -> ConeKotlinTypeProjectionIn(type.removeOutProjection(!positive)) - is ConeStarProjection -> if (positive) PrimitiveTypes.Any else this + is ConeStarProjection -> if (positive) StandardTypes.Any else this // Don't remove nested projections for types at invariant position. is ConeKotlinTypeConflictingProjection, is ConeKotlinType -> this diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/PrimitiveComparison.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/PrimitiveComparison.kt index 7df51185b10..afa50795786 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/PrimitiveComparison.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/PrimitiveComparison.kt @@ -42,17 +42,17 @@ private fun leastCommonPrimitiveNumericType(t1: ConeClassLikeType, t2: ConeClass val pt2 = t2.promoteIntegerTypeToIntIfRequired() return when { - pt1.isDouble() || pt2.isDouble() -> PrimitiveTypes.Double - pt1.isFloat() || pt2.isFloat() -> PrimitiveTypes.Float - pt1.isLong() || pt2.isLong() -> PrimitiveTypes.Long - pt1.isInt() || pt2.isInt() -> PrimitiveTypes.Int + pt1.isDouble() || pt2.isDouble() -> StandardTypes.Double + pt1.isFloat() || pt2.isFloat() -> StandardTypes.Float + pt1.isLong() || pt2.isLong() -> StandardTypes.Long + pt1.isInt() || pt2.isInt() -> StandardTypes.Int else -> error("Unexpected types: t1=$t1, t2=$t2") } } private fun ConeClassLikeType.promoteIntegerTypeToIntIfRequired(): ConeClassLikeType = when (lookupTag.classId) { - StandardClassIds.Byte, StandardClassIds.Short -> PrimitiveTypes.Int + StandardClassIds.Byte, StandardClassIds.Short -> StandardTypes.Int StandardClassIds.Long, StandardClassIds.Int, StandardClassIds.Float, StandardClassIds.Double, StandardClassIds.Char -> this else -> error("Primitive number type expected: $this") } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Primitives.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Primitives.kt index 6b8dce827d9..1f339ee4e67 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Primitives.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Primitives.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.StandardClassIds -object PrimitiveTypes { +object StandardTypes { val Boolean: ConeClassLikeType = StandardClassIds.Boolean.createType() val Char: ConeClassLikeType = StandardClassIds.Char.createType() val Byte: ConeClassLikeType = StandardClassIds.Byte.createType()