From 8b0fa776c16d18cf26b4668b4caa3cf5b57ca07a Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 30 Jun 2014 10:59:42 +0200 Subject: [PATCH] provide equals/hashcode to work inside maps/sets correctly (IDEA-126131) --- .../ide/util/gotoByName/GotoActionModel.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionModel.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionModel.java index ce59e892c6c2..7e2678edba95 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionModel.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionModel.java @@ -651,7 +651,7 @@ public class GotoActionModel implements ChooseByNameModel, CustomMatcherModel, C private MatchMode myMode; private String myGroupName; - public ActionWrapper(AnAction action, String groupName, MatchMode mode) { + public ActionWrapper(@NotNull AnAction action, String groupName, MatchMode mode) { myAction = action; myMode = mode; myGroupName = groupName; @@ -680,5 +680,15 @@ public class GotoActionModel implements ChooseByNameModel, CustomMatcherModel, C public void setGroupName(String groupName) { myGroupName = groupName; } + + @Override + public boolean equals(Object obj) { + return obj instanceof ActionWrapper && compareTo((ActionWrapper)obj) == 0; + } + + @Override + public int hashCode() { + return myAction.getTemplatePresentation().getText().hashCode(); + } } }