Files
Mikhail Glukhikh 7615d863d5 K2: add ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATURE for clashing functions
This diagnostic is reported on an explicitly-declared function which
overrides a regular Java function with the same signature as a hidden
one from the same scope.

#KT-64846 Fixed
2024-01-31 17:06:36 +00:00

27 lines
748 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -PARAMETER_NAME_CHANGED_ON_OVERRIDE
// SCOPE_DUMP: KA:contains
// RENDER_DIAGNOSTICS_FULL_TEXT
// FILE: A.java
abstract public class A implements java.util.Collection<String> {
public boolean contains(Object x) {return false;}
public boolean contains(String x) {return false;}
}
// FILE: main.kt
abstract class KA : A() {
override fun <!ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATURE!>contains<!>(x: String) = false
}
fun foo(a: A, ka: KA) {
a.contains("")
a.contains(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
"" in a
<!ARGUMENT_TYPE_MISMATCH!>1<!> in a
ka.contains("")
ka.contains(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
"" in ka
<!ARGUMENT_TYPE_MISMATCH!>1<!> in ka
}