### Eclipse Workspace Patch 1.0
#P org.eclipse.jdt.ui
Index: core extension/org/eclipse/jdt/internal/corext/fix/CleanUpConstants.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpConstants.java,v
retrieving revision 1.30
diff -u -r1.30 CleanUpConstants.java
--- core extension/org/eclipse/jdt/internal/corext/fix/CleanUpConstants.java 1 Mar 2011 11:50:39 -0000 1.30
+++ core extension/org/eclipse/jdt/internal/corext/fix/CleanUpConstants.java 25 Mar 2011 20:26:38 -0000
@@ -663,6 +663,19 @@
public static final String VARIABLE_DECLARATION_USE_TYPE_ARGUMENTS_FOR_RAW_TYPE_REFERENCES= "cleanup.use_arguments_for_raw_type_references"; //$NON-NLS-1$
/**
+ * Correct modifiers order for variable declarations.
+ *
+ * Possible values: {TRUE, FALSE}
+ *
+ *
+ *
+ * @see CleanUpOptions#TRUE
+ * @see CleanUpOptions#FALSE
+ * @since 3.7
+ */
+ public static final String VARIABLE_DECLARATIONS_SORT_MODIFIERS= "cleanup.correct_variable_modifiers_order"; //$NON-NLS-1$
+
+ /**
* Removes unused imports.
*
* Possible values: {TRUE, FALSE}
@@ -1135,6 +1148,7 @@
options.setOption(VARIABLE_DECLARATIONS_USE_FINAL_LOCAL_VARIABLES, CleanUpOptions.TRUE);
options.setOption(VARIABLE_DECLARATIONS_USE_FINAL_PARAMETERS, CleanUpOptions.FALSE);
options.setOption(VARIABLE_DECLARATIONS_USE_FINAL_PRIVATE_FIELDS, CleanUpOptions.TRUE);
+ options.setOption(VARIABLE_DECLARATIONS_SORT_MODIFIERS, CleanUpOptions.FALSE);
//Unused Code
options.setOption(REMOVE_UNUSED_CODE_IMPORTS, CleanUpOptions.TRUE);
Index: core extension/org/eclipse/jdt/internal/corext/fix/FixMessages.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/FixMessages.java,v
retrieving revision 1.43
diff -u -r1.43 FixMessages.java
--- core extension/org/eclipse/jdt/internal/corext/fix/FixMessages.java 29 Jan 2011 05:29:11 -0000 1.43
+++ core extension/org/eclipse/jdt/internal/corext/fix/FixMessages.java 25 Mar 2011 20:26:38 -0000
@@ -116,6 +116,7 @@
public static String VariableDeclarationFix_changeModifierOfUnknownToFinal_description;
public static String VariableDeclarationFix_ChangeMidifiersToFinalWherPossible_description;
+ public static String VariableDeclarationFix_sortModifiers_description;
static {
// initialize resource bundle
Index: core extension/org/eclipse/jdt/internal/corext/fix/FixMessages.properties
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/FixMessages.properties,v
retrieving revision 1.50
diff -u -r1.50 FixMessages.properties
--- core extension/org/eclipse/jdt/internal/corext/fix/FixMessages.properties 29 Jan 2011 05:29:11 -0000 1.50
+++ core extension/org/eclipse/jdt/internal/corext/fix/FixMessages.properties 25 Mar 2011 20:26:39 -0000
@@ -82,6 +82,7 @@
VariableDeclarationFix_changeModifierOfUnknownToFinal_description=Change modifier to final
VariableDeclarationFix_add_final_change_name=Add final
VariableDeclarationFix_ChangeMidifiersToFinalWherPossible_description=Change modifiers to final where possible
+VariableDeclarationFix_sortModifiers_description=Correct modifiers order
PotentialProgrammingProblemsFix_calculatingUIDFailed_unknown=Could not calculate a serial version id for {0}. The type will be ignored.
PotentialProgrammingProblemsFix_add_id_change_name=Add Serial Version ID
Index: core extension/org/eclipse/jdt/internal/corext/fix/SortModifiersFix.java
===================================================================
RCS file: core extension/org/eclipse/jdt/internal/corext/fix/SortModifiersFix.java
diff -N core extension/org/eclipse/jdt/internal/corext/fix/SortModifiersFix.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ core extension/org/eclipse/jdt/internal/corext/fix/SortModifiersFix.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * Chris West (Faux) - [clean up] "Use modifier 'final' where possible" can introduce compile errors - https://bugs.eclipse.org/bugs/show_bug.cgi?id=272532
+ *******************************************************************************/
+package org.eclipse.jdt.internal.corext.fix;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+
+import org.eclipse.text.edits.TextEditGroup;
+
+import org.eclipse.jdt.core.dom.ASTNode;
+import org.eclipse.jdt.core.dom.BodyDeclaration;
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jdt.core.dom.IExtendedModifier;
+import org.eclipse.jdt.core.dom.Modifier;
+import org.eclipse.jdt.core.dom.Modifier.ModifierKeyword;
+import org.eclipse.jdt.core.dom.SimpleName;
+import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
+import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
+
+import org.eclipse.jdt.internal.corext.dom.ASTNodeFactory;
+import org.eclipse.jdt.internal.corext.dom.HierarchicalASTVisitor;
+import org.eclipse.jdt.internal.corext.refactoring.structure.CompilationUnitRewrite;
+
+import org.eclipse.jdt.ui.cleanup.ICleanUpFix;
+
+public class SortModifiersFix extends CompilationUnitRewriteOperationsFix {
+
+ private static class UnsortedModifiersNodeFinder extends HierarchicalASTVisitor {
+
+ private final List fOperations;
+
+ public UnsortedModifiersNodeFinder(List operations) {
+ fOperations= operations;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean visit(BodyDeclaration node) {
+ int modifiers= node.getModifiers();
+ if (modifiers != Modifier.NONE) {
+ List newModifiers= ASTNodeFactory.newModifiers(node.getAST(), modifiers);
+ List oldModifiers= node.modifiers();
+ for (int o= 0, n= 0; o < oldModifiers.size(); o++) {
+ IExtendedModifier modifier= oldModifiers.get(o);
+ if (modifier.isAnnotation())
+ continue;
+ ModifierKeyword oldKeyword= ((Modifier) modifier).getKeyword();
+ ModifierKeyword newKeyword= newModifiers.get(n++).getKeyword();
+ if (oldKeyword != newKeyword) {
+ fOperations.add(new SortModifiersOperation(node, newModifiers));
+ break;
+ }
+ }
+ }
+ return super.visit(node);
+ }
+ }
+
+ private static class SortModifiersOperation extends CompilationUnitRewriteOperation {
+
+ private final BodyDeclaration fWithModifiersNode;
+ private final List fNewModifiers;
+
+ public SortModifiersOperation(BodyDeclaration withModifiersNode, List newModifiers) {
+ fWithModifiersNode= withModifiersNode;
+ fNewModifiers= newModifiers;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void rewriteAST(CompilationUnitRewrite cuRewrite, LinkedProposalModel model) throws CoreException {
+ ASTRewrite rewrite= cuRewrite.getASTRewrite();
+ TextEditGroup group= createTextEditGroup(FixMessages.VariableDeclarationFix_sortModifiers_description, cuRewrite);
+
+ List oldModifiers= fWithModifiersNode.modifiers();
+ for (int i= 0; i < oldModifiers.size(); i++) {
+ Object modifier= oldModifiers.get(i);
+ if (modifier instanceof Modifier) {
+ rewrite.remove((Modifier) modifier, group);
+ }
+ }
+
+ ListRewrite listRewrite= rewrite.getListRewrite(fWithModifiersNode, fWithModifiersNode.getModifiersProperty());
+ for (int i= 0; i < fNewModifiers.size(); i++) {
+ Modifier curr= fNewModifiers.get(i);
+ listRewrite.insertLast(curr, group);
+ }
+ }
+ }
+
+ public static SortModifiersFix createFix(final CompilationUnit compilationUnit, ASTNode[] selectedNodes) {
+ List operations= new ArrayList();
+ UnsortedModifiersNodeFinder visitor= new UnsortedModifiersNodeFinder(operations);
+ compilationUnit.accept(visitor);
+ if (selectedNodes.length == 1) {
+ if (selectedNodes[0] instanceof SimpleName) {
+ selectedNodes[0]= selectedNodes[0].getParent();
+ }
+ selectedNodes[0].accept(visitor);
+ } else {
+ for (int i= 0; i < selectedNodes.length; i++) {
+ ASTNode selectedNode= selectedNodes[i];
+ selectedNode.accept(visitor);
+ }
+ }
+ if (operations.size() == 0)
+ return null;
+
+ CompilationUnitRewriteOperation[] fixRewriteOperations= operations.toArray(new CompilationUnitRewriteOperation[operations.size()]);
+
+ return new SortModifiersFix(FixMessages.VariableDeclarationFix_sortModifiers_description, compilationUnit, fixRewriteOperations);
+ }
+
+ public static ICleanUpFix createCleanUp(CompilationUnit compilationUnit) {
+ List operations= new ArrayList();
+ UnsortedModifiersNodeFinder finder= new UnsortedModifiersNodeFinder(operations);
+ compilationUnit.accept(finder);
+
+ if (operations.isEmpty())
+ return null;
+
+ CompilationUnitRewriteOperation[] fixRewriteOperations= operations.toArray(new CompilationUnitRewriteOperation[operations.size()]);
+
+ return new SortModifiersFix(FixMessages.VariableDeclarationFix_sortModifiers_description, compilationUnit, fixRewriteOperations);
+ }
+
+ protected SortModifiersFix(String name, CompilationUnit compilationUnit, CompilationUnitRewriteOperation[] fixRewriteOperations) {
+ super(name, compilationUnit, fixRewriteOperations);
+ }
+
+}
Index: plugin.xml
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/plugin.xml,v
retrieving revision 1.846
diff -u -r1.846 plugin.xml
--- plugin.xml 6 Dec 2010 07:02:24 -0000 1.846
+++ plugin.xml 25 Mar 2011 20:26:44 -0000
@@ -6616,6 +6616,11 @@
runAfter="org.eclipse.jdt.ui.cleanup.loop">
+
+
Index: ui/org/eclipse/jdt/internal/ui/fix/SortModifiersCleanUp.java
===================================================================
RCS file: ui/org/eclipse/jdt/internal/ui/fix/SortModifiersCleanUp.java
diff -N ui/org/eclipse/jdt/internal/ui/fix/SortModifiersCleanUp.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ui/org/eclipse/jdt/internal/ui/fix/SortModifiersCleanUp.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jdt.internal.ui.fix;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.CoreException;
+
+import org.eclipse.jdt.core.dom.CompilationUnit;
+
+import org.eclipse.jdt.internal.corext.fix.CleanUpConstants;
+import org.eclipse.jdt.internal.corext.fix.SortModifiersFix;
+
+import org.eclipse.jdt.ui.cleanup.CleanUpContext;
+import org.eclipse.jdt.ui.cleanup.CleanUpRequirements;
+import org.eclipse.jdt.ui.cleanup.ICleanUpFix;
+
+public class SortModifiersCleanUp extends AbstractCleanUp {
+
+ public SortModifiersCleanUp(Map options) {
+ super(options);
+ }
+
+ public SortModifiersCleanUp() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public CleanUpRequirements getRequirements() {
+ return new CleanUpRequirements(requireAST(), false, false, null);
+ }
+
+ private boolean requireAST() {
+ return isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_SORT_MODIFIERS);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
+ CompilationUnit compilationUnit= context.getAST();
+ if (compilationUnit == null)
+ return null;
+
+ boolean addFinal= isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_SORT_MODIFIERS);
+ if (!addFinal)
+ return null;
+
+ return SortModifiersFix.createCleanUp(compilationUnit);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String[] getStepDescriptions() {
+ List result= new ArrayList();
+ return (String[])result.toArray(new String[result.size()]);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getPreview() {
+ StringBuffer buf= new StringBuffer();
+
+ if (isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_SORT_MODIFIERS)) {
+ buf.append("abstract public class A {\n"); //$NON-NLS-1$
+ buf.append(" static public final int FIELD= 0;\n"); //$NON-NLS-1$
+ buf.append(" final synchronized protected void foo() {}\n"); //$NON-NLS-1$
+ } else {
+ buf.append("public abstract class A {\n"); //$NON-NLS-1$
+ buf.append(" public static final int FIELD= 0;\n"); //$NON-NLS-1$
+ buf.append(" synchronized protected final void foo() {}\n"); //$NON-NLS-1$
+ }
+ buf.append("}\n"); //$NON-NLS-1$
+
+ return buf.toString();
+ }
+
+}
Index: ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.java,v
retrieving revision 1.19
diff -u -r1.19 CleanUpMessages.java
--- ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.java 21 May 2010 07:30:58 -0000 1.19
+++ ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.java 25 Mar 2011 20:26:46 -0000
@@ -53,6 +53,7 @@
public static String CodeStyleTabPage_CheckboxName_UseFinalForFields;
public static String CodeStyleTabPage_CheckboxName_UseFinalForLocals;
public static String CodeStyleTabPage_CheckboxName_UseFinalForParameters;
+ public static String CodeStyleTabPage_CheckboxName_SortModifiers;
public static String CodeStyleTabPage_CheckboxName_UseParentheses;
public static String CodeStyleTabPage_GroupName_ControlStatments;
public static String CodeStyleTabPage_GroupName_Expressions;
Index: ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.properties
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.properties,v
retrieving revision 1.26
diff -u -r1.26 CleanUpMessages.properties
--- ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.properties 20 May 2010 09:16:59 -0000 1.26
+++ ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.properties 25 Mar 2011 20:26:46 -0000
@@ -43,6 +43,7 @@
CodeStyleTabPage_GroupName_VariableDeclarations=Variable declarations
CodeStyleTabPage_CheckboxName_UseFinalForFields=Private &fields
CodeStyleTabPage_CheckboxName_UseFinalForLocals=&Local variables
+CodeStyleTabPage_CheckboxName_SortModifiers=Sort modifiers
CodeStyleTabPage_CheckboxName_ConvertForLoopToEnhanced=Conver&t for loops to enhanced
CodeStyleTabPage_GroupName_ControlStatments=Control statements
CodeStyleTabPage_RadioName_UseBlocksSpecial=Always &except for single 'return' or 'throw' statements
Index: ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java,v
retrieving revision 1.13
diff -u -r1.13 CodeStyleTabPage.java
--- ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java 1 Mar 2011 11:51:08 -0000 1.13
+++ ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java 25 Mar 2011 20:26:46 -0000
@@ -21,6 +21,7 @@
import org.eclipse.jdt.internal.ui.fix.ControlStatementsCleanUp;
import org.eclipse.jdt.internal.ui.fix.ConvertLoopCleanUp;
import org.eclipse.jdt.internal.ui.fix.ExpressionsCleanUp;
+import org.eclipse.jdt.internal.ui.fix.SortModifiersCleanUp;
import org.eclipse.jdt.internal.ui.fix.VariableDeclarationCleanUp;
public final class CodeStyleTabPage extends AbstractCleanUpTabPage {
@@ -37,7 +38,8 @@
new ControlStatementsCleanUp(values),
new ConvertLoopCleanUp(values),
new ExpressionsCleanUp(values),
- new VariableDeclarationCleanUp(values)
+ new VariableDeclarationCleanUp(values),
+ new SortModifiersCleanUp(values),
};
}
@@ -74,5 +76,8 @@
final CheckboxPreference useFinalParametersPref= createCheckboxPref(variableGroup, 1, CleanUpMessages.CodeStyleTabPage_CheckboxName_UseFinalForParameters, CleanUpConstants.VARIABLE_DECLARATIONS_USE_FINAL_PARAMETERS, CleanUpModifyDialog.FALSE_TRUE);
final CheckboxPreference useFinalVariablesPref= createCheckboxPref(variableGroup, 1, CleanUpMessages.CodeStyleTabPage_CheckboxName_UseFinalForLocals, CleanUpConstants.VARIABLE_DECLARATIONS_USE_FINAL_LOCAL_VARIABLES, CleanUpModifyDialog.FALSE_TRUE);
registerSlavePreference(useFinalPref, new CheckboxPreference[] {useFinalFieldsPref, useFinalParametersPref, useFinalVariablesPref});
+
+ final CheckboxPreference sortModifiersPref= createCheckboxPref(variableGroup, numColumns, CleanUpMessages.CodeStyleTabPage_CheckboxName_SortModifiers, CleanUpConstants.VARIABLE_DECLARATIONS_SORT_MODIFIERS, CleanUpModifyDialog.FALSE_TRUE);
+ registerPreference(sortModifiersPref);
}
}
Index: ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java,v
retrieving revision 1.171
diff -u -r1.171 QuickAssistProcessor.java
--- ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java 7 Mar 2011 14:42:43 -0000 1.171
+++ ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java 25 Mar 2011 20:26:47 -0000
@@ -116,6 +116,7 @@
import org.eclipse.jdt.internal.corext.fix.CleanUpConstants;
import org.eclipse.jdt.internal.corext.fix.ControlStatementsFix;
import org.eclipse.jdt.internal.corext.fix.ConvertLoopFix;
+import org.eclipse.jdt.internal.corext.fix.SortModifiersFix;
import org.eclipse.jdt.internal.corext.fix.IProposableFix;
import org.eclipse.jdt.internal.corext.fix.LinkedProposalModel;
import org.eclipse.jdt.internal.corext.fix.VariableDeclarationFix;
@@ -141,6 +142,7 @@
import org.eclipse.jdt.internal.ui.JavaPluginImages;
import org.eclipse.jdt.internal.ui.fix.ControlStatementsCleanUp;
import org.eclipse.jdt.internal.ui.fix.ConvertLoopCleanUp;
+import org.eclipse.jdt.internal.ui.fix.SortModifiersCleanUp;
import org.eclipse.jdt.internal.ui.fix.VariableDeclarationCleanUp;
import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
import org.eclipse.jdt.internal.ui.text.correction.proposals.ASTRewriteCorrectionProposal;
@@ -204,6 +206,7 @@
|| getConvertIterableLoopProposal(context, coveringNode, null)
|| getRemoveBlockProposals(context, coveringNode, null)
|| getMakeVariableDeclarationFinalProposals(context, null)
+ || getSortModifiersProposals(context, null)
|| getMissingCaseStatementProposals(context, coveringNode, null)
|| getConvertStringConcatenationProposals(context, null);
}
@@ -243,6 +246,7 @@
getConvertIterableLoopProposal(context, coveringNode, resultingCollections);
getRemoveBlockProposals(context, coveringNode, resultingCollections);
getMakeVariableDeclarationFinalProposals(context, resultingCollections);
+ getSortModifiersProposals(context, resultingCollections);
getConvertStringConcatenationProposals(context, resultingCollections);
getMissingCaseStatementProposals(context, coveringNode, resultingCollections);
}
@@ -1925,6 +1929,29 @@
resultingCollections.add(proposal);
return true;
}
+
+ private static boolean getSortModifiersProposals(IInvocationContext context, Collection resultingCollections) {
+ SelectionAnalyzer analyzer= new SelectionAnalyzer(Selection.createFromStartLength(context.getSelectionOffset(), context.getSelectionLength()), false);
+ context.getASTRoot().accept(analyzer);
+ ASTNode[] selectedNodes= analyzer.getSelectedNodes();
+ if (selectedNodes.length == 0)
+ return false;
+
+ IProposableFix fix= SortModifiersFix.createFix(context.getASTRoot(), selectedNodes);
+ if (fix == null)
+ return false;
+
+ if (resultingCollections == null)
+ return true;
+
+ Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);
+ Map options= new Hashtable();
+ options.put(CleanUpConstants.VARIABLE_DECLARATIONS_SORT_MODIFIERS, CleanUpOptions.TRUE);
+ SortModifiersCleanUp cleanUp= new SortModifiersCleanUp(options);
+ FixCorrectionProposal proposal= new FixCorrectionProposal(fix, cleanUp, 5, image, context);
+ resultingCollections.add(proposal);
+ return true;
+ }
private static boolean getInlineLocalProposal(IInvocationContext context, final ASTNode node, Collection proposals) throws CoreException {
if (!(node instanceof SimpleName))
#P org.eclipse.jdt.ui.tests
Index: performance/org/eclipse/jdt/ui/tests/performance/views/CleanUpPerfTest.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/views/CleanUpPerfTest.java,v
retrieving revision 1.47
diff -u -r1.47 CleanUpPerfTest.java
--- performance/org/eclipse/jdt/ui/tests/performance/views/CleanUpPerfTest.java 5 Jan 2011 10:02:30 -0000 1.47
+++ performance/org/eclipse/jdt/ui/tests/performance/views/CleanUpPerfTest.java 25 Mar 2011 20:26:51 -0000
@@ -63,6 +63,7 @@
import org.eclipse.jdt.internal.ui.fix.ImportsCleanUp;
import org.eclipse.jdt.internal.ui.fix.Java50CleanUp;
import org.eclipse.jdt.internal.ui.fix.SortMembersCleanUp;
+import org.eclipse.jdt.internal.ui.fix.SortModifiersCleanUp;
import org.eclipse.jdt.internal.ui.fix.StringCleanUp;
import org.eclipse.jdt.internal.ui.fix.UnnecessaryCodeCleanUp;
import org.eclipse.jdt.internal.ui.fix.UnusedCodeCleanUp;
@@ -342,6 +343,21 @@
doCleanUp(cleanUpRefactoring);
}
+ public void testSortModifiersCleanUp() throws Exception {
+ CleanUpRefactoring cleanUpRefactoring= new CleanUpRefactoring();
+ addAllCUs(cleanUpRefactoring, MyTestSetup.fJProject1.getChildren());
+
+ Map node= getNullSettings();
+
+ node.put(CleanUpConstants.VARIABLE_DECLARATIONS_SORT_MODIFIERS, CleanUpOptions.TRUE);
+
+ storeSettings(node);
+
+ cleanUpRefactoring.addCleanUp(new SortModifiersCleanUp());
+
+ doCleanUp(cleanUpRefactoring);
+ }
+
public void testUnnecessaryCodeCleanUp() throws Exception {
CleanUpRefactoring cleanUpRefactoring= new CleanUpRefactoring();
addAllCUs(cleanUpRefactoring, MyTestSetup.fJProject1.getChildren());