diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/SeverityRegistrar.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/SeverityRegistrar.java index 5126b9042f6c..a044b8ae00dd 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/SeverityRegistrar.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/SeverityRegistrar.java @@ -54,7 +54,7 @@ public class SeverityRegistrar implements JDOMExternalizable, Comparator ourRendererColors = new THashMap(); @NonNls private static final String COLOR = "color"; - private final TObjectIntHashMap myOrder = new TObjectIntHashMap(); + private final OrderMap myOrder = new OrderMap(); private JDOMExternalizableStringList myReadOrder; private static final Map STANDARD_SEVERITIES = new THashMap(); @@ -301,13 +301,15 @@ public class SeverityRegistrar implements JDOMExternalizable, Comparator order = getOrder(); - return order.get(s1) - order.get(s2); + OrderMap order = getOrder(); + int o1 = order.getOrder(s1, -1); + int o2 = order.getOrder(s2, -1); + return o1 - o2; } @NotNull - private TObjectIntHashMap getOrder() { + private OrderMap getOrder() { if (myOrder.isEmpty()) { List order = getDefaultOrder(); setFromList(order); @@ -414,4 +416,11 @@ public class SeverityRegistrar implements JDOMExternalizable, Comparator { + private int getOrder(@NotNull HighlightSeverity severity, int defaultOrder) { + int index = index(severity); + return index < 0 ? defaultOrder : _values[index]; + } + } }