Add tests for Obsolete issues

#KT-18977 Obsolete
This commit is contained in:
Mikhael Bogdanov
2019-01-08 15:43:17 +01:00
parent f389c31d8e
commit f7ce8c18c6
7 changed files with 53 additions and 0 deletions
@@ -1,5 +1,7 @@
// FILE: 1.kt
// NO_CHECK_LAMBDA_INLINING
package test
class A {
val foo = fun(call: () -> Unit) =
ext {
@@ -24,6 +26,7 @@ class A {
}
// FILE: 2.kt
import test.*
fun box(): String {
var result = "fail"
@@ -1,6 +1,8 @@
// FILE: 1.kt
// IGNORE_BACKEND: JS
// WITH_RUNTIME
package test
public inline fun <T> T.myalso(block: (T) -> Unit): T {
block(this)
return this
@@ -12,6 +14,8 @@ public inline fun <T, R : Any> Iterable<T>.mymapNotNull(transform: (T) -> R?): L
// FILE: 2.kt
// NO_CHECK_LAMBDA_INLINING
import test.*
var result = -1;
fun box(): String {
@@ -1,5 +1,7 @@
// IGNORE_BACKEND: JVM_IR
// FILE: 1.kt
package test
class A {
var field = 0
@@ -28,6 +30,9 @@ class A {
// FILE: 2.kt
// NO_CHECK_LAMBDA_INLINING
import test.*
fun box(): String {
val a = A()
a.c ({ "OK" })
+26
View File
@@ -0,0 +1,26 @@
// FILE: 1.kt
package test
class AbstractTreeNode<T>(val value: T, val parent: AbstractTreeNode<T>?)
internal inline fun <reified T : Any> AbstractTreeNode<*>.findNotNullValueOfType(strict: Boolean = false): T {
return findValueOfType(strict)!!
}
internal inline fun <reified T : Any> AbstractTreeNode<*>.findValueOfType(strict: Boolean = true): T? {
var current: AbstractTreeNode<*>? = if (strict) this.parent else this
while (current != null) {
val value = current.value
if (value is T) return value
current = current.parent
}
return null
}
// FILE: 2.kt
import test.*
fun box(): String {
return AbstractTreeNode("OK", null).findNotNullValueOfType<String>()!!
}