[FE 1.0] Report warning about conflict in inherited members from deserialized dependencies

^KT-51194
^KT-51223 Fixed
This commit is contained in:
Dmitriy Novozhilov
2022-02-09 14:33:59 +03:00
committed by teamcity
parent c6994768d7
commit 0eb526a8b4
16 changed files with 273 additions and 1 deletions
@@ -0,0 +1,29 @@
// TARGET_BACKEND: JVM
// ISSUE: KT-51194
// MODULE: coreLib_1
// FILE: Base.java
public interface Base {
Object foo();
}
// MODULE: lib(coreLib_1)
// FILE: Derived.java
public abstract class Derived implements Base {
@Override
public Object foo() {
return null;
}
}
// MODULE: coreLib_2
// FILE: Base.java
public interface Base {
<T> T foo();
}
// MODULE: main(coreLib_2, lib)
// FILE: main.kt
class Implementation : Derived()
fun box() = "OK"
@@ -0,0 +1,30 @@
// TARGET_BACKEND: JVM
// ISSUE: KT-51194
// DIAGNOSTICS: +CONFLICTING_INHERITED_MEMBERS_WARNING
// IGNORE_BACKEND_FIR: JVM_IR
// FIR status: FIR correctly reports CONFLICTING_INHERITED_MEMBERS, so this test should not pass design
// For details see related issue
// MODULE: coreLib_1
// FILE: Base.java
public interface Base {
Object foo();
}
// MODULE: lib(coreLib_1)
// FILE: Derived.kt
abstract class Derived : Base {
override fun foo(): Any? = null
}
// MODULE: coreLib_2
// FILE: Base.java
public interface Base {
<T> T foo();
}
// MODULE: main(coreLib_2, lib)
// FILE: main.kt
<!CONFLICTING_INHERITED_MEMBERS_WARNING!>class Implementation<!> : Derived()
fun box() = "OK"
@@ -0,0 +1,30 @@
// TARGET_BACKEND: JVM
// ISSUE: KT-51194
// DIAGNOSTICS: +CONFLICTING_INHERITED_MEMBERS_WARNING
// IGNORE_BACKEND_FIR: JVM_IR
// FIR status: FIR correctly reports CONFLICTING_INHERITED_MEMBERS, so this test should not pass design
// For details see related issue
// MODULE: coreLib_1
// FILE: Base.kt
interface Base {
fun foo(): Any?
}
// MODULE: lib(coreLib_1)
// FILE: Derived.kt
abstract class Derived : Base {
override fun foo(): Any? = null
}
// MODULE: coreLib_2
// FILE: Base.kt
interface Base {
fun <T> foo(): T
}
// MODULE: main(coreLib_2, lib)
// FILE: main.kt
<!CONFLICTING_INHERITED_MEMBERS_WARNING!>class Implementation<!> : Derived()
fun box() = "OK"