Files
kotlin-fork/compiler/testData/diagnostics/testsWithStdLib/purelyImplementedCollection/customClassMutableList.kt
T
Denis.Zharkov 2ecba6ac39 Remove WITH_NEW_INFERENCE directive from all tests
This directive anyway does not make test run twice with OI, and with NI
It only once run the test with specific settings (// LANGUAGE)
and ignores irrelevant (OI or NI tags)
2021-05-25 13:28:26 +03:00

41 lines
827 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_VARIABLE
// JAVAC_EXPECTED_FILE
import java.util.*;
// FILE: A.java
@kotlin.jvm.PurelyImplements("kotlin.collections.MutableList")
class A<T> extends AbstractList<T> {
@Override
public T get(int index) {
return null;
}
@Override
public int size() {
return 0;
}
}
// FILE: b.kt
fun bar(): String? = null
fun foo() {
var x = A<String>()
x.add(<!NULL_FOR_NONNULL_TYPE!>null<!>)
x.add(<!TYPE_MISMATCH!>bar()<!>)
x.add("")
x[0] = <!NULL_FOR_NONNULL_TYPE!>null<!>
x[0] = <!TYPE_MISMATCH!>bar()<!>
x[0] = ""
val b1: MutableList<String?> = <!TYPE_MISMATCH!>x<!>
val b2: MutableList<String> = x
val b3: List<String?> = x
val b4: Collection<String?> = x
val b6: MutableCollection<String?> = <!TYPE_MISMATCH!>x<!>
}