Switch tests for default lambda inlining on language level 1.2
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
|||||||
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
|
package test
|
||||||
|
|
||||||
|
inline fun inlineFun(crossinline inlineLambda: () -> String, noinline noInlineLambda: () -> String = { inlineLambda() }): String {
|
||||||
|
return noInlineLambda()
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: 2.kt
|
||||||
|
//NO_CHECK_LAMBDA_INLINING
|
||||||
|
import test.*
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return inlineFun({ "OK" })
|
||||||
|
}
|
||||||
Vendored
+1
-1
@@ -1,8 +1,8 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(crossinline inlineLambda: () -> String = { "OK" }, noinline noInlineLambda: () -> String = { inlineLambda() }): String {
|
inline fun inlineFun(crossinline inlineLambda: () -> String = { "OK" }, noinline noInlineLambda: () -> String = { inlineLambda() }): String {
|
||||||
return noInlineLambda()
|
return noInlineLambda()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,10 +1,10 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
fun ok() = "OK"
|
fun ok() = "OK"
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(lambda: () -> String = ::ok): String {
|
inline fun inlineFun(lambda: () -> String = ::ok): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-2
@@ -1,4 +1,5 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@@ -8,8 +9,6 @@ class A(val value: String) {
|
|||||||
fun ok() = value
|
fun ok() = value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(a: A, lambda: (A) -> String = A::ok): String {
|
inline fun inlineFun(a: A, lambda: (A) -> String = A::ok): String {
|
||||||
return lambda(a)
|
return lambda(a)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,10 +1,10 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
class A(val value: String) {
|
class A(val value: String) {
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(lambda: () -> String = { value }): String {
|
inline fun inlineFun(lambda: () -> String = { value }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,5 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@@ -10,7 +11,6 @@ interface A {
|
|||||||
|
|
||||||
fun test() = inlineFun()
|
fun test() = inlineFun()
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
private inline fun inlineFun(lambda: () -> String = { value }): String {
|
private inline fun inlineFun(lambda: () -> String = { value }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,11 +1,11 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
|
|
||||||
object X {
|
object X {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(capturedParam: String, lambda: () -> String = { capturedParam }): String {
|
inline fun inlineFun(capturedParam: String, lambda: () -> String = { capturedParam }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,8 +1,8 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(crossinline inlineLambda: () -> String, noinline noInlineLambda: () -> String = { inlineLambda() }): String {
|
inline fun inlineFun(crossinline inlineLambda: () -> String, noinline noInlineLambda: () -> String = { inlineLambda() }): String {
|
||||||
return noInlineLambda()
|
return noInlineLambda()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(capturedParam: String, lambda: () -> String = { capturedParam }): String {
|
inline fun inlineFun(capturedParam: String, lambda: () -> String = { capturedParam }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,8 +1,8 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(capturedParam: String, lambda: () -> Any = { capturedParam as Any }): Any {
|
inline fun inlineFun(capturedParam: String, lambda: () -> Any = { capturedParam as Any }): Any {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,8 +1,8 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(lambda: () -> Any = { "OK" as Any }): Any {
|
inline fun inlineFun(lambda: () -> Any = { "OK" as Any }): Any {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,5 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@@ -6,7 +7,6 @@ open class A(val value: String)
|
|||||||
|
|
||||||
class B(value: String): A(value)
|
class B(value: String): A(value)
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <T : A> inlineFun(capturedParam: T, lambda: () -> T = { capturedParam }): T {
|
inline fun <T : A> inlineFun(capturedParam: T, lambda: () -> T = { capturedParam }): T {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,8 +1,8 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(lambda: () -> String = { "OK" }): String {
|
inline fun inlineFun(lambda: () -> String = { "OK" }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
@@ -6,7 +7,6 @@ package test
|
|||||||
class OK
|
class OK
|
||||||
class FAIL
|
class FAIL
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <reified T> inlineFun(lambda: () -> String = { T::class.java.simpleName }): String {
|
inline fun <reified T> inlineFun(lambda: () -> String = { T::class.java.simpleName }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <reified T> inlineFun(p: String, lambda: () -> String = { { p + T::class.java.simpleName } () }): String {
|
inline fun <reified T> inlineFun(p: String, lambda: () -> String = { { p + T::class.java.simpleName } () }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <reified T> inlineFun(p: String, crossinline lambda: () -> String = { { p + T::class.java.simpleName } () }): String {
|
inline fun <reified T> inlineFun(p: String, crossinline lambda: () -> String = { { p + T::class.java.simpleName } () }): String {
|
||||||
return {
|
return {
|
||||||
lambda()
|
lambda()
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <reified T> inlineFun(crossinline lambda: () -> String = { { T::class.java.simpleName } () }): String {
|
inline fun <reified T> inlineFun(crossinline lambda: () -> String = { { T::class.java.simpleName } () }): String {
|
||||||
return {
|
return {
|
||||||
lambda()
|
lambda()
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <reified T> inlineFun(lambda: () -> String = { { T::class.java.simpleName } () }): String {
|
inline fun <reified T> inlineFun(lambda: () -> String = { { T::class.java.simpleName } () }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <reified T> inlineFun(lambda: () -> String = { T::class.java.simpleName }): String {
|
inline fun <reified T> inlineFun(lambda: () -> String = { T::class.java.simpleName }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,11 +1,11 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
|
|
||||||
class K
|
class K
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <reified T> inlineFun(p: String, lambda: () -> String = { p + T::class.java.simpleName }): String {
|
inline fun <reified T> inlineFun(p: String, lambda: () -> String = { p + T::class.java.simpleName }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,5 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
//WITH_RUNTIME
|
//WITH_RUNTIME
|
||||||
package test
|
package test
|
||||||
@@ -6,7 +7,6 @@ package test
|
|||||||
class OK
|
class OK
|
||||||
class FAIL
|
class FAIL
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun <reified T> inlineFun(lambda: () -> String = { T::class.java.simpleName }): String {
|
inline fun <reified T> inlineFun(lambda: () -> String = { T::class.java.simpleName }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(capturedParam: String, crossinline lambda: () -> String = { capturedParam }): String {
|
inline fun inlineFun(capturedParam: String, crossinline lambda: () -> String = { capturedParam }): String {
|
||||||
return {
|
return {
|
||||||
lambda()
|
lambda()
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
// LANGUAGE_VERSION: 1.2
|
||||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||||
package test
|
package test
|
||||||
|
|
||||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
|
||||||
inline fun inlineFun(capturedParam: String, lambda: () -> String = { capturedParam }): String {
|
inline fun inlineFun(capturedParam: String, lambda: () -> String = { capturedParam }): String {
|
||||||
return lambda()
|
return lambda()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -905,6 +905,12 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inlineLambdaInNoInlineDefault.kt")
|
||||||
|
public void testInlineLambdaInNoInlineDefault() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/inlineLambdaInNoInlineDefault.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("kt11479.kt")
|
@TestMetadata("kt11479.kt")
|
||||||
public void testKt11479() throws Exception {
|
public void testKt11479() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/kt11479.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/kt11479.kt");
|
||||||
|
|||||||
+6
@@ -905,6 +905,12 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inlineLambdaInNoInlineDefault.kt")
|
||||||
|
public void testInlineLambdaInNoInlineDefault() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/inlineLambdaInNoInlineDefault.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("kt11479.kt")
|
@TestMetadata("kt11479.kt")
|
||||||
public void testKt11479() throws Exception {
|
public void testKt11479() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/kt11479.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/kt11479.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user