FIR checker: add diagnostic OVERRIDING_FINAL_MEMBER

This commit is contained in:
Jinseong Jeon
2021-01-28 16:26:00 -08:00
committed by Dmitriy Novozhilov
parent 4ef1e1119f
commit 80d5a1a1db
10 changed files with 67 additions and 13 deletions
@@ -2,5 +2,5 @@
interface MyTrait: <!INTERFACE_WITH_SUPERCLASS!>Object<!> {
override fun toString(): String
public override fun finalize()
public override fun wait()
public <!OVERRIDING_FINAL_MEMBER!>override<!> fun wait()
}
@@ -1,7 +1,7 @@
// !WITH_NEW_INFERENCE
enum class E : Cloneable {
A;
override fun clone(): Any {
<!OVERRIDING_FINAL_MEMBER!>override<!> fun clone(): Any {
return super.<!UNRESOLVED_REFERENCE!>clone<!>()
}
}
@@ -4,8 +4,8 @@ enum class E {
override val name: String = "lol"
override val ordinal: Int = 0
override fun compareTo(other: E) = -1
<!OVERRIDING_FINAL_MEMBER!>override<!> fun compareTo(other: E) = -1
override fun equals(other: Any?) = true
override fun hashCode() = -1
<!OVERRIDING_FINAL_MEMBER!>override<!> fun equals(other: Any?) = true
<!OVERRIDING_FINAL_MEMBER!>override<!> fun hashCode() = -1
}
@@ -1,7 +0,0 @@
open class A {
final fun foo() {}
}
class B : A() {
override fun foo() {}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
open class A {
final fun foo() {}
}
@@ -5,7 +5,7 @@ class Foo {
class Bar : Foo() {
override fun openFoo() {}
override fun finalFoo() {}
<!OVERRIDING_FINAL_MEMBER!>override<!> fun finalFoo() {}
}