Report JVM signature clashes from JVM_IR
Also: * Do not rename public ABI fields This includes backing fields for const, lateinit, @JvmField properties, and instance fields for objects. * FAKE_OVERRIDE declarations for static members of parent Java classes Required to report cases when a Kotlin function accidentally overrides Java class member.
This commit is contained in:
+34
@@ -0,0 +1,34 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
// FILE: A.java
|
||||
|
||||
public class A {
|
||||
public static void foo() {}
|
||||
public static void baz(String s) {}
|
||||
}
|
||||
|
||||
// FILE: B.kt
|
||||
|
||||
open class B : A() {
|
||||
}
|
||||
|
||||
// FILE: C.java
|
||||
|
||||
public class C extends B {
|
||||
public static void bar(int i) {}
|
||||
}
|
||||
|
||||
// FILE: K.kt
|
||||
|
||||
open class K : C() {
|
||||
<!ACCIDENTAL_OVERRIDE!>fun foo()<!> {}
|
||||
fun foo(a: Any) {}
|
||||
<!ACCIDENTAL_OVERRIDE!>fun bar(i: Int)<!> {}
|
||||
fun bar(i: String) {}
|
||||
fun baz(i: Int) {}
|
||||
|
||||
companion object {
|
||||
fun foo() {}
|
||||
fun bar(i: Int) {}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user