Wrap continuation with ContinuationImpl on callable references
in startCoroutineUninterceptedOrReturn. Otherwise, the coroutine will not be interceptable later. Add a test, which checks, that intercepted continuation is released. #KT-55869
This commit is contained in:
committed by
Space Team
parent
9a2cb2609f
commit
d18672bfb1
+6
@@ -9158,6 +9158,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/intercepted.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("releaseIntercepted.kt")
|
||||
public void testReleaseIntercepted() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/releaseIntercepted.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("resultExceptionOrNullInLambda.kt")
|
||||
public void testResultExceptionOrNullInLambda() throws Exception {
|
||||
|
||||
+6
@@ -9254,6 +9254,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/intercepted.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("releaseIntercepted.kt")
|
||||
public void testReleaseIntercepted() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/releaseIntercepted.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("resultExceptionOrNullInLambda.kt")
|
||||
public void testResultExceptionOrNullInLambda() throws Exception {
|
||||
|
||||
+6
@@ -9254,6 +9254,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/intercepted.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("releaseIntercepted.kt")
|
||||
public void testReleaseIntercepted() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/releaseIntercepted.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("resultExceptionOrNullInLambda.kt")
|
||||
public void testResultExceptionOrNullInLambda() throws Exception {
|
||||
|
||||
+5
@@ -8135,6 +8135,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/intercepted.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("releaseIntercepted.kt")
|
||||
public void testReleaseIntercepted() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/releaseIntercepted.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("resultExceptionOrNullInLambda.kt")
|
||||
public void testResultExceptionOrNullInLambda() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/intrinsicSemantics/resultExceptionOrNullInLambda.kt");
|
||||
|
||||
Reference in New Issue
Block a user