[FIR] Don't miss modality of anonymous objects in canHaveSubtypes()
They are not `FirRegularClassSymbol`, but are final. `FirClassSymbol` is enough, because `toSymbol()` returns `FirClassifierSymbol`, and: - type parameters are always expected to have subtypes - typealiases have been expanded in the previous line
This commit is contained in:
committed by
Space Team
parent
226d4df277
commit
bb812add14
@@ -592,7 +592,7 @@ fun ConeKotlinType.canHaveSubtypes(session: FirSession): Boolean {
|
||||
return true
|
||||
}
|
||||
val expandedType = fullyExpandedType(session)
|
||||
val classSymbol = expandedType.toSymbol(session) as? FirRegularClassSymbol ?: return true
|
||||
val classSymbol = expandedType.toSymbol(session) as? FirClassSymbol ?: return true
|
||||
// In K2 enum classes are final, though enum entries are their subclasses (which is a compiler implementation detail).
|
||||
if (classSymbol.isEnumClass || classSymbol.isExpect || classSymbol.modality != Modality.FINAL) {
|
||||
return true
|
||||
|
||||
Reference in New Issue
Block a user