Bug 565630 - Add "Optimize" tab to JDT cleanup actions
Change-Id: I208e378edc9e6bb4fe0d675af2b0169ed6ed8203
Signed-off-by: Fabrice Tiercelin <fabrice.tiercelin@yahoo.fr>
diff --git a/org.eclipse.jdt.ui/plugin.properties b/org.eclipse.jdt.ui/plugin.properties
index 399dd50..4580ab5 100644
--- a/org.eclipse.jdt.ui/plugin.properties
+++ b/org.eclipse.jdt.ui/plugin.properties
@@ -1210,6 +1210,7 @@
#--- Clean Up ---
CleanUpTabPage.CodeStyle.name = &Code Style
+CleanUpTabPage.Optimization.name = O&ptimization
CleanUpTabPage.MemberAccesses.name = Membe&r Accesses
CleanUpTabPage.UnnecessaryCode.name = &Unnecessary Code
CleanUpTabPage.MissingCode.name = &Missing Code
diff --git a/org.eclipse.jdt.ui/plugin.xml b/org.eclipse.jdt.ui/plugin.xml
index ff42ed6..de8e8f3 100644
--- a/org.eclipse.jdt.ui/plugin.xml
+++ b/org.eclipse.jdt.ui/plugin.xml
@@ -6976,6 +6976,11 @@
cleanUpKind="cleanUp">
</cleanUpConfigurationUI>
<cleanUpConfigurationUI
+ class="org.eclipse.jdt.internal.ui.preferences.cleanup.OptimizationTabPage"
+ name="%CleanUpTabPage.Optimization.name"
+ cleanUpKind="cleanUp">
+ </cleanUpConfigurationUI>
+ <cleanUpConfigurationUI
class="org.eclipse.jdt.internal.ui.preferences.cleanup.MemberAccessesTabPage"
name="%CleanUpTabPage.MemberAccesses.name"
cleanUpKind="cleanUp">
@@ -7002,6 +7007,11 @@
cleanUpKind="saveAction">
</cleanUpConfigurationUI>
<cleanUpConfigurationUI
+ class="org.eclipse.jdt.internal.ui.preferences.cleanup.OptimizationTabPage"
+ name="%CleanUpTabPage.Optimization.name"
+ cleanUpKind="saveAction">
+ </cleanUpConfigurationUI>
+ <cleanUpConfigurationUI
class="org.eclipse.jdt.internal.ui.preferences.cleanup.MemberAccessesTabPage"
name="%CleanUpTabPage.MemberAccesses.name"
cleanUpKind="saveAction">
@@ -7071,9 +7081,14 @@
runAfter="org.eclipse.jdt.ui.cleanup.expressions">
</cleanUp>
<cleanUp
+ class="org.eclipse.jdt.internal.ui.fix.NumberSuffixCleanUp"
+ id="org.eclipse.jdt.ui.cleanup.number_suffix"
+ runAfter="org.eclipse.jdt.ui.cleanup.lambda_and_method_ref">
+ </cleanUp>
+ <cleanUp
class="org.eclipse.jdt.internal.ui.fix.LazyLogicalCleanUp"
id="org.eclipse.jdt.ui.cleanup.lazy_logical"
- runAfter="org.eclipse.jdt.ui.cleanup.lambda_and_method_ref">
+ runAfter="org.eclipse.jdt.ui.cleanup.number_suffix">
</cleanUp>
<cleanUp
class="org.eclipse.jdt.internal.ui.fix.PatternCleanUp"
@@ -7081,14 +7096,9 @@
runAfter="org.eclipse.jdt.ui.cleanup.lazy_logical">
</cleanUp>
<cleanUp
- class="org.eclipse.jdt.internal.ui.fix.NumberSuffixCleanUp"
- id="org.eclipse.jdt.ui.cleanup.number_suffix"
- runAfter="org.eclipse.jdt.ui.cleanup.precompile_regex">
- </cleanUp>
- <cleanUp
class="org.eclipse.jdt.internal.ui.fix.UnusedCodeCleanUp"
id="org.eclipse.jdt.ui.cleanup.unused_code"
- runAfter="org.eclipse.jdt.ui.cleanup.number_suffix">
+ runAfter="org.eclipse.jdt.ui.cleanup.precompile_regex">
</cleanUp>
<cleanUp
class="org.eclipse.jdt.internal.ui.fix.Java50CleanUp"
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.java
index c80779b..0490ad3 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.java
@@ -74,7 +74,6 @@
public static String CodeStyleTabPage_RadioName_NeverUseBlocks;
public static String CodeStyleTabPage_RadioName_NeverUseParantheses;
- public static String CodeStyleTabPage_CheckboxName_UseLazyLogicalOperator;
public static String CodeStyleTabPage_RadioName_UseBlocksSpecial;
public static String CodeStyleTabPage_GroupName_FunctionalInterfaces;
@@ -83,9 +82,10 @@
public static String CodeStyleTabPage_RadioName_UseAnonymous;
public static String CodeStyleTabPage_CheckboxName_SimplifyLambdaExpressionAndMethodRefSyntax;
- public static String CodeStyleTabPage_GroupName_Optimization;
+ public static String OptimizationTabPage_GroupName_Optimization;
- public static String CodeStyleTabPage_CheckboxName_PrecompileRegEx;
+ public static String OptimizationTabPage_CheckboxName_UseLazyLogicalOperator;
+ public static String OptimizationTabPage_CheckboxName_PrecompileRegEx;
public static String ContributedCleanUpTabPage_ErrorPage_message;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.properties b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.properties
index dc4ab34..d57fe00 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.properties
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CleanUpMessages.properties
@@ -54,14 +54,15 @@
CodeStyleTabPage_GroupName_ControlStatments=Control statements
CodeStyleTabPage_RadioName_UseBlocksSpecial=Always &except for single 'return' or 'throw' statements
CodeStyleTabPage_CheckboxName_UseParentheses=Use parent&heses in expressions
-CodeStyleTabPage_CheckboxName_UseLazyLogicalOperator=Use la&zy logical operator
CodeStyleTabPage_GroupName_FunctionalInterfaces=Functional interface instances
CodeStyleTabPage_CheckboxName_ConvertFunctionalInterfaces=Con&vert functional interface instances
CodeStyleTabPage_RadioName_UseLambdaWherePossible=Use lambda where possible
CodeStyleTabPage_CheckboxName_SimplifyLambdaExpressionAndMethodRefSyntax=Simplify &lambda expression and method reference syntax
CodeStyleTabPage_RadioName_UseAnonymous=Use anonymous class
-CodeStyleTabPage_GroupName_Optimization=Optimization
-CodeStyleTabPage_CheckboxName_PrecompileRegEx=Precompile reused regular e&xpressions
+
+OptimizationTabPage_GroupName_Optimization=Optimization
+OptimizationTabPage_CheckboxName_UseLazyLogicalOperator=Use la&zy logical operator
+OptimizationTabPage_CheckboxName_PrecompileRegEx=Precompile reused regular e&xpressions
ContributedCleanUpTabPage_ErrorPage_message=An error occurred while creating this page. See the error log for details
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java
index a3e6979..0c9ee2a 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/CodeStyleTabPage.java
@@ -26,10 +26,8 @@
import org.eclipse.jdt.internal.ui.fix.ExpressionsCleanUp;
import org.eclipse.jdt.internal.ui.fix.LambdaExpressionAndMethodRefCleanUp;
import org.eclipse.jdt.internal.ui.fix.LambdaExpressionsCleanUp;
-import org.eclipse.jdt.internal.ui.fix.LazyLogicalCleanUp;
import org.eclipse.jdt.internal.ui.fix.NumberSuffixCleanUp;
import org.eclipse.jdt.internal.ui.fix.VarCleanUp;
-import org.eclipse.jdt.internal.ui.fix.PatternCleanUp;
import org.eclipse.jdt.internal.ui.fix.VariableDeclarationCleanUp;
public final class CodeStyleTabPage extends AbstractCleanUpTabPage {
@@ -42,12 +40,10 @@
new ConvertLoopCleanUp(values),
new ExpressionsCleanUp(values),
new NumberSuffixCleanUp(values),
- new LazyLogicalCleanUp(values),
new VariableDeclarationCleanUp(values),
new VarCleanUp(values),
new LambdaExpressionsCleanUp(values),
- new LambdaExpressionAndMethodRefCleanUp(values),
- new PatternCleanUp(values)
+ new LambdaExpressionAndMethodRefCleanUp(values)
};
}
@@ -77,9 +73,6 @@
final RadioPreference useParenthesesAlwaysPref= createRadioPref(expressionsGroup, 1, CleanUpMessages.CodeStyleTabPage_RadioName_AlwaysUseParantheses, CleanUpConstants.EXPRESSIONS_USE_PARENTHESES_ALWAYS, CleanUpModifyDialog.FALSE_TRUE);
final RadioPreference useParenthesesNeverPref= createRadioPref(expressionsGroup, 1, CleanUpMessages.CodeStyleTabPage_RadioName_NeverUseParantheses, CleanUpConstants.EXPRESSIONS_USE_PARENTHESES_NEVER, CleanUpModifyDialog.FALSE_TRUE);
registerSlavePreference(useParenthesesPref, new RadioPreference[] {useParenthesesAlwaysPref, useParenthesesNeverPref});
- final CheckboxPreference useLazyLogicalPref= createCheckboxPref(expressionsGroup, numColumns, CleanUpMessages.CodeStyleTabPage_CheckboxName_UseLazyLogicalOperator,
- CleanUpConstants.USE_LAZY_LOGICAL_OPERATOR, CleanUpModifyDialog.FALSE_TRUE);
- registerPreference(useLazyLogicalPref);
Group numberSuffixGroup= createGroup(numColumns, composite, CleanUpMessages.CodeStyleTabPage_GroupName_NumberLiteral);
@@ -109,11 +102,5 @@
CheckboxPreference simplifyLambdaExpressionAndMethodRef= createCheckboxPref(functionalInterfacesGroup, numColumns, CleanUpMessages.CodeStyleTabPage_CheckboxName_SimplifyLambdaExpressionAndMethodRefSyntax, CleanUpConstants.SIMPLIFY_LAMBDA_EXPRESSION_AND_METHOD_REF, CleanUpModifyDialog.FALSE_TRUE);
registerPreference(simplifyLambdaExpressionAndMethodRef);
-
- Group optimizationGroup= createGroup(numColumns, composite, CleanUpMessages.CodeStyleTabPage_GroupName_Optimization);
-
- final CheckboxPreference precompileRegExPref= createCheckboxPref(optimizationGroup, numColumns, CleanUpMessages.CodeStyleTabPage_CheckboxName_PrecompileRegEx, CleanUpConstants.PRECOMPILE_REGEX,
- CleanUpModifyDialog.FALSE_TRUE);
- registerPreference(precompileRegExPref);
}
}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/OptimizationTabPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/OptimizationTabPage.java
new file mode 100644
index 0000000..223d63f
--- /dev/null
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/cleanup/OptimizationTabPage.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2020 IBM Corporation and others.
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jdt.internal.ui.preferences.cleanup;
+
+import java.util.Map;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+
+import org.eclipse.jdt.internal.corext.fix.CleanUpConstants;
+
+import org.eclipse.jdt.internal.ui.fix.AbstractCleanUp;
+import org.eclipse.jdt.internal.ui.fix.LazyLogicalCleanUp;
+import org.eclipse.jdt.internal.ui.fix.PatternCleanUp;
+
+public final class OptimizationTabPage extends AbstractCleanUpTabPage {
+ public static final String ID= "org.eclipse.jdt.ui.cleanup.tabpage.optimization"; //$NON-NLS-1$
+
+ @Override
+ protected AbstractCleanUp[] createPreviewCleanUps(Map<String, String> values) {
+ return new AbstractCleanUp[] {
+ new LazyLogicalCleanUp(values),
+ new PatternCleanUp(values)
+ };
+ }
+
+ @Override
+ protected void doCreatePreferences(Composite composite, int numColumns) {
+ Group optimizationGroup= createGroup(numColumns, composite, CleanUpMessages.OptimizationTabPage_GroupName_Optimization);
+
+ final CheckboxPreference useLazyLogicalPref= createCheckboxPref(optimizationGroup, numColumns, CleanUpMessages.OptimizationTabPage_CheckboxName_UseLazyLogicalOperator,
+ CleanUpConstants.USE_LAZY_LOGICAL_OPERATOR, CleanUpModifyDialog.FALSE_TRUE);
+ registerPreference(useLazyLogicalPref);
+
+ final CheckboxPreference precompileRegExPref= createCheckboxPref(optimizationGroup, numColumns, CleanUpMessages.OptimizationTabPage_CheckboxName_PrecompileRegEx, CleanUpConstants.PRECOMPILE_REGEX,
+ CleanUpModifyDialog.FALSE_TRUE);
+ registerPreference(precompileRegExPref);
+ }
+}