"Make containing function suspend" quickfix: don't suggest for anonymous function

#KT-38948 Fixed
This commit is contained in:
Toshiaki Kameyama
2020-05-21 10:56:42 +09:00
committed by Yan Zhulanow
parent 8f3392d635
commit cea879cbd5
3 changed files with 17 additions and 1 deletions
@@ -43,8 +43,9 @@ class AddSuspendModifierFix(
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
val element = diagnostic.psiElement
val function = (element as? KtElement)?.containingDeclarationForPseudocode as? KtNamedFunction ?: return null
val functionName = function.name ?: return null
return AddSuspendModifierFix(function, function.name)
return AddSuspendModifierFix(function, functionName)
}
}
@@ -0,0 +1,10 @@
// "Make containing function suspend" "false"
// ACTION: Convert to run
// ACTION: Convert to with
// DISABLE-ERRORS
class A {
suspend fun foo() {}
}
val p = fun(a: A) {
a.<caret>foo()
}
@@ -9470,6 +9470,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/testData/quickfix/modifiers/suspend"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true);
}
@TestMetadata("anonymousFunction.kt")
public void testAnonymousFunction() throws Exception {
runTest("idea/testData/quickfix/modifiers/suspend/anonymousFunction.kt");
}
@TestMetadata("base.kt")
public void testBase() throws Exception {
runTest("idea/testData/quickfix/modifiers/suspend/base.kt");