Add new tests for default lambda inlining

This commit is contained in:
Mikhael Bogdanov
2017-05-17 15:57:17 +02:00
parent 42074f143d
commit f4a388cf71
12 changed files with 107 additions and 12 deletions
@@ -3,24 +3,24 @@
inline fun inlineFun(lambda: () -> String) = lambda()
inline fun noInlineFun(lambda: () -> String) = lambda()
fun noInlineFun(lambda: () -> String) = lambda()
inline fun default0_1(lambda: () -> String, dlambda: () -> String = { <!NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE!>lambda<!>; "OK" }) {
inline fun default0_1(lambda: () -> String, dlambda: () -> String = { <!NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE!>lambda<!>; "OK" }) {
lambda() + dlambda()
}
inline fun default0_2(lambda: () -> String, dlambda: () -> String = { noInlineFun (<!NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE, NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE!>lambda<!>) }) {
inline fun default0_2(lambda: () -> String, dlambda: () -> String = { noInlineFun (<!NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE, NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE!>lambda<!>) }) {
lambda() + dlambda()
}
inline fun default0(lambda: () -> String, dlambda: () -> String = { noInlineFun (<!NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE, NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE!>lambda<!>) }) {
inline fun default0(lambda: () -> String, dlambda: () -> String = { noInlineFun (<!NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE, NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE!>lambda<!>) }) {
lambda() + dlambda()
}
inline fun default1_0(lambda: () -> String, dlambda: () -> String = { <!NON_LOCAL_RETURN_NOT_ALLOWED, NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE!>lambda<!>() }) {
inline fun default1_0(lambda: () -> String, dlambda: () -> String = { <!NON_LOCAL_RETURN_NOT_ALLOWED, NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE!>lambda<!>() }) {
lambda() + dlambda()
}
@@ -13,4 +13,4 @@ public inline fun default2_1crossinline(/*0*/ crossinline lambda: () -> kotlin.S
public inline fun default2_2(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
public inline fun default2_3(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
public inline fun inlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
public inline fun noInlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
public fun noInlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
@@ -3,14 +3,14 @@
inline fun inlineFun(lambda: () -> String) = lambda()
inline fun noInlineFun(lambda: () -> String) = lambda()
fun noInlineFun(lambda: () -> String) = lambda()
inline fun default0_1(lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { <!USAGE_IS_NOT_INLINABLE, TYPE_MISMATCH!>lambda<!> }<!>) {
lambda() + dlambda()
}
inline fun default0_2(lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { noInlineFun (<!NON_LOCAL_RETURN_NOT_ALLOWED!>lambda<!>) }<!>) {
inline fun default0_2(lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { noInlineFun (<!USAGE_IS_NOT_INLINABLE!>lambda<!>) }<!>) {
lambda() + dlambda()
}
@@ -13,4 +13,4 @@ public inline fun default2_1crossinline(/*0*/ crossinline lambda: () -> kotlin.S
public inline fun default2_2(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
public inline fun default2_3(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
public inline fun inlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
public inline fun noInlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
public fun noInlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String