Split GenerateNotNullAssertionsTests into standard box and bytecode tests

This commit is contained in:
Steven Schäfer
2019-07-02 10:07:37 +02:00
committed by Alexander Udalov
parent dfd0042a5b
commit dd20b74030
33 changed files with 668 additions and 360 deletions
@@ -0,0 +1,14 @@
// IGNORE_BACKEND: JVM_IR
// Missing IMPLICIT_NOTNULL casts
import java.util.ArrayList
fun foo(): Any {
val a = ArrayList<String>()
return a.get(0)
}
fun bar(a: ArrayList<String>) {
}
// 1 checkExpressionValueIsNotNull
// 1 checkParameterIsNotNull
@@ -0,0 +1,12 @@
// IGNORE_BACKEND: JVM_IR
// Missing IMPLICIT_NOTNULL casts
class A<T> {
fun add(element: T) {}
}
public fun <R : Any> foo(x: MutableCollection<in R>, block: java.util.AbstractList<R>) {
x.add(block.get(0))
}
// 1 checkExpressionValueIsNotNull
@@ -0,0 +1,3 @@
fun <T : Any> foo(t: T) = t
// 1 checkParameterIsNotNull
@@ -0,0 +1,9 @@
// KOTLIN_CONFIGURATION_FLAGS: +JVM.DISABLE_PARAM_ASSERTIONS
// IGNORE_BACKEND: JVM_IR
class A {
fun foo(s: String) {
}
}
// 0 kotlin/jvm/internal/Intrinsics
@@ -0,0 +1,38 @@
// 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
// 3 checkParameterIsNotNull
@@ -0,0 +1,12 @@
// KOTLIN_CONFIGURATION_FLAGS: +JVM.DISABLE_PARAM_ASSERTIONS
// IGNORE_BACKEND: JVM_IR
class A<T> {
fun add(element: T) {}
}
public fun <R> foo(x: MutableCollection<in R>, block: () -> R) {
x.add(block())
}
// 0 kotlin/jvm/internal/Intrinsics
@@ -0,0 +1,8 @@
// KOTLIN_CONFIGURATION_FLAGS: +JVM.DISABLE_PARAM_ASSERTIONS
// IGNORE_BACKEND: JVM_IR
fun <T> foo(a: List<T>) {
val t: T = a.get(0)
}
// 0 kotlin/jvm/internal/Intrinsics
@@ -0,0 +1,11 @@
// KOTLIN_CONFIGURATION_FLAGS: +JVM.DISABLE_PARAM_ASSERTIONS
import java.util.HashMap
class A<T: Any> {
fun main() {
HashMap<String, T>()[""]
}
}
// 0 kotlin/jvm/internal/Intrinsics
@@ -0,0 +1,6 @@
class A {
private fun foo(s: String) {
}
}
// 0 kotlin/jvm/internal/Intrinsics
@@ -0,0 +1,33 @@
// KOTLIN_CONFIGURATION_FLAGS: +JVM.DISABLE_PARAM_ASSERTIONS
// FILE: noAssertionsForKotlin.kt
class A {
val x: Int = 42
fun foo(): String = ""
companion object {
val y: Any? = 239
fun bar(): String = ""
}
}
fun baz(): String = ""
// FILE: noAssertionsForKotlinMain.kt
fun bar() {
val x = A().x
val foo = A().foo()
val y = A.y
val bar = A.bar()
val baz = baz()
}
// @A.class:
// 0 kotlin/jvm/internal/Intrinsics
// @NoAssertionsForKotlinKt.class:
// 0 kotlin/jvm/internal/Intrinsics
// @NoAssertionsForKotlinMainKt.class:
// 0 kotlin/jvm/internal/Intrinsics