Minor, remove TypeSystemContext.isNotNullNothing

Use equivalent isNothing instead
This commit is contained in:
Alexander Udalov
2019-06-27 01:00:10 +02:00
parent c452934f5b
commit 331f0291ce
5 changed files with 1 additions and 19 deletions
@@ -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
@@ -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 {
@@ -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)
@@ -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
}
@@ -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: