Files
kotlin-fork/compiler/testData/diagnostics/tests/j+k/collectionOverrides/contains.fir.kt
T
Ilya Kirillov 1bbcae5ed2 [FIR] fix resolve contract violation from scopes
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier

^KT-54890
^KTIJ-23587 fixed
2023-01-13 21:32:51 +00:00

67 lines
1.6 KiB
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -PARAMETER_NAME_CHANGED_ON_OVERRIDE
// JAVAC_EXPECTED_FILE
// FILE: A.java
abstract public class A<T> implements java.util.Collection<T> {
public boolean contains(Object x) {return false;}
}
// FILE: B.java
abstract public class B implements java.util.Collection<String> {
public boolean contains(Object x) {return false;}
}
// FILE: IC.java
public interface IC extends java.util.Collection<String> {
public boolean contains(Object x);
}
// FILE: main.kt
abstract class KA<T> : java.util.AbstractList<T>() {
override fun contains(x: T) = false
}
abstract class KB : java.util.AbstractList<String>(), IC {
override fun contains(element: String) = false
}
// Raw?
fun foo(
a: A<String>, b: B, ic: IC,
ka: KA<String>, kb: KB,
al: java.util.ArrayList<String>
) {
a.contains("")
a.contains(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
"" in a
<!ARGUMENT_TYPE_MISMATCH!>1<!> in a
b.contains("")
b.contains(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
"" in b
<!ARGUMENT_TYPE_MISMATCH!>1<!> in b
ic.contains("")
ic.contains(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
"" in ic
<!ARGUMENT_TYPE_MISMATCH!>1<!> in ic
ka.contains("")
ka.contains(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
"" in ka
<!ARGUMENT_TYPE_MISMATCH!>1<!> in ka
kb.contains("")
kb.contains(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
"" in kb
<!ARGUMENT_TYPE_MISMATCH!>1<!> in kb
al.contains("")
al.contains(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
"" in al
<!ARGUMENT_TYPE_MISMATCH!>1<!> in al
}