Revert "FIR: don't report EQUALITY_NOT_APPLICABLE for classes from java.*"

This reverts commit 73a8b4544a.
This commit is contained in:
Dmitriy Novozhilov
2021-08-30 11:44:18 +03:00
committed by TeamCityServer
parent fdd069ddec
commit 0ae18372c5
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterLookupTag
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.StandardClassIds
import org.jetbrains.kotlin.types.Variance
@@ -209,10 +208,10 @@ internal object ConeTypeCompatibilityChecker {
val classes = classesOrInterfaces.filter { !it.isInterface }
// Java force single inheritance, so any pair of unrelated classes are incompatible.
if (classes.size >= 2) {
return when {
classes.any { it.firClass.classId.packageFqName.startsWith(Name.identifier("java")) } -> Compatibility.SOFT_INCOMPATIBLE
classes.any { it.getHasPredefinedEqualityContract(this) } -> compatibilityUpperBound
else -> Compatibility.SOFT_INCOMPATIBLE
return if (classes.any { it.getHasPredefinedEqualityContract(this) }) {
compatibilityUpperBound
} else {
Compatibility.SOFT_INCOMPATIBLE
}
}
val finalClass = classes.firstOrNull { it.isFinal } ?: return null