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 6f0bed8426f..844e7aa3811 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 @@ -183,7 +183,7 @@ object FirJavaGenericVarianceViolationTypeChecker : FirFunctionCallChecker() { } } - private fun ConeInferenceContext.isTypeConstructorEqualOrSubClassOf(subType: ConeKotlinType, superType: ConeKotlinType): Boolean { + private fun ConeInferenceContext.isTypeConstructorEqualOrSubClassOf(subType: ConeKotlinType, superType: ConeSimpleKotlinType): Boolean { return isTypeConstructorEqualOrSubClassOf(subType.typeConstructor(), superType.typeConstructor()) } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirCastDiagnosticsHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirCastDiagnosticsHelpers.kt index ed4bb56fee2..86ecb655998 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirCastDiagnosticsHelpers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirCastDiagnosticsHelpers.kt @@ -83,8 +83,8 @@ fun checkCasting( * (i.e. java.lang.String -> kotlin.String) and ignore mappings that go the other way. */ private fun isRelated( - aType: ConeKotlinType, - bType: ConeKotlinType, + aType: ConeSimpleKotlinType, + bType: ConeSimpleKotlinType, aClassSymbol: FirRegularClassSymbol?, bClassSymbol: FirRegularClassSymbol?, context: CheckerContext @@ -97,7 +97,7 @@ private fun isRelated( return true } - fun getCorrespondingKotlinClass(type: ConeKotlinType): ConeKotlinType { + fun getCorrespondingKotlinClass(type: ConeSimpleKotlinType): ConeKotlinType { return context.session.platformClassMapper.getCorrespondingKotlinClass(type.classId)?.defaultType(listOf()) ?: type } @@ -108,7 +108,7 @@ private fun isRelated( AbstractTypeChecker.isSubtypeOf(typeContext, bNormalizedType, aNormalizedType) } -private fun isFinal(type: ConeKotlinType, session: FirSession): Boolean { +private fun isFinal(type: ConeSimpleKotlinType, session: FirSession): Boolean { return !type.canHaveSubtypes(session) } @@ -275,7 +275,7 @@ fun shouldCheckForExactType(expression: FirTypeOperatorCall, context: CheckerCon fun isRefinementUseless( context: CheckerContext, - candidateType: ConeKotlinType, + candidateType: ConeSimpleKotlinType, targetType: ConeKotlinType, shouldCheckForExactType: Boolean, arg: FirExpression, @@ -292,7 +292,7 @@ fun isRefinementUseless( } } -private fun isExactTypeCast(context: CheckerContext, candidateType: ConeKotlinType, targetType: ConeKotlinType): Boolean { +private fun isExactTypeCast(context: CheckerContext, candidateType: ConeSimpleKotlinType, targetType: ConeKotlinType): Boolean { if (!AbstractTypeChecker.equalTypes(context.session.typeContext, candidateType, targetType, stubTypesEqualToAnything = false)) return false // See comments at [isUpcast] why we need to check the existence of @ExtensionFunctionType diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/AbstractDiagnosticCollectorVisitor.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/AbstractDiagnosticCollectorVisitor.kt index cb86254cae3..5c7f21c07e5 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/AbstractDiagnosticCollectorVisitor.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/collectors/AbstractDiagnosticCollectorVisitor.kt @@ -62,7 +62,7 @@ abstract class AbstractDiagnosticCollectorVisitor( visitJump(continueExpression) } - private fun visitClassAndChildren(klass: FirClass, type: ConeKotlinType) { + private fun visitClassAndChildren(klass: FirClass, type: ConeClassLikeType) { val typeRef = buildResolvedTypeRef { this.type = type } diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/constant/ConstantValue.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/constant/ConstantValue.kt index f4ab8eaae2c..5e716a94101 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/constant/ConstantValue.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/constant/ConstantValue.kt @@ -139,7 +139,7 @@ internal class KClassValue(value: Value) : ConstantValue(valu is Value.NormalClass -> { val (classId, arrayDimensions) = value.value val klass = session.symbolProvider.getClassLikeSymbolByClassId(classId)?.fir as? FirRegularClass ?: return null - var type: ConeKotlinType = klass.defaultType().replaceArgumentsWithStarProjections() + var type: ConeClassLikeType = klass.defaultType().replaceArgumentsWithStarProjections() repeat(arrayDimensions) { type = type.createArrayType() } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt index f736ba2e4d2..9e6b8af6e86 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt @@ -264,7 +264,7 @@ class Fir2IrTypeConverter( return classIdToSymbolMap[classId] ?: getArrayClassSymbol(classId) } - private fun approximateType(type: ConeKotlinType): ConeKotlinType { + private fun approximateType(type: ConeSimpleKotlinType): ConeKotlinType { if (type is ConeClassLikeType && type.typeArguments.isEmpty()) return type val substitutor = object : AbstractConeSubstitutor(session.typeContext) { override fun substituteType(type: ConeKotlinType): ConeKotlinType? { diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt index 9ceb79093c2..35dcf624440 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt @@ -61,17 +61,6 @@ fun collectSymbolsForType(type: ConeKotlinType, useSiteSession: FirSession): Lis return lookupTags.mapNotNull { it.toSymbol(useSiteSession) as? FirClassSymbol<*> } } -fun lookupSuperTypes( - type: ConeKotlinType, - lookupInterfaces: Boolean, - deep: Boolean, - useSiteSession: FirSession, - substituteTypes: Boolean, - supertypeSupplier: SupertypeSupplier = SupertypeSupplier.Default, -): List { - return lookupSuperTypes(collectSymbolsForType(type, useSiteSession), lookupInterfaces, deep, useSiteSession, substituteTypes, supertypeSupplier) -} - fun lookupSuperTypes( symbols: List>, lookupInterfaces: Boolean, diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/FirReceivers.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/FirReceivers.kt index f1ec4a38a14..2525f467983 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/FirReceivers.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/FirReceivers.kt @@ -22,11 +22,8 @@ import org.jetbrains.kotlin.fir.scopes.FirTypeScope import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol -import org.jetbrains.kotlin.fir.types.ConeKotlinErrorType -import org.jetbrains.kotlin.fir.types.ConeKotlinType +import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef -import org.jetbrains.kotlin.fir.types.coneType -import org.jetbrains.kotlin.fir.types.coneTypeSafe import org.jetbrains.kotlin.types.SmartcastStability interface Receiver diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirDelegatedPropertyInferenceSession.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirDelegatedPropertyInferenceSession.kt index d7194602d43..788f1ff41e7 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirDelegatedPropertyInferenceSession.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirDelegatedPropertyInferenceSession.kt @@ -34,7 +34,7 @@ class FirDelegatedPropertyInferenceSession( private val currentConstraintSystem = components.session.inferenceComponents.createConstraintSystem() override val currentConstraintStorage: ConstraintStorage get() = currentConstraintSystem.currentStorage() - private val unitType: ConeKotlinType = components.session.builtinTypes.unitType.type + private val unitType: ConeClassLikeType = components.session.builtinTypes.unitType.type private lateinit var resultingConstraintSystem: NewConstraintSystem private fun ConeKotlinType.containsStubType(): Boolean {