Files
kotlin-fork/compiler/testData/codegen/box/ranges/javaInterop/javaCollectionOfInheritedNotNull.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

34 lines
752 B
Kotlin
Vendored

// !LANGUAGE: +StrictJavaNullabilityAssertions
// TARGET_BACKEND: JVM
// WITH_STDLIB
// FILE: box.kt
import kotlin.test.*
fun box(): String {
val actualValues = mutableListOf<Int>()
for (i in JImpl().listOfNotNull()) {
actualValues += i
}
assertEquals(listOf(42, -42), actualValues)
return "OK"
}
interface J {
fun listOfNotNull(): List<Int>
}
// FILE: JImpl.java
import java.util.*;
public class JImpl implements J {
// Type argument (Int) gets @EnhancedNullability because it is not nullable in overridden Kotlin function.
@Override
public List<Integer> listOfNotNull() {
List<Integer> list = new ArrayList<Integer>();
list.add(42);
list.add(-42);
return list;
}
}