Files
kotlin/compiler/testData/codegen/bytecodeText/notNullAssertions/javaMultipleSubstitutions.kt
Alexander Udalov 2baddb029c Use Intrinsics.checkNotNullParameter to throw NPE in parameter null checks
Similarly to previous commits, this method was unused, so we're changing
its semantics in API version >= 1.4.

 #KT-22275 In Progress
2019-08-12 16:09:23 +02:00

41 lines
832 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM_IR
// Missing IMPLICIT_NOTNULL casts
// FILE: A.java
import org.jetbrains.annotations.NotNull;
class A<T, U> {
@NotNull
T foo() { return null; }
}
// FILE: B.java
import org.jetbrains.annotations.NotNull;
class B<T> extends A<T, Integer> {
@Override
@NotNull
T foo() { return null; }
}
// FILE: C.java
import org.jetbrains.annotations.NotNull;
class C extends B<String> {
@Override
@NotNull
String foo() { return null; }
}
// FILE: javaMultipleSubstitutions.kt
internal fun bar(a: A<String, Int>, b: B<String>, c: C) {
val sa: String = a.foo()
val sb: String = b.foo()
val sc: String = c.foo()
}
// @JavaMultipleSubstitutionsKt.class
// 3 checkExpressionValueIsNotNull
// 0 checkNotNullExpressionValue
// 3 checkParameterIsNotNull
// 0 checkNotNullParameter