IDEA-19061 Integrate the Rearranger-plugin into core-IDEA

1. 'Constructor' entry type is defined and supported at java rearranger;
2. Test data fixes;
This commit is contained in:
Denis.Zhdanov
2012-09-06 13:21:41 +04:00
parent a0b15e3f6f
commit 4a4aa01505
11 changed files with 137 additions and 16 deletions
@@ -94,7 +94,8 @@ public class JavaArrangementVisitor extends JavaElementVisitor {
@Override
public void visitMethod(PsiMethod method) {
JavaElementArrangementEntry entry = createNewEntry(method.getTextRange(), ArrangementEntryType.METHOD, method.getName(), true);
ArrangementEntryType type = method.isConstructor() ? ArrangementEntryType.CONSTRUCTOR : ArrangementEntryType.METHOD;
JavaElementArrangementEntry entry = createNewEntry(method.getTextRange(), type, method.getName(), true);
processEntry(entry, method, method.getBody());
}
@@ -58,6 +58,9 @@ public class JavaElementArrangementEntry extends DefaultArrangementEntry
super(parent, startOffset, endOffset, canBeArranged);
myType = type;
myTypes = EnumSet.of(type);
if (myType == ArrangementEntryType.CONSTRUCTOR) {
myTypes.add(ArrangementEntryType.METHOD);
}
myName = name;
}
@@ -45,7 +45,7 @@ public class JavaRearranger implements Rearranger<JavaElementArrangementEntry>,
{
// Type
@NotNull private static final Set<ArrangementEntryType> SUPPORTED_TYPES = EnumSet.of(INTERFACE, CLASS, ENUM, FIELD, METHOD);
@NotNull private static final Set<ArrangementEntryType> SUPPORTED_TYPES = EnumSet.of(INTERFACE, CLASS, ENUM, FIELD, METHOD, CONSTRUCTOR);
// Modifier
@NotNull private static final Set<ArrangementModifier> SUPPORTED_MODIFIERS = EnumSet.of(
@@ -68,6 +68,7 @@ public class JavaRearranger implements Rearranger<JavaElementArrangementEntry>,
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(CONSTRUCTOR, concat(commonModifiers, SYNCHRONIZED));
MODIFIERS_BY_TYPE.put(FIELD, concat(commonModifiers, TRANSIENT, VOLATILE));
}
@@ -86,6 +87,7 @@ public class JavaRearranger implements Rearranger<JavaElementArrangementEntry>,
for (ArrangementModifier modifier : visibility) {
and(FIELD, modifier);
}
and(CONSTRUCTOR);
and(METHOD);
and(ENUM);
and(INTERFACE);