Minor code cleanup: resolveSupertypesByMembers
This commit is contained in:
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.resolve.calls
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
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.FirCallableDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.modality
|
import org.jetbrains.kotlin.fir.declarations.utils.modality
|
||||||
@@ -118,7 +119,9 @@ private inline fun BodyResolveComponents.resolveSupertypesByMembers(
|
|||||||
typesWithNonConcreteMembers
|
typesWithNonConcreteMembers
|
||||||
else ->
|
else ->
|
||||||
typesWithNonConcreteMembers.filter {
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-1
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
|||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
|
import org.jetbrains.kotlin.descriptors.isClass
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||||
@@ -148,7 +149,9 @@ private inline fun resolveSupertypesByMembers(
|
|||||||
typesWithNonConcreteMembers to false
|
typesWithNonConcreteMembers to false
|
||||||
else ->
|
else ->
|
||||||
typesWithNonConcreteMembers.filter {
|
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
|
} to true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user