Extract callable reference tests to separate directory

This commit is contained in:
Mikhael Bogdanov
2017-05-17 16:14:53 +02:00
parent f4a388cf71
commit ec23df1d29
16 changed files with 186 additions and 168 deletions
@@ -0,0 +1,20 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
class A(val value: String) {
fun ok() = value
}
inline fun inlineFun(a: A, lambda: () -> String = a::ok): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun(A("OK"))
}
@@ -0,0 +1,18 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
class A(val ok: String)
inline fun inlineFun(a: A, lambda: () -> String = a::ok): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun(A("OK"))
}
@@ -0,0 +1,20 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
class A(val value: String) {
fun ok() = value
}
inline fun inlineFun(a: String, lambda: (String) -> A = ::A): A {
return lambda(a)
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun("OK").value
}
@@ -0,0 +1,24 @@
// FILE: 1.kt
package test
fun ok() = "OK"
object A {
fun ok() = "OK"
}
inline fun stub() {}
// FILE: 2.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
import test.A.ok
inline fun inlineFun(lambda: () -> String = ::ok): String {
return lambda()
}
fun box(): String {
return inlineFun()
}
@@ -0,0 +1,18 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
fun ok() = "OK"
inline fun inlineFun(lambda: () -> String = ::ok): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun()
}
@@ -0,0 +1,20 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
class A(val value: String) {
fun ok() = value
}
inline fun inlineFun(a: A, lambda: (A) -> String = A::ok): String {
return lambda(a)
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun(A("OK"))
}
@@ -0,0 +1,22 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
fun ok() = "OK"
object A {
fun ok() = "OK"
}
inline fun inlineFun(lambda: () -> String = A::ok): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun()
}
@@ -0,0 +1,23 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
class A(val value: String) {
inner class Inner {
fun ok() = value
}
}
inline fun inlineFun(a: A, lambda: () -> A.Inner = a::Inner): A.Inner {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun(A("OK")).ok()
}
@@ -0,0 +1,18 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
private fun ok() = "OK"
internal inline fun inlineFun(lambda: () -> String = ::ok): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun()
}
@@ -0,0 +1,18 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
private val ok = "OK"
internal inline fun inlineFun(lambda: () -> String = ::ok): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun()
}
@@ -0,0 +1,21 @@
// FILE: 1.kt
package test
object A {
val ok = "OK"
}
inline fun stub() {}
// FILE: 2.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
import test.A.ok
inline fun inlineFun(lambda: () -> String = ::ok): String {
return lambda()
}
fun box(): String {
return inlineFun()
}
@@ -0,0 +1,18 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
val ok = "OK"
inline fun inlineFun(lambda: () -> String = ::ok): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun()
}
@@ -0,0 +1,18 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
class A(val ok: String)
inline fun inlineFun(a: A, lambda: (A) -> String = A::ok): String {
return lambda(a)
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun(A("OK"))
}
@@ -0,0 +1,20 @@
// FILE: 1.kt
// LANGUAGE_VERSION: 1.2
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
object A {
val ok = "OK"
}
inline fun inlineFun(lambda: () -> String = A::ok): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun()
}