// !LANGUAGE: +StrictJavaNullabilityAssertions // TARGET_BACKEND: JVM // IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // FILE: box.kt import kotlin.test.* fun box(): String { val actualValues = mutableListOf() for (i in JImpl().listOfNotNull()) { actualValues += i } assertEquals(listOf(42, -42), actualValues) return "OK" } interface J { fun listOfNotNull(): List } // 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 listOfNotNull() { List list = new ArrayList<>(); list.add(42); list.add(-42); return list; } }