mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
inconsistent language level: avoid LocalQuickFix when QuickFix is expected (IDEA-156375)
This commit is contained in:
@@ -136,8 +136,8 @@ public abstract class QuickFixFactory {
|
||||
|
||||
@NotNull public abstract IntentionAction createRemoveParameterListFix(@NotNull PsiMethod parent);
|
||||
|
||||
@NotNull public abstract IntentionAndQuickFixAction createShowModulePropertiesFix(@NotNull PsiElement element);
|
||||
@NotNull public abstract IntentionAndQuickFixAction createShowModulePropertiesFix(@NotNull Module module);
|
||||
@NotNull public abstract IntentionAction createShowModulePropertiesFix(@NotNull PsiElement element);
|
||||
@NotNull public abstract IntentionAction createShowModulePropertiesFix(@NotNull Module module);
|
||||
|
||||
@NotNull public abstract IntentionAction createIncreaseLanguageLevelFix(@NotNull LanguageLevel level);
|
||||
|
||||
|
||||
+2
-2
@@ -283,7 +283,7 @@ public class EmptyQuickFixFactory extends QuickFixFactory {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public IntentionAndQuickFixAction createShowModulePropertiesFix(@NotNull PsiElement psiElement) {
|
||||
public IntentionAction createShowModulePropertiesFix(@NotNull PsiElement psiElement) {
|
||||
return QuickFixes.EMPTY_ACTION;
|
||||
}
|
||||
|
||||
@@ -586,7 +586,7 @@ public class EmptyQuickFixFactory extends QuickFixFactory {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public IntentionAndQuickFixAction createShowModulePropertiesFix(@NotNull Module module) {
|
||||
public IntentionAction createShowModulePropertiesFix(@NotNull Module module) {
|
||||
return QuickFixes.EMPTY_ACTION;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ public class InconsistentLanguageLevelInspection extends GlobalInspectionTool {
|
||||
"Inconsistent language level settings: module " + module.getName() + " with language level " + languageLevel +
|
||||
" depends on module " + dependantModule.getName() +" with language level " + dependantLanguageLevel,
|
||||
new UnnecessaryModuleDependencyInspection.RemoveModuleDependencyFix(module, dependantModule),
|
||||
QuickFixFactory.getInstance().createShowModulePropertiesFix(module));
|
||||
(QuickFix)QuickFixFactory.getInstance().createShowModulePropertiesFix(module));
|
||||
problemProcessor.addProblemElement(refModule, problemDescriptor);
|
||||
}
|
||||
}
|
||||
|
||||
+19
-3
@@ -15,7 +15,9 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInspection.IntentionAndQuickFixAction;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInspection.CommonProblemDescriptor;
|
||||
import com.intellij.codeInspection.QuickFix;
|
||||
import com.intellij.openapi.actionSystem.ActionManager;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.IdeActions;
|
||||
@@ -26,10 +28,12 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class ShowModulePropertiesFix extends IntentionAndQuickFixAction {
|
||||
public class ShowModulePropertiesFix implements QuickFix<CommonProblemDescriptor>, IntentionAction {
|
||||
private final String myModuleName;
|
||||
|
||||
public ShowModulePropertiesFix(@NotNull PsiElement context) {
|
||||
@@ -47,19 +51,31 @@ public class ShowModulePropertiesFix extends IntentionAndQuickFixAction {
|
||||
return action.getTemplatePresentation().getText();
|
||||
}
|
||||
|
||||
@Nls
|
||||
@NotNull
|
||||
@Override
|
||||
public String getText() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public String getFamilyName() {
|
||||
return getText();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyFix(@NotNull Project project, @NotNull CommonProblemDescriptor descriptor) {
|
||||
invoke(project, null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(@NotNull final Project project, final Editor editor, final PsiFile file) {
|
||||
return myModuleName != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyFix(@NotNull Project project, PsiFile file, @Nullable Editor editor) {
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
ProjectSettingsService.getInstance(project).showModuleConfigurationDialog(myModuleName, null);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -340,12 +340,12 @@ public class QuickFixFactoryImpl extends QuickFixFactory {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public IntentionAndQuickFixAction createShowModulePropertiesFix(@NotNull PsiElement element) {
|
||||
public IntentionAction createShowModulePropertiesFix(@NotNull PsiElement element) {
|
||||
return new ShowModulePropertiesFix(element);
|
||||
}
|
||||
@NotNull
|
||||
@Override
|
||||
public IntentionAndQuickFixAction createShowModulePropertiesFix(@NotNull Module module) {
|
||||
public IntentionAction createShowModulePropertiesFix(@NotNull Module module) {
|
||||
return new ShowModulePropertiesFix(module);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user