Minor code cleanup: resolveSupertypesByMembers

This commit is contained in:
Mikhail Glukhikh
2022-01-12 17:36:29 +03:00
parent fdf336042b
commit 37c0cad827
2 changed files with 8 additions and 2 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.resolve.calls
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.isClass
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.declarations.utils.modality
@@ -118,7 +119,9 @@ private inline fun BodyResolveComponents.resolveSupertypesByMembers(
typesWithNonConcreteMembers
else ->
typesWithNonConcreteMembers.filter {
it is ConeClassLikeType && (it.lookupTag.toSymbol(session) as? FirRegularClassSymbol)?.classKind == ClassKind.CLASS
// We aren't interested in objects or enum classes here
// (objects can't be inherited, enum classes cannot have specific equals/hashCode)
it is ConeClassLikeType && (it.lookupTag.toSymbol(session) as? FirRegularClassSymbol)?.classKind?.isClass == true
}
}
}
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.isClass
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtCallExpression
@@ -148,7 +149,9 @@ private inline fun resolveSupertypesByMembers(
typesWithNonConcreteMembers to false
else ->
typesWithNonConcreteMembers.filter {
TypeUtils.getClassDescriptor(it)?.kind == ClassKind.CLASS
// We aren't interested in objects or enum classes here
// (objects can't be inherited, enum classes cannot have specific equals/hashCode)
TypeUtils.getClassDescriptor(it)?.kind?.isClass == true
} to true
}
}