diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/codeInsight/inspections/coroutines/SuspiciousImplicitCoroutineScopeReceiverAccessInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/codeInsight/inspections/coroutines/SuspiciousImplicitCoroutineScopeReceiverAccessInspection.kt index 1d847e2df0c1..e88ee5fa60e0 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/codeInsight/inspections/coroutines/SuspiciousImplicitCoroutineScopeReceiverAccessInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/codeInsight/inspections/coroutines/SuspiciousImplicitCoroutineScopeReceiverAccessInspection.kt @@ -162,7 +162,7 @@ internal class SuspiciousImplicitCoroutineScopeReceiverAccessInspection : samConstructor?.samConstructorLambdaParameterType } else { parameterType - } ?: continue + } ?: return false if (lambdaType.isSuspendFunctionType && !isAllowedSuspendingFunction(functionSymbol)) { return true diff --git a/plugins/kotlin/code-insight/inspections-k2/tests/test/org/jetbrains/kotlin/idea/inspections/tests/K2LocalInspectionTestGenerated.java b/plugins/kotlin/code-insight/inspections-k2/tests/test/org/jetbrains/kotlin/idea/inspections/tests/K2LocalInspectionTestGenerated.java index e0d5b3ba3e55..cfe05a7dd984 100644 --- a/plugins/kotlin/code-insight/inspections-k2/tests/test/org/jetbrains/kotlin/idea/inspections/tests/K2LocalInspectionTestGenerated.java +++ b/plugins/kotlin/code-insight/inspections-k2/tests/test/org/jetbrains/kotlin/idea/inspections/tests/K2LocalInspectionTestGenerated.java @@ -16307,6 +16307,11 @@ public abstract class K2LocalInspectionTestGenerated extends AbstractK2LocalInsp runTest("testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterface.kt"); } + @TestMetadata("functionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava.kt") + public void testFunctionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava() throws Exception { + runTest("testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava.kt"); + } + @TestMetadata("functionExtensionReceiver_suspendWrapper_suspendFunInterface_explicitSamConstructor.kt") public void testFunctionExtensionReceiver_suspendWrapper_suspendFunInterface_explicitSamConstructor() throws Exception { runTest("testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterface_explicitSamConstructor.kt"); diff --git a/plugins/kotlin/code-insight/inspections-k2/tests/testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava.1.java b/plugins/kotlin/code-insight/inspections-k2/tests/testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava.1.java new file mode 100644 index 000000000000..c21aa947d45b --- /dev/null +++ b/plugins/kotlin/code-insight/inspections-k2/tests/testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava.1.java @@ -0,0 +1,13 @@ +package test + +import kotlinx.coroutines.CoroutineScope + +interface CustomSuspendLambda { + void customInvoke(); +} + +class Main { + static void suspendWrapper(CustomSuspendLambda action) { + action.customInvoke(); + } +} \ No newline at end of file diff --git a/plugins/kotlin/code-insight/inspections-k2/tests/testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava.kt b/plugins/kotlin/code-insight/inspections-k2/tests/testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava.kt new file mode 100644 index 000000000000..9313c4539b21 --- /dev/null +++ b/plugins/kotlin/code-insight/inspections-k2/tests/testData/inspectionsLocal/coroutines/ambiguousCoroutineScope/functionExtensionReceiver_suspendWrapper_suspendFunInterfaceJava.kt @@ -0,0 +1,14 @@ +// WITH_COROUTINES +// PROBLEM: none +package test + +import kotlinx.coroutines.CoroutineScope + + +fun CoroutineScope.doStuff() {} + +suspend fun CoroutineScope.test() { + Main.suspendWrapper { + doStuff() + } +} \ No newline at end of file