[codeInspection] Use a record in place of Pair<@NotNull ActionGroup, @NotNull String>

IJ-CR-117041

GitOrigin-RevId: f6b4b6c5a1e4bb60b09c8f0acdf8bc9b5197e2b9
This commit is contained in:
Louis Vignier
2023-12-05 18:42:48 +01:00
committed by intellij-monorepo-bot
parent f5e86111a0
commit 44c3fa1d67
4 changed files with 9 additions and 12 deletions

View File

@@ -3,14 +3,12 @@ package org.intellij.lang.regexp.inspection.custom;
import com.intellij.codeInspection.InspectionProfileEntry;
import com.intellij.codeInspection.ex.InspectionProfileModifiableModel;
import com.intellij.openapi.actionSystem.ActionGroup;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DefaultActionGroup;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.NlsActions;
import com.intellij.openapi.util.Pair;
import com.intellij.profile.codeInspection.ui.InspectionMetaDataDialog;
import com.intellij.profile.codeInspection.ui.InspectionProfileActionProvider;
import com.intellij.profile.codeInspection.ui.SingleInspectionProfilePanel;
@@ -20,12 +18,12 @@ import org.jetbrains.annotations.Nullable;
public class RegExpProfileActionProvider extends InspectionProfileActionProvider {
@Override
public @Nullable Pair<@NotNull ActionGroup, @NotNull String> getAddActions(@NotNull SingleInspectionProfilePanel panel) {
public @Nullable AddInspectionActionGroup getAddActions(@NotNull SingleInspectionProfilePanel panel) {
final var group = new DefaultActionGroup(
new AddCustomRegExpInspectionAction(panel, RegExpBundle.message("action.add.regexp.search.inspection.text"), false),
new AddCustomRegExpInspectionAction(panel, RegExpBundle.message("action.add.regexp.replace.inspection.text"), true)
);
return Pair.create(group, "regexp.profile.action.provider.add.group");
return new AddInspectionActionGroup(group, "regexp.profile.action.provider.add.group");
}
static final class AddCustomRegExpInspectionAction extends DumbAwareAction {

View File

@@ -23,8 +23,8 @@ public final class CustomInspectionActions {
InspectionProfileActionProvider.EP_NAME.getExtensionList().forEach(provider -> {
final var groupInfo = provider.getAddActions(panel);
if (groupInfo != null) {
ActionManager.getInstance().replaceAction(groupInfo.second, groupInfo.first);
actionGroup.add(groupInfo.first);
ActionManager.getInstance().replaceAction(groupInfo.actionId(), groupInfo.group());
actionGroup.add(groupInfo.group());
}
});
if (actionGroup.getChildrenCount() == 0) return null;

View File

@@ -5,7 +5,6 @@ import com.intellij.codeInspection.InspectionProfileEntry;
import com.intellij.openapi.actionSystem.ActionGroup;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.util.Pair;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -31,11 +30,13 @@ public abstract class InspectionProfileActionProvider {
return List.of();
}
public record AddInspectionActionGroup(@NotNull ActionGroup group, @NotNull String actionId) {}
/**
* @return actions to add custom inspections in the given inspection profile panel.
*/
@Nullable
public Pair<@NotNull ActionGroup, @NotNull String> getAddActions(@NotNull SingleInspectionProfilePanel panel) {
public AddInspectionActionGroup getAddActions(@NotNull SingleInspectionProfilePanel panel) {
return null;
}

View File

@@ -7,14 +7,12 @@ import com.intellij.codeInspection.ex.InspectionProfileImpl;
import com.intellij.codeInspection.ex.InspectionProfileModifiableModel;
import com.intellij.codeInspection.ex.InspectionToolWrapper;
import com.intellij.codeInspection.ex.ScopeToolState;
import com.intellij.openapi.actionSystem.ActionGroup;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DefaultActionGroup;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.NlsActions;
import com.intellij.openapi.util.Pair;
import com.intellij.profile.codeInspection.InspectionProfileManager;
import com.intellij.profile.codeInspection.ui.CustomInspectionActions;
import com.intellij.profile.codeInspection.ui.InspectionMetaDataDialog;
@@ -50,13 +48,13 @@ public class StructuralSearchProfileActionProvider extends InspectionProfileActi
}
@Override
public @Nullable Pair<@NotNull ActionGroup, @NotNull String> getAddActions(@NotNull SingleInspectionProfilePanel panel) {
public @Nullable AddInspectionActionGroup getAddActions(@NotNull SingleInspectionProfilePanel panel) {
enableSSIfDisabled(panel.getProfile(), panel.getProject());
final var group = new DefaultActionGroup(
new AddInspectionAction(panel, SSRBundle.message("SSRInspection.add.search.template.button"), false),
new AddInspectionAction(panel, SSRBundle.message("SSRInspection.add.replace.template.button"), true)
);
return Pair.create(group, "ssr.profile.action.provider.add.group");
return new AddInspectionActionGroup(group, "ssr.profile.action.provider.add.group");
}
@Override