FIR: use override checker when populating directOverriddenProperties

This commit is contained in:
Jinseong Jeon
2021-02-08 15:49:48 -08:00
committed by Mikhail Glukhikh
parent fa1507fb91
commit 9370f918e9
9 changed files with 20 additions and 107 deletions
@@ -1,11 +0,0 @@
enum class E {
ENTRY;
override val name: String = "lol"
override val ordinal: Int = 0
<!OVERRIDING_FINAL_MEMBER!>override<!> fun compareTo(other: E) = -1
<!OVERRIDING_FINAL_MEMBER!>override<!> fun equals(other: Any?) = true
<!OVERRIDING_FINAL_MEMBER!>override<!> fun hashCode() = -1
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
enum class E {
ENTRY;
@@ -1,27 +0,0 @@
// FILE: A.java
public class A extends B {
public int isFoo() { return 0; }
public void setFoo(int x) {}
}
// FILE: F.java
public class F extends B {
public final int isFoo() { return 0; }
public final void setFoo(int x) {}
}
// FILE: main.kt
open class B {
open var isFoo: Int = 1
}
class C1 : A() {
override var isFoo: Int = 2
}
class C2 : F() {
override var isFoo: Int = 3
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public class A extends B {
@@ -1,25 +0,0 @@
// FILE: A.java
public class A extends B {
public int getFoo() { return 0; }
}
// FILE: F.java
public class F extends B {
public final int getFoo() { return 0; }
}
// FILE: main.kt
open class B {
open val foo: Int = 1
}
class C1 : A() {
override val foo: Int = 2
}
class C2 : F() {
override val foo: Int = 3
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public class A extends B {
@@ -1,42 +0,0 @@
// FILE: A.java
public class A extends B {
public int getFoo() { return 0; }
public void setFoo(int x) {}
}
// FILE: F.java
public class F extends B {
public final int getFoo() { return 0; }
public final void setFoo(int x) {}
}
// FILE: ConflictingModality.java
public class ConflictingModality extends B {
public final int getFoo() { return 0; }
public abstract void setFoo(int x) {}
}
// FILE: ConflictingVisibility.java
public class ConflictingVisibility extends B {
public int getFoo() { return 0; }
protected void setFoo(int x) {}
}
// FILE: main.kt
open class B {
// check that final is not overridden
open protected var foo: Int = 1
}
class C1 : A() {
override var foo: Int = 2
}
class C2 : F() {
override var foo: Int = 3
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public class A extends B {