Optimize AbstractTypeChecker::collectAllSupertypesWithGivenTypeConstructor

Add fast path for a case when subType is a class and super is not
Classes may only have classes supertypes
This commit is contained in:
Denis Zharkov
2019-06-19 14:19:21 +03:00
parent 7a31a14002
commit 6d63214d1b
@@ -383,6 +383,8 @@ object AbstractTypeChecker {
return it
}
if (!superConstructor.isClassTypeConstructor() && subType.isClassType()) return emptyList()
if (superConstructor.isCommonFinalClassConstructor()) {
return if (areEqualTypeConstructors(subType.typeConstructor(), superConstructor))
listOf(captureFromArguments(subType, CaptureStatus.FOR_SUBTYPING) ?: subType)