Optimize/simplify FirClass<*>.findNonInterfaceSupertype

This commit is contained in:
Mikhail Glukhikh
2020-12-07 13:01:12 +03:00
parent 3e8016ed25
commit 7add186616
@@ -288,12 +288,12 @@ private fun FirDeclaration.hasBody(): Boolean = when (this) {
*/ */
fun FirClass<*>.findNonInterfaceSupertype(context: CheckerContext): FirTypeRef? { fun FirClass<*>.findNonInterfaceSupertype(context: CheckerContext): FirTypeRef? {
for (it in superTypeRefs) { for (it in superTypeRefs) {
val classId = it.safeAs<FirResolvedTypeRef>() val lookupTag = it.safeAs<FirResolvedTypeRef>()
?.type.safeAs<ConeClassLikeType>() ?.type.safeAs<ConeClassLikeType>()
?.lookupTag?.classId ?.lookupTag
?: continue ?: continue
val fir = context.session.firSymbolProvider.getClassLikeSymbolByFqName(classId) val fir = lookupTag.toSymbol(context.session)
?.fir.safeAs<FirClass<*>>() ?.fir.safeAs<FirClass<*>>()
?: continue ?: continue