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,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 {