Merge pull request #10720 from tamasvajk/kotlin-equals-fix

Kotlin: Consider `::class` type check in `java/unchecked-cast-in-equals`
This commit is contained in:
Tamás Vajk
2022-10-10 13:58:15 +02:00
committed by GitHub
2 changed files with 8 additions and 0 deletions

View File

@@ -30,6 +30,8 @@ predicate hasTypeTest(Variable v) {
or
any(SafeCastExpr sce).getExpr() = v.getAnAccess()
or
any(ClassExpr c).getExpr() = v.getAnAccess()
or
exists(MethodAccess ma |
ma.getMethod().getName() = "getClass" and
ma.getQualifier() = v.getAnAccess()

View File

@@ -5,3 +5,9 @@ data class E(val x: Int) {
return (other as? E)?.x == this.x
}
}
data class F(val x: Int) {
override fun equals(other: Any?): Boolean {
return other != null && other::class == this::class
}
}