diff --git a/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectOnDeclarationSite.2.kt b/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectOnDeclarationSite.2.kt index 1e63a0de218..c425fc90c8a 100644 --- a/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectOnDeclarationSite.2.kt +++ b/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectOnDeclarationSite.2.kt @@ -10,7 +10,7 @@ abstract class A { abstract fun getParam() : R } -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) jobK: ()-> R, param: R) : A { +inline fun doWork(crossinline jobO: ()-> R, crossinline jobK: ()-> R, param: R) : A { val s = object : A() { override fun getO(): R { @@ -27,7 +27,7 @@ inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptio return s; } -inline fun doWorkInConstructor(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) jobK: ()-> R, param: R) : A { +inline fun doWorkInConstructor(crossinline jobO: ()-> R, crossinline jobK: ()-> R, param: R) : A { val s = object : A() { val p = param; diff --git a/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectOnDeclarationSiteSuperParams.2.kt b/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectOnDeclarationSiteSuperParams.2.kt index 60aec4858bb..68cb41d9991 100644 --- a/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectOnDeclarationSiteSuperParams.2.kt +++ b/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectOnDeclarationSiteSuperParams.2.kt @@ -8,7 +8,7 @@ abstract class A(val param : R) { abstract fun getK() : R } -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) jobK: ()-> R, param: R) : A { +inline fun doWork(crossinline jobO: ()-> R, crossinline jobK: ()-> R, param: R) : A { val s = object : A(param) { override fun getO(): R { @@ -21,7 +21,7 @@ inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptio return s; } -inline fun doWorkInConstructor(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) jobK: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) param: () -> R) : A { +inline fun doWorkInConstructor(crossinline jobO: ()-> R, crossinline jobK: ()-> R, crossinline param: () -> R) : A { val s = object : A(param()) { val o1 = jobO() diff --git a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline.2.kt b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline.2.kt index 33234807538..74f20d5525b 100644 --- a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline.2.kt +++ b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline.2.kt @@ -1,6 +1,6 @@ package test -inline fun bar(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) y: () -> String) = { +inline fun bar(crossinline y: () -> String) = { call(y) } diff --git a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline2.2.kt b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline2.2.kt index b2615ed13e4..4db9ae13d8b 100644 --- a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline2.2.kt +++ b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline2.2.kt @@ -1,6 +1,6 @@ package test -inline fun bar(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) y: () -> String) = { +inline fun bar(crossinline y: () -> String) = { { { call(y) }() }() } diff --git a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline3.1.kt b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline3.1.kt index 8100b447af6..93ca7800062 100644 --- a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline3.1.kt +++ b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline3.1.kt @@ -7,6 +7,6 @@ fun box(): String { return if (bar1 == "123" && bar2 == "1234") "OK" else "fail: $bar1 $bar2" } -inline fun bar2(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) y: () -> String) = { +inline fun bar2(crossinline y: () -> String) = { { { call(y) }() }() } diff --git a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline3.2.kt b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline3.2.kt index c3539f621ba..2291f739d51 100644 --- a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline3.2.kt +++ b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInline3.2.kt @@ -1,7 +1,7 @@ package test -inline fun bar(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) y: () -> String) = { +inline fun bar(crossinline y: () -> String) = { { { call(y) }() }() } -public inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) f: () -> T): T = {{ f() }()}() \ No newline at end of file +public inline fun call(crossinline f: () -> T): T = {{ f() }()}() \ No newline at end of file diff --git a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInlineObject.2.kt b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInlineObject.2.kt index 4e4688cced8..2fd150ace15 100644 --- a/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInlineObject.2.kt +++ b/compiler/testData/codegen/boxInline/anonymousObject/capturedLambdaInInlineObject.2.kt @@ -4,13 +4,13 @@ internal interface A { fun run(): T; } -internal inline fun bar(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) y: () -> String) = object : A { +internal inline fun bar(crossinline y: () -> String) = object : A { override fun run() : String { return call(y) } } -public inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) f: () -> T): T = object : A { +public inline fun call(crossinline f: () -> T): T = object : A { override fun run() : T { return f() } diff --git a/compiler/testData/codegen/boxInline/builders/buildersAndLambdaCapturing.1.kt b/compiler/testData/codegen/boxInline/builders/buildersAndLambdaCapturing.1.kt index 928829b3899..e41f9e450cf 100644 --- a/compiler/testData/codegen/boxInline/builders/buildersAndLambdaCapturing.1.kt +++ b/compiler/testData/codegen/boxInline/builders/buildersAndLambdaCapturing.1.kt @@ -42,7 +42,7 @@ inline fun testAllInline(f: () -> String) : String { return result.toString()!! } -inline fun testHtmlNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : String { +inline fun testHtmlNoInline(crossinline f: () -> String) : String { val args = array("1", "2", "3") val result = htmlNoInline() { @@ -82,7 +82,7 @@ inline fun testHtmlNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : return result.toString()!! } -inline fun testBodyNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : String { +inline fun testBodyNoInline(crossinline f: () -> String) : String { val args = array("1", "2", "3") val result = html { @@ -122,7 +122,7 @@ inline fun testBodyNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : return result.toString()!! } -inline fun testBodyHtmlNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : String { +inline fun testBodyHtmlNoInline(crossinline f: () -> String) : String { val args = array("1", "2", "3") val result = htmlNoInline { diff --git a/compiler/testData/codegen/boxInline/capture/captureInlinable.2.kt b/compiler/testData/codegen/boxInline/capture/captureInlinable.2.kt index 469f479423c..ae7308070dd 100644 --- a/compiler/testData/codegen/boxInline/capture/captureInlinable.2.kt +++ b/compiler/testData/codegen/boxInline/capture/captureInlinable.2.kt @@ -2,7 +2,7 @@ package test import kotlin.InlineOption.* -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R) : R { +inline fun doWork(crossinline job: ()-> R) : R { return notInline({job()}) } diff --git a/compiler/testData/codegen/boxInline/capture/captureInlinableAndOther.2.kt b/compiler/testData/codegen/boxInline/capture/captureInlinableAndOther.2.kt index be7716e8776..373d726c2ff 100644 --- a/compiler/testData/codegen/boxInline/capture/captureInlinableAndOther.2.kt +++ b/compiler/testData/codegen/boxInline/capture/captureInlinableAndOther.2.kt @@ -2,7 +2,7 @@ package test import kotlin.InlineOption.* -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R) : R { +inline fun doWork(crossinline job: ()-> R) : R { val k = 10; return notInline({k; job()}) } diff --git a/compiler/testData/codegen/boxInline/complex/with.2.kt b/compiler/testData/codegen/boxInline/complex/with.2.kt index 896304eb3e8..19d35e50b9b 100644 --- a/compiler/testData/codegen/boxInline/complex/with.2.kt +++ b/compiler/testData/codegen/boxInline/complex/with.2.kt @@ -29,4 +29,4 @@ public fun Input.copyTo(output: Output, size: Int): Long { } -public inline fun with2(receiver : T, inlineOptions(ONLY_LOCAL_RETURN) body : T.() -> Unit) : Unit = {receiver.body()}() +public inline fun with2(receiver : T, crossinline body : T.() -> Unit) : Unit = {receiver.body()}() diff --git a/compiler/testData/codegen/boxInline/lambdaClassClash/lambdaClassClash.2.kt b/compiler/testData/codegen/boxInline/lambdaClassClash/lambdaClassClash.2.kt index 4821ce2eca4..59f7b1b4d0c 100644 --- a/compiler/testData/codegen/boxInline/lambdaClassClash/lambdaClassClash.2.kt +++ b/compiler/testData/codegen/boxInline/lambdaClassClash/lambdaClassClash.2.kt @@ -2,7 +2,7 @@ package zzz import kotlin.InlineOption.* -inline fun calc(inlineOptions(ONLY_LOCAL_RETURN) lambda: () -> Int): Int { +inline fun calc(crossinline lambda: () -> Int): Int { return doCalc { lambda() } } diff --git a/compiler/testData/codegen/boxInline/lambdaTransformation/lambdaInLambdaNoInline.1.kt b/compiler/testData/codegen/boxInline/lambdaTransformation/lambdaInLambdaNoInline.1.kt index e91509eac84..06b39e1d286 100644 --- a/compiler/testData/codegen/boxInline/lambdaTransformation/lambdaInLambdaNoInline.1.kt +++ b/compiler/testData/codegen/boxInline/lambdaTransformation/lambdaInLambdaNoInline.1.kt @@ -24,7 +24,7 @@ fun test11(param: String): String { return result } -inline fun test2(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { +inline fun test2(crossinline param: () -> String): String { var result = "fail1" noInlineFun("stub") { a -> concat(param()) { @@ -35,7 +35,7 @@ inline fun test2(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { return result } -inline fun test22(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { +inline fun test22(crossinline param: () -> String): String { var result = "fail1" {{result = param()}()}() diff --git a/compiler/testData/codegen/boxInline/lambdaTransformation/regeneratedLambdaName.2.kt b/compiler/testData/codegen/boxInline/lambdaTransformation/regeneratedLambdaName.2.kt index 4a4786abaec..3ed44607d4a 100644 --- a/compiler/testData/codegen/boxInline/lambdaTransformation/regeneratedLambdaName.2.kt +++ b/compiler/testData/codegen/boxInline/lambdaTransformation/regeneratedLambdaName.2.kt @@ -2,6 +2,6 @@ package test import kotlin.InlineOption.* -inline fun call(inlineOptions(ONLY_LOCAL_RETURN) f: () -> R) : R { +inline fun call(crossinline f: () -> R) : R { return {f()} () } diff --git a/compiler/testData/codegen/boxInline/lambdaTransformation/sameCaptured.1.kt b/compiler/testData/codegen/boxInline/lambdaTransformation/sameCaptured.1.kt index aec9e6eba73..9f4ec047c42 100644 --- a/compiler/testData/codegen/boxInline/lambdaTransformation/sameCaptured.1.kt +++ b/compiler/testData/codegen/boxInline/lambdaTransformation/sameCaptured.1.kt @@ -8,7 +8,7 @@ fun testSameCaptured() : String { return if (result == 12) "OK" else "fail ${result}" } -inline fun testSameCaptured(inlineOptions(ONLY_LOCAL_RETURN) lambdaWithResultCaptured: () -> Unit) : String { +inline fun testSameCaptured(crossinline lambdaWithResultCaptured: () -> Unit) : String { var result = 1; result = doWork({result+=11; lambdaWithResultCaptured(); result}) return if (result == 12) "OK" else "fail ${result}" diff --git a/compiler/testData/codegen/boxInline/lambdaTransformation/sameCaptured.2.kt b/compiler/testData/codegen/boxInline/lambdaTransformation/sameCaptured.2.kt index a9907ead483..c2a9537e4d6 100644 --- a/compiler/testData/codegen/boxInline/lambdaTransformation/sameCaptured.2.kt +++ b/compiler/testData/codegen/boxInline/lambdaTransformation/sameCaptured.2.kt @@ -2,12 +2,12 @@ package test import kotlin.InlineOption.* -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R) : R { +inline fun doWork(crossinline job: ()-> R) : R { val k = 10; return notInline({k; job()}) } -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) job2: () -> R) : R { +inline fun doWork(crossinline job: ()-> R, crossinline job2: () -> R) : R { val k = 10; return notInline({k; job(); job2()}) } diff --git a/compiler/testData/codegen/boxInline/noInline/noInlineLambdaChainWithCapturedInline.1.kt b/compiler/testData/codegen/boxInline/noInline/noInlineLambdaChainWithCapturedInline.1.kt index 5d889cce9c8..325fb194949 100644 --- a/compiler/testData/codegen/boxInline/noInline/noInlineLambdaChainWithCapturedInline.1.kt +++ b/compiler/testData/codegen/boxInline/noInline/noInlineLambdaChainWithCapturedInline.1.kt @@ -2,7 +2,7 @@ import test.* import kotlin.InlineOption.* -inline fun test1(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { +inline fun test1(crossinline param: () -> String): String { var result = "fail" inlineFun("1") { c -> { @@ -20,7 +20,7 @@ inline fun test1(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { } -inline fun test2(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { +inline fun test2(crossinline param: () -> String): String { var result = "fail" inlineFun("2") { a -> { @@ -33,7 +33,7 @@ inline fun test2(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { return result } -inline fun test3(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { +inline fun test3(crossinline param: () -> String): String { var result = "fail" inlineFun("2") { d -> inlineFun("1") { c -> diff --git a/compiler/testData/codegen/boxInline/reified/capturedLambda.2.kt b/compiler/testData/codegen/boxInline/reified/capturedLambda.2.kt index d6d1592d76a..91bef0e4d27 100644 --- a/compiler/testData/codegen/boxInline/reified/capturedLambda.2.kt +++ b/compiler/testData/codegen/boxInline/reified/capturedLambda.2.kt @@ -1,7 +1,7 @@ package test inline fun foo() = bar() {"OK"} -inline fun bar(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) y: () -> String) = { +inline fun bar(crossinline y: () -> String) = { null is E run(y) } diff --git a/compiler/testData/codegen/boxInline/reified/capturedLambda2.2.kt b/compiler/testData/codegen/boxInline/reified/capturedLambda2.2.kt index df5bcadff81..77ebb416d6e 100644 --- a/compiler/testData/codegen/boxInline/reified/capturedLambda2.2.kt +++ b/compiler/testData/codegen/boxInline/reified/capturedLambda2.2.kt @@ -1,6 +1,6 @@ package test -inline fun bar(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) tasksFactory: () -> T) = { +inline fun bar(crossinline tasksFactory: () -> T) = { null is R run(tasksFactory) } diff --git a/compiler/testData/codegen/boxInline/simple/rootConstructor.2.kt b/compiler/testData/codegen/boxInline/simple/rootConstructor.2.kt index 469f479423c..ae7308070dd 100644 --- a/compiler/testData/codegen/boxInline/simple/rootConstructor.2.kt +++ b/compiler/testData/codegen/boxInline/simple/rootConstructor.2.kt @@ -2,7 +2,7 @@ package test import kotlin.InlineOption.* -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R) : R { +inline fun doWork(crossinline job: ()-> R) : R { return notInline({job()}) } diff --git a/compiler/testData/codegen/boxInline/smap/anonymous/lambda.2.kt b/compiler/testData/codegen/boxInline/smap/anonymous/lambda.2.kt index 4a7baf96fc9..38cff54876c 100644 --- a/compiler/testData/codegen/boxInline/smap/anonymous/lambda.2.kt +++ b/compiler/testData/codegen/boxInline/smap/anonymous/lambda.2.kt @@ -1,6 +1,6 @@ package builders -inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) { +inline fun call(crossinline init: () -> Unit) { return { init() }() diff --git a/compiler/testData/codegen/boxInline/smap/anonymous/lambdaOnCallSite.2.kt b/compiler/testData/codegen/boxInline/smap/anonymous/lambdaOnCallSite.2.kt index 38514f9ab7b..1263f8d7b8a 100644 --- a/compiler/testData/codegen/boxInline/smap/anonymous/lambdaOnCallSite.2.kt +++ b/compiler/testData/codegen/boxInline/smap/anonymous/lambdaOnCallSite.2.kt @@ -1,6 +1,6 @@ package builders -inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) { +inline fun call(crossinline init: () -> Unit) { return init() } //NO_CHECK_LAMBDA_INLINING diff --git a/compiler/testData/codegen/boxInline/smap/anonymous/lambdaOnInlineCallSite.2.kt b/compiler/testData/codegen/boxInline/smap/anonymous/lambdaOnInlineCallSite.2.kt index 625d4182bbf..e030aa9dc9d 100644 --- a/compiler/testData/codegen/boxInline/smap/anonymous/lambdaOnInlineCallSite.2.kt +++ b/compiler/testData/codegen/boxInline/smap/anonymous/lambdaOnInlineCallSite.2.kt @@ -1,6 +1,6 @@ package builders -inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) { +inline fun call(crossinline init: () -> Unit) { return init() } diff --git a/compiler/testData/codegen/boxInline/smap/anonymous/object.2.kt b/compiler/testData/codegen/boxInline/smap/anonymous/object.2.kt index 81c21f398be..6dc84b45b68 100644 --- a/compiler/testData/codegen/boxInline/smap/anonymous/object.2.kt +++ b/compiler/testData/codegen/boxInline/smap/anonymous/object.2.kt @@ -1,6 +1,6 @@ package builders -inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) { +inline fun call(crossinline init: () -> Unit) { return object { fun run () { init() diff --git a/compiler/testData/codegen/boxInline/smap/anonymous/objectOnCallSite.2.kt b/compiler/testData/codegen/boxInline/smap/anonymous/objectOnCallSite.2.kt index 625d4182bbf..e030aa9dc9d 100644 --- a/compiler/testData/codegen/boxInline/smap/anonymous/objectOnCallSite.2.kt +++ b/compiler/testData/codegen/boxInline/smap/anonymous/objectOnCallSite.2.kt @@ -1,6 +1,6 @@ package builders -inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) { +inline fun call(crossinline init: () -> Unit) { return init() } diff --git a/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSite.2.kt b/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSite.2.kt index c0162eb578b..78929fcc5cd 100644 --- a/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSite.2.kt +++ b/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSite.2.kt @@ -1,6 +1,6 @@ package builders -inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) { +inline fun call(crossinline init: () -> Unit) { return init() } diff --git a/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSite2.2.kt b/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSite2.2.kt index 024ed1bc20b..a81c464b612 100644 --- a/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSite2.2.kt +++ b/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSite2.2.kt @@ -1,6 +1,6 @@ package builders -inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) { +inline fun call(crossinline init: () -> Unit) { return init() } diff --git a/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSiteWithCapture.2.kt b/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSiteWithCapture.2.kt index a06ce0c3e24..e961e757080 100644 --- a/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSiteWithCapture.2.kt +++ b/compiler/testData/codegen/boxInline/smap/anonymous/objectOnInlineCallSiteWithCapture.2.kt @@ -1,10 +1,10 @@ package builders //TODO there is a bug in asm it's skips linenumber on same line on reading bytecode -inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) { +inline fun call(crossinline init: () -> Unit) { "1"; return init() } -inline fun test(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) p: () -> String): String { +inline fun test(crossinline p: () -> String): String { var res = "Fail" call { diff --git a/compiler/testData/codegen/outerClassInfo/inlineLambda.kt b/compiler/testData/codegen/outerClassInfo/inlineLambda.kt index 9af4c232ed0..0299eb4e551 100644 --- a/compiler/testData/codegen/outerClassInfo/inlineLambda.kt +++ b/compiler/testData/codegen/outerClassInfo/inlineLambda.kt @@ -4,7 +4,7 @@ import kotlin.InlineOption.* class Foo { - inline fun inlineFoo(inlineOptions(ONLY_LOCAL_RETURN) s: () -> Unit) { + inline fun inlineFoo(crossinline s: () -> Unit) { { s() }() diff --git a/compiler/testData/codegen/outerClassInfo/inlineObject.kt b/compiler/testData/codegen/outerClassInfo/inlineObject.kt index 2541a7079af..8352a00ec5e 100644 --- a/compiler/testData/codegen/outerClassInfo/inlineObject.kt +++ b/compiler/testData/codegen/outerClassInfo/inlineObject.kt @@ -4,7 +4,7 @@ import kotlin.InlineOption.* class Foo { - inline fun inlineFoo(inlineOptions(ONLY_LOCAL_RETURN) s: () -> Unit) { + inline fun inlineFoo(crossinline s: () -> Unit) { val localObject = object { fun run() { s() diff --git a/idea/testData/internal/toolWindow/objectInInlineFun/inlineFun.kt b/idea/testData/internal/toolWindow/objectInInlineFun/inlineFun.kt index c4b280d970e..3695d199165 100644 --- a/idea/testData/internal/toolWindow/objectInInlineFun/inlineFun.kt +++ b/idea/testData/internal/toolWindow/objectInInlineFun/inlineFun.kt @@ -1,6 +1,6 @@ package inlineFun1 -inline fun myFun(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) f: () -> Int): Int { +inline fun myFun(crossinline f: () -> Int): Int { val o = object { fun test() = 1 } diff --git a/js/js.translator/testData/inline/cases/rootConstructor.kt b/js/js.translator/testData/inline/cases/rootConstructor.kt index 361b297b1c3..ffc8820632c 100644 --- a/js/js.translator/testData/inline/cases/rootConstructor.kt +++ b/js/js.translator/testData/inline/cases/rootConstructor.kt @@ -7,7 +7,7 @@ package foo import kotlin.InlineOption.* -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R) : R { +inline fun doWork(crossinline job: ()-> R) : R { return notInline({job()}) } diff --git a/js/js.translator/testData/inlineMultiFile/cases/anonymousObjectOnDeclarationSite/anonymousObjectOnDeclarationSite.2.kt b/js/js.translator/testData/inlineMultiFile/cases/anonymousObjectOnDeclarationSite/anonymousObjectOnDeclarationSite.2.kt index 2ee07235f07..c23197be621 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/anonymousObjectOnDeclarationSite/anonymousObjectOnDeclarationSite.2.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/anonymousObjectOnDeclarationSite/anonymousObjectOnDeclarationSite.2.kt @@ -16,7 +16,7 @@ abstract class A { abstract fun getParam() : R } -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) jobK: ()-> R, param: R) : A { +inline fun doWork(crossinline jobO: ()-> R, crossinline jobK: ()-> R, param: R) : A { val s = object : A() { override fun getO(): R { @@ -33,7 +33,7 @@ inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptio return s; } -inline fun doWorkInConstructor(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) jobK: ()-> R, param: R) : A { +inline fun doWorkInConstructor(crossinline jobO: ()-> R, crossinline jobK: ()-> R, param: R) : A { val s = object : A() { val p = param; diff --git a/js/js.translator/testData/inlineMultiFile/cases/anonymousObjectOnDeclarationSiteSuperParams/anonymousObjectOnDeclarationSiteSuperParams.2.kt b/js/js.translator/testData/inlineMultiFile/cases/anonymousObjectOnDeclarationSiteSuperParams/anonymousObjectOnDeclarationSiteSuperParams.2.kt index ace213046b8..974e8559d62 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/anonymousObjectOnDeclarationSiteSuperParams/anonymousObjectOnDeclarationSiteSuperParams.2.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/anonymousObjectOnDeclarationSiteSuperParams/anonymousObjectOnDeclarationSiteSuperParams.2.kt @@ -13,7 +13,7 @@ abstract class A(val param : R) { abstract fun getK() : R } -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) jobK: ()-> R, param: R) : A { +inline fun doWork(crossinline jobO: ()-> R, crossinline jobK: ()-> R, param: R) : A { val s = object : A(param) { override fun getO(): R { @@ -26,7 +26,7 @@ inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptio return s; } -inline fun doWorkInConstructor(inlineOptions(ONLY_LOCAL_RETURN) jobO: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) jobK: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) param: () -> R) : A { +inline fun doWorkInConstructor(crossinline jobO: ()-> R, crossinline jobK: ()-> R, crossinline param: () -> R) : A { val s = object : A(param()) { val o1 = jobO() diff --git a/js/js.translator/testData/inlineMultiFile/cases/buildersAndLambdaCapturing/buildersAndLambdaCapturing.1.kt b/js/js.translator/testData/inlineMultiFile/cases/buildersAndLambdaCapturing/buildersAndLambdaCapturing.1.kt index 7e3acc8b833..133efc26a17 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/buildersAndLambdaCapturing/buildersAndLambdaCapturing.1.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/buildersAndLambdaCapturing/buildersAndLambdaCapturing.1.kt @@ -47,7 +47,7 @@ inline fun testAllInline(f: () -> String) : String { return result.toString()!! } -inline fun testHtmlNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : String { +inline fun testHtmlNoInline(crossinline f: () -> String) : String { val args = array("1", "2", "3") val result = htmlNoInline() { @@ -87,7 +87,7 @@ inline fun testHtmlNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : return result.toString()!! } -inline fun testBodyNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : String { +inline fun testBodyNoInline(crossinline f: () -> String) : String { val args = array("1", "2", "3") val result = html { @@ -127,7 +127,7 @@ inline fun testBodyNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : return result.toString()!! } -inline fun testBodyHtmlNoInline(inlineOptions(ONLY_LOCAL_RETURN) f: () -> String) : String { +inline fun testBodyHtmlNoInline(crossinline f: () -> String) : String { val args = array("1", "2", "3") val result = htmlNoInline { diff --git a/js/js.translator/testData/inlineMultiFile/cases/captureInlinable/captureInlinable.2.kt b/js/js.translator/testData/inlineMultiFile/cases/captureInlinable/captureInlinable.2.kt index 4851b30e986..b03d2e137a0 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/captureInlinable/captureInlinable.2.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/captureInlinable/captureInlinable.2.kt @@ -7,7 +7,7 @@ package test import kotlin.InlineOption.* -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R) : R { +inline fun doWork(crossinline job: ()-> R) : R { return notInline({job()}) } diff --git a/js/js.translator/testData/inlineMultiFile/cases/captureInlinableAndOther/captureInlinableAndOther.2.kt b/js/js.translator/testData/inlineMultiFile/cases/captureInlinableAndOther/captureInlinableAndOther.2.kt index 50128bae9c6..442f3b97f7d 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/captureInlinableAndOther/captureInlinableAndOther.2.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/captureInlinableAndOther/captureInlinableAndOther.2.kt @@ -7,7 +7,7 @@ package test import kotlin.InlineOption.* -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R) : R { +inline fun doWork(crossinline job: ()-> R) : R { val k = 10; return notInline({k; job()}) } diff --git a/js/js.translator/testData/inlineMultiFile/cases/lambdaInLambdaNoInline/lambdaInLambdaNoInline.1.kt b/js/js.translator/testData/inlineMultiFile/cases/lambdaInLambdaNoInline/lambdaInLambdaNoInline.1.kt index e250835183c..6b15cd98af3 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/lambdaInLambdaNoInline/lambdaInLambdaNoInline.1.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/lambdaInLambdaNoInline/lambdaInLambdaNoInline.1.kt @@ -30,7 +30,7 @@ fun test11(param: String): String { return result } -inline fun test2(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { +inline fun test2(crossinline param: () -> String): String { var result = "fail1" noInlineFun("stub") { a -> concat(param()) { @@ -41,7 +41,7 @@ inline fun test2(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { return result } -inline fun test22(inlineOptions(ONLY_LOCAL_RETURN) param: () -> String): String { +inline fun test22(crossinline param: () -> String): String { var result = "fail1" {{result = param()}()}() diff --git a/js/js.translator/testData/inlineMultiFile/cases/regeneratedLambdaName/regeneratedLambdaName.2.kt b/js/js.translator/testData/inlineMultiFile/cases/regeneratedLambdaName/regeneratedLambdaName.2.kt index b69e784594f..dc256578811 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/regeneratedLambdaName/regeneratedLambdaName.2.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/regeneratedLambdaName/regeneratedLambdaName.2.kt @@ -7,6 +7,6 @@ package test import kotlin.InlineOption.* -inline fun call(inlineOptions(ONLY_LOCAL_RETURN) f: () -> R) : R { +inline fun call(crossinline f: () -> R) : R { return {f()} () } diff --git a/js/js.translator/testData/inlineMultiFile/cases/sameCaptured/sameCaptured.1.kt b/js/js.translator/testData/inlineMultiFile/cases/sameCaptured/sameCaptured.1.kt index 8591e98ec9f..6fe8f196bf1 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/sameCaptured/sameCaptured.1.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/sameCaptured/sameCaptured.1.kt @@ -14,7 +14,7 @@ fun testSameCaptured() : String { return if (result == 12) "OK" else "fail ${result}" } -inline fun testSameCaptured(inlineOptions(ONLY_LOCAL_RETURN) lambdaWithResultCaptured: () -> Unit) : String { +inline fun testSameCaptured(crossinline lambdaWithResultCaptured: () -> Unit) : String { var result = 1; result = doWork({result+=11; lambdaWithResultCaptured(); result}) return if (result == 12) "OK" else "fail ${result}" diff --git a/js/js.translator/testData/inlineMultiFile/cases/sameCaptured/sameCaptured.2.kt b/js/js.translator/testData/inlineMultiFile/cases/sameCaptured/sameCaptured.2.kt index 20031727211..023919cad8d 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/sameCaptured/sameCaptured.2.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/sameCaptured/sameCaptured.2.kt @@ -7,12 +7,12 @@ package test import kotlin.InlineOption.* -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R) : R { +inline fun doWork(crossinline job: ()-> R) : R { val k = 10; return notInline({k; job()}) } -inline fun doWork(inlineOptions(ONLY_LOCAL_RETURN) job: ()-> R, inlineOptions(ONLY_LOCAL_RETURN) job2: () -> R) : R { +inline fun doWork(crossinline job: ()-> R, crossinline job2: () -> R) : R { val k = 10; return notInline({k; job(); job2()}) } diff --git a/js/js.translator/testData/inlineMultiFile/cases/with/with.2.kt b/js/js.translator/testData/inlineMultiFile/cases/with/with.2.kt index e5728117fbc..42a844048eb 100644 --- a/js/js.translator/testData/inlineMultiFile/cases/with/with.2.kt +++ b/js/js.translator/testData/inlineMultiFile/cases/with/with.2.kt @@ -33,4 +33,4 @@ public fun Input.copyTo(output: Output, size: Int): Int { return output.doOutput(this.data()) } -public inline fun with2(receiver : T, inlineOptions(ONLY_LOCAL_RETURN) body : T.() -> Unit) : Unit = {receiver.body()}() +public inline fun with2(receiver : T, crossinline body : T.() -> Unit) : Unit = {receiver.body()}() diff --git a/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/lib/lib.kt b/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/lib/lib.kt index 84178c23fc6..cfcebf3719c 100644 --- a/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/lib/lib.kt +++ b/js/js.translator/testData/inlineMultiModule/cases/lambdaCalledInObjectLiteral/lib/lib.kt @@ -1,7 +1,7 @@ package utils inline -public fun apply(x: T, inlineOptions(InlineOption.ONLY_LOCAL_RETURN) fn: (T)->R): R { +public fun apply(x: T, crossinline fn: (T)->R): R { val result = object { val x = fn(x) }