diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/ChangeCoroutineSupportFix.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/ChangeCoroutineSupportFix.kt index 418b691dbdd..b9727342294 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/ChangeCoroutineSupportFix.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/ChangeCoroutineSupportFix.kt @@ -64,15 +64,9 @@ sealed class ChangeCoroutineSupportFix( override fun doCreateActions(diagnostic: Diagnostic): List { val module = ModuleUtilCore.findModuleForPsiElement(diagnostic.psiElement) ?: return emptyList() - fun shouldConfigureInProject(): Boolean { - val facetSettings = KotlinFacet.get(module)?.configuration?.settings - return (facetSettings == null || facetSettings.useProjectSettings) && - module.getBuildSystemType() == BuildSystemType.JPS - } - return doCreateActions( diagnostic, LanguageFeature.Coroutines, allowWarningAndErrorMode = true, - quickFixConstructor = if (shouldConfigureInProject()) { element, _, coroutineSupport -> + quickFixConstructor = if (shouldConfigureInProject(module)) { element, _, coroutineSupport -> InProject( element, coroutineSupport diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/ChangeGeneralLanguageFeatureSupportFix.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/ChangeGeneralLanguageFeatureSupportFix.kt index a47199c4a19..29c456d92a7 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/ChangeGeneralLanguageFeatureSupportFix.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/ChangeGeneralLanguageFeatureSupportFix.kt @@ -71,16 +71,10 @@ sealed class ChangeGeneralLanguageFeatureSupportFix( override fun doCreateActions(diagnostic: Diagnostic): List { val module = ModuleUtilCore.findModuleForPsiElement(diagnostic.psiElement) ?: return emptyList() - fun shouldConfigureInProject(): Boolean { - val facetSettings = KotlinFacet.get(module)?.configuration?.settings - return (facetSettings == null || facetSettings.useProjectSettings) && - module.getBuildSystemType() == BuildSystemType.JPS - } - return supportedFeatures.flatMap { feature -> doCreateActions( diagnostic, feature, allowWarningAndErrorMode = false, - quickFixConstructor = if (shouldConfigureInProject()) ::InProject else ::InModule + quickFixConstructor = if (shouldConfigureInProject(module)) ::InProject else ::InModule ) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AbstractChangeFeatureSupportLevelFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/AbstractChangeFeatureSupportLevelFix.kt index 04d2a8380f3..ba3dfe99a73 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AbstractChangeFeatureSupportLevelFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AbstractChangeFeatureSupportLevelFix.kt @@ -6,10 +6,14 @@ package org.jetbrains.kotlin.idea.quickfix import com.intellij.codeInsight.intention.IntentionAction +import com.intellij.openapi.module.Module import com.intellij.psi.PsiElement import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Errors +import org.jetbrains.kotlin.idea.configuration.BuildSystemType +import org.jetbrains.kotlin.idea.configuration.getBuildSystemType +import org.jetbrains.kotlin.idea.facet.KotlinFacet abstract class AbstractChangeFeatureSupportLevelFix( element: PsiElement, @@ -35,6 +39,12 @@ abstract class AbstractChangeFeatureSupportLevelFix( } abstract class FeatureSupportIntentionActionsFactory : KotlinIntentionActionsFactory() { + protected fun shouldConfigureInProject(module: Module): Boolean { + val facetSettings = KotlinFacet.get(module)?.configuration?.settings + return (facetSettings == null || facetSettings.useProjectSettings) && + module.getBuildSystemType() == BuildSystemType.JPS + } + protected fun doCreateActions( diagnostic: Diagnostic, feature: LanguageFeature,