diff --git a/java/java-impl/src/com/intellij/psi/codeStyle/arrangement/JavaRearranger.java b/java/java-impl/src/com/intellij/psi/codeStyle/arrangement/JavaRearranger.java index 2467413da9f0..462b4efbc455 100644 --- a/java/java-impl/src/com/intellij/psi/codeStyle/arrangement/JavaRearranger.java +++ b/java/java-impl/src/com/intellij/psi/codeStyle/arrangement/JavaRearranger.java @@ -41,7 +41,7 @@ public class JavaRearranger implements Rearranger, { // Type - @NotNull private static final Set SUPPORTED_TYPES = EnumSet.of(CLASS, FIELD, METHOD); + @NotNull private static final Set SUPPORTED_TYPES = EnumSet.of(INTERFACE, CLASS, ENUM, FIELD, METHOD); // Modifier @NotNull private static final Set SUPPORTED_MODIFIERS = EnumSet.of( @@ -60,6 +60,8 @@ public class JavaRearranger implements Rearranger, Set commonModifiers = concat(visibilityModifiers, STATIC, FINAL); MODIFIERS_BY_TYPE.put(NO_TYPE, commonModifiers); + MODIFIERS_BY_TYPE.put(ENUM, visibilityModifiers); + MODIFIERS_BY_TYPE.put(INTERFACE, visibilityModifiers); MODIFIERS_BY_TYPE.put(CLASS, concat(commonModifiers, ABSTRACT)); MODIFIERS_BY_TYPE.put(METHOD, concat(commonModifiers, SYNCHRONIZED, ABSTRACT)); MODIFIERS_BY_TYPE.put(FIELD, concat(commonModifiers, TRANSIENT, VOLATILE)); diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/arrangement/match/ArrangementEntryType.java b/platform/lang-api/src/com/intellij/psi/codeStyle/arrangement/match/ArrangementEntryType.java index 0ba54c75a6be..394ed8bb2bdd 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/arrangement/match/ArrangementEntryType.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/arrangement/match/ArrangementEntryType.java @@ -27,5 +27,5 @@ import com.intellij.psi.codeStyle.arrangement.ArrangementEntry; */ public enum ArrangementEntryType { - CLASS, FIELD, METHOD + CLASS, FIELD, METHOD, ENUM, INTERFACE } diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/arrangement/settings/DefaultArrangementSettingsRepresentationManager.java b/platform/lang-api/src/com/intellij/psi/codeStyle/arrangement/settings/DefaultArrangementSettingsRepresentationManager.java index e274cfb3da49..f7467a84f85d 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/arrangement/settings/DefaultArrangementSettingsRepresentationManager.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/arrangement/settings/DefaultArrangementSettingsRepresentationManager.java @@ -37,7 +37,8 @@ public class DefaultArrangementSettingsRepresentationManager implements Arrangem Object[] ids = { // Types. - ArrangementEntryType.FIELD, ArrangementEntryType.METHOD, ArrangementEntryType.CLASS, + ArrangementEntryType.FIELD, ArrangementEntryType.METHOD, ArrangementEntryType.CLASS, ArrangementEntryType.INTERFACE, + ArrangementEntryType.ENUM, // Visibility. ArrangementModifier.PUBLIC, ArrangementModifier.PROTECTED, ArrangementModifier.PACKAGE_PRIVATE, ArrangementModifier.PRIVATE, diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/ArrangementRuleEditor.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/ArrangementRuleEditor.java index 7dc3cdf76d2c..528bf40563e4 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/ArrangementRuleEditor.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/ArrangementRuleEditor.java @@ -156,7 +156,8 @@ public class ArrangementRuleEditor extends JPanel { ArrangementAtomNodeComponent componentToDeselect = myComponents.get(key); myModel.replaceCondition(componentToDeselect.getMatchCondition(), chosenCondition); for (ArrangementAtomNodeComponent componentToCheck : myComponents.values()) { - if (!ArrangementConfigUtil.isEnabled(componentToCheck.getMatchCondition().getValue(), myFilter, myModel.getMatchCondition())) { + Object value = componentToCheck.getMatchCondition().getValue(); + if (myModel.hasCondition(value) && !ArrangementConfigUtil.isEnabled(value, myFilter, myModel.getMatchCondition())) { myModel.removeAndCondition(componentToCheck.getMatchCondition()); } }