Setup specific loading contains/containsAll from java

If they override Kotlin collection members

contains(Object) -> contains(E)
containsAll(Collection<?>) -> containsAll(Collection<E>)
This commit is contained in:
Denis Zharkov
2015-10-07 21:31:24 +03:00
parent d27d3950fb
commit 1f52dfccdb
12 changed files with 581 additions and 15 deletions
@@ -0,0 +1,24 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -PARAMETER_NAME_CHANGED_ON_OVERRIDE
// 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 contains(x: String) = false
}
fun foo(a: A, ka: KA) {
a.contains("")
a.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
"" in a
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in a
ka.contains("")
ka.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
"" in ka
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in ka
}