Split GenerateNotNullAssertionsTests into standard box and bytecode tests
This commit is contained in:
committed by
Alexander Udalov
parent
dfd0042a5b
commit
dd20b74030
@@ -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
|
||||
+12
@@ -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
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
fun <T : Any> foo(t: T) = t
|
||||
|
||||
// 1 checkParameterIsNotNull
|
||||
+9
@@ -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
|
||||
+38
@@ -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
|
||||
+12
@@ -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
|
||||
Vendored
+8
@@ -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
|
||||
Vendored
+11
@@ -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
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
class A {
|
||||
private fun foo(s: String) {
|
||||
}
|
||||
}
|
||||
|
||||
// 0 kotlin/jvm/internal/Intrinsics
|
||||
+33
@@ -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
|
||||
Reference in New Issue
Block a user