diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt index 6e993e05c18..d59cd625eab 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt @@ -347,12 +347,6 @@ interface ConeTypeContext : TypeSystemContext, TypeSystemOptimizationContext { return this is ConeClassLikeSymbol && classId == StandardClassIds.Nothing } - override fun KotlinTypeMarker.isNotNullNothing(): Boolean { - require(this is ConeKotlinType) - return typeConstructor().isNothingConstructor() && !this.nullability.isNullable - } - - override fun SimpleTypeMarker.isSingleClassifierType(): Boolean { if (isError()) return false if (this is ConeCapturedType) return true diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt index 256b9f39d13..40d06394965 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt @@ -174,11 +174,6 @@ interface IrTypeSystemContext : TypeSystemInferenceExtensionContext { override fun TypeConstructorMarker.isNothingConstructor() = this === irBuiltIns.nothingClass - override fun KotlinTypeMarker.isNotNullNothing(): Boolean { - val simpleType = this as? IrSimpleType ?: return false - return simpleType == irBuiltIns.nothingType && !simpleType.hasQuestionMark - } - override fun SimpleTypeMarker.isSingleClassifierType() = true override fun SimpleTypeMarker.possibleIntegerTypes() = irBuiltIns.run { diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt b/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt index 47c63f4d496..e003bc9b8ca 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt @@ -261,11 +261,6 @@ interface ClassicTypeSystemContext : TypeSystemInferenceExtensionContext { (constructor.declarationDescriptor != null || this is CapturedType || this is NewCapturedType || this is DefinitelyNotNullType || constructor is IntegerLiteralTypeConstructor) } - override fun KotlinTypeMarker.isNotNullNothing(): Boolean { - require(this is KotlinType, this::errorMessage) - return typeConstructor().isNothingConstructor() && !TypeUtils.isNullableType(this) - } - override fun KotlinTypeMarker.contains(predicate: (KotlinTypeMarker) -> Boolean): Boolean { require(this is KotlinType, this::errorMessage) return containsInternal(this, predicate) diff --git a/core/type-system/src/org/jetbrains/kotlin/types/AbstractTypeChecker.kt b/core/type-system/src/org/jetbrains/kotlin/types/AbstractTypeChecker.kt index 8e264cf4128..3430c142319 100644 --- a/core/type-system/src/org/jetbrains/kotlin/types/AbstractTypeChecker.kt +++ b/core/type-system/src/org/jetbrains/kotlin/types/AbstractTypeChecker.kt @@ -538,7 +538,7 @@ object AbstractNullabilityChecker { fun AbstractTypeCheckerContext.hasPathByNotMarkedNullableNodes(start: SimpleTypeMarker, end: TypeConstructorMarker) = anySupertype(start, { - it.isNotNullNothing() || (!it.isMarkedNullable() && isEqualTypeConstructors(it.typeConstructor(), end)) + it.isNothing() || (!it.isMarkedNullable() && isEqualTypeConstructors(it.typeConstructor(), end)) }) { if (it.isMarkedNullable()) SupertypesPolicy.None else SupertypesPolicy.LowerIfFlexible } diff --git a/core/type-system/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt b/core/type-system/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt index 38292954e84..5bd7ee5c383 100644 --- a/core/type-system/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt +++ b/core/type-system/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt @@ -255,8 +255,6 @@ interface TypeSystemContext : TypeSystemOptimizationContext { fun TypeConstructorMarker.isAnyConstructor(): Boolean fun TypeConstructorMarker.isNothingConstructor(): Boolean - fun KotlinTypeMarker.isNotNullNothing(): Boolean - /** * * SingleClassifierType is one of the following types: