Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 187990 Details for
Bug 322494
[clean up] Add a 'Sort modifiers' clean up
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Single ModifierRewrite call without directly modifying the AST.
patch-1.1a.txt (text/plain), 20.58 KB, created by
Christophe Bismuth
on 2011-01-31 13:47:55 EST
(
hide
)
Description:
Single ModifierRewrite call without directly modifying the AST.
Filename:
MIME Type:
Creator:
Christophe Bismuth
Created:
2011-01-31 13:47:55 EST
Size:
20.58 KB
patch
obsolete
>### 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.29 >diff -u -r1.29 CleanUpConstants.java >--- core extension/org/eclipse/jdt/internal/corext/fix/CleanUpConstants.java 5 Jan 2011 10:04:47 -0000 1.29 >+++ core extension/org/eclipse/jdt/internal/corext/fix/CleanUpConstants.java 31 Jan 2011 18:44:00 -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.<br> >+ * <br> >+ * Possible values: {TRUE, FALSE}<br> >+ * >+ * <br> >+ * >+ * @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. <br> > * <br> > * Possible values: {TRUE, FALSE}<br> >@@ -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 31 Jan 2011 18:44:00 -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 31 Jan 2011 18:44:00 -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,122 @@ >+/******************************************************************************* >+ * 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 >+ * Chris West (Faux) <eclipse@goeswhere.com> - [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.LinkedList; >+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.SimpleName; >+import org.eclipse.jdt.core.dom.rewrite.ASTRewrite; >+ >+import org.eclipse.jdt.internal.corext.dom.HierarchicalASTVisitor; >+import org.eclipse.jdt.internal.corext.dom.ModifierRewrite; >+import org.eclipse.jdt.internal.corext.refactoring.structure.CompilationUnitRewrite; >+ >+import org.eclipse.jdt.ui.cleanup.ICleanUpFix; >+ >+public class SortModifiersFix extends CompilationUnitRewriteOperationsFix { >+ >+ private static class WithModifiersNodeFinder extends HierarchicalASTVisitor { >+ >+ private final List fWithModifiersNodes; >+ private final List fOperations; >+ >+ public WithModifiersNodeFinder(List withModifiersNodes, List operations) { >+ fWithModifiersNodes= withModifiersNodes; >+ fOperations= operations; >+ } >+ >+ /** >+ * {@inheritDoc} >+ */ >+ public boolean visit(BodyDeclaration node) { >+ if (node.modifiers().size() > 1) { >+ fWithModifiersNodes.add(node); >+ fOperations.add(createSortModifiersOperation(node)); >+ } >+ return super.visit(node); >+ } >+ >+ } >+ >+ private static class SortModifiersOperation extends CompilationUnitRewriteOperation { >+ >+ private final BodyDeclaration fWithModifiersNode; >+ >+ public SortModifiersOperation(BodyDeclaration withModifiersNode) { >+ fWithModifiersNode= withModifiersNode; >+ } >+ >+ /** >+ * {@inheritDoc} >+ */ >+ public void rewriteAST(CompilationUnitRewrite cuRewrite, LinkedProposalModel model) throws CoreException { >+ ASTRewrite rewrite= cuRewrite.getASTRewrite(); >+ TextEditGroup group= createTextEditGroup(FixMessages.VariableDeclarationFix_sortModifiers_description, cuRewrite); >+ int modifiers= fWithModifiersNode.getModifiers(); >+ ModifierRewrite listRewrite= ModifierRewrite.create(rewrite, fWithModifiersNode); >+ listRewrite.setModifiers(modifiers, group); >+ } >+ } >+ >+ private static SortModifiersOperation createSortModifiersOperation(BodyDeclaration withModifiersNode) { >+ return new SortModifiersOperation(withModifiersNode); >+ } >+ >+ public static SortModifiersFix createFix(final CompilationUnit compilationUnit, ASTNode[] selectedNodes) { >+ List withModifiersNode= new LinkedList(); >+ List operations= new ArrayList(); >+ WithModifiersNodeFinder visitor= new WithModifiersNodeFinder(withModifiersNode, 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= (CompilationUnitRewriteOperation[])operations.toArray(new CompilationUnitRewriteOperation[operations.size()]); >+ >+ return new SortModifiersFix(FixMessages.VariableDeclarationFix_sortModifiers_description, compilationUnit, fixRewriteOperations); >+ } >+ >+ public static ICleanUpFix createCleanUp(CompilationUnit compilationUnit) { >+ List withModifiersNodes= new LinkedList(); >+ List operations= new ArrayList(); >+ WithModifiersNodeFinder finder= new WithModifiersNodeFinder(withModifiersNodes, operations); >+ compilationUnit.accept(finder); >+ >+ CompilationUnitRewriteOperation[] fixRewriteOperations= (CompilationUnitRewriteOperation[])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 31 Jan 2011 18:44:05 -0000 >@@ -6616,6 +6616,11 @@ > runAfter="org.eclipse.jdt.ui.cleanup.loop"> > </cleanUp> > <cleanUp >+ class="org.eclipse.jdt.internal.ui.fix.SortModifiersCleanUp" >+ id="org.eclipse.jdt.ui.cleanup.correct_modifiers_order" >+ runAfter="org.eclipse.jdt.ui.cleanup.variables"> >+ </cleanUp> >+ <cleanUp > class="org.eclipse.jdt.internal.ui.fix.ExpressionsCleanUp" > id="org.eclipse.jdt.ui.cleanup.expressions" > runAfter="org.eclipse.jdt.ui.cleanup.variables"> >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 31 Jan 2011 18:44:07 -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 31 Jan 2011 18:44:07 -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.12 >diff -u -r1.12 CodeStyleTabPage.java >--- ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java 10 Oct 2008 17:27:19 -0000 1.12 >+++ ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java 31 Jan 2011 18:44:07 -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 { >@@ -36,7 +37,8 @@ > new ControlStatementsCleanUp(values), > new ConvertLoopCleanUp(values), > new ExpressionsCleanUp(values), >- new VariableDeclarationCleanUp(values) >+ new VariableDeclarationCleanUp(values), >+ new SortModifiersCleanUp(values), > }; > } > >@@ -72,5 +74,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.168 >diff -u -r1.168 QuickAssistProcessor.java >--- ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java 31 Jan 2011 17:50:44 -0000 1.168 >+++ ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java 31 Jan 2011 18:44:08 -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); > } >@@ -242,6 +245,7 @@ > getConvertIterableLoopProposal(context, coveringNode, resultingCollections); > getRemoveBlockProposals(context, coveringNode, resultingCollections); > getMakeVariableDeclarationFinalProposals(context, resultingCollections); >+ getSortModifiersProposals(context, resultingCollections); > getConvertStringConcatenationProposals(context, resultingCollections); > getMissingCaseStatementProposals(context, coveringNode, resultingCollections); > } >@@ -1913,6 +1917,29 @@ > 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)) > return false;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 322494
:
176660
|
176664
|
176665
|
177773
|
177774
|
177777
|
177778
|
187990
|
188358
|
191941