From 51e3e59fb0be0af39a4ed1956b6a2990ef73c67e Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Fri, 12 Aug 2016 15:59:21 +0300 Subject: [PATCH 1/2] Java inspection: Renamed the inspection "Infer lambda parameter type" to a noun-based name. (IDEA-157727) --- .../src/META-INF/InspectionGadgets.xml | 6 +++--- .../com/siyeh/InspectionGadgetsBundle.properties | 6 ++++-- ...mbdaParameterTypeCanBeSpecifiedInspection.java} | 14 +++++++------- .../InferLambdaParameterType.html | 5 ----- .../LambdaParameterTypeCanBeSpecified.html | 7 +++++++ ... LambdaParameterTypeCanBeSpecifiedFixTest.java} | 6 +++--- 6 files changed, 24 insertions(+), 20 deletions(-) rename plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/{InferLambdaParameterTypeInspection.java => LambdaParameterTypeCanBeSpecifiedInspection.java} (88%) delete mode 100644 plugins/InspectionGadgets/src/inspectionDescriptions/InferLambdaParameterType.html create mode 100644 plugins/InspectionGadgets/src/inspectionDescriptions/LambdaParameterTypeCanBeSpecified.html rename plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/{InferLambdaParameterTypeFixTest.java => LambdaParameterTypeCanBeSpecifiedFixTest.java} (87%) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/META-INF/InspectionGadgets.xml b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/META-INF/InspectionGadgets.xml index 420e258f7662..b06def777ec1 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/META-INF/InspectionGadgets.xml +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/META-INF/InspectionGadgets.xml @@ -2519,10 +2519,10 @@ key="expand.one.line.lambda2.code.block.name" groupBundle="messages.InspectionsBundle" groupKey="group.names.code.style.issues" enabledByDefault="true" level="INFORMATION" implementationClass="com.siyeh.ig.style.ExpandOneLineLambda2CodeBlockInspection"/> - + implementationClass="com.siyeh.ig.style.LambdaParameterTypeCanBeSpecifiedInspection"/> '{'...'}' +lambda.parameter.type.can.be.specified.name=Lambda parameter type can be specified +lambda.parameter.type.can.be.specified.descriptor=Lambda can be expanded to {0} -> '{'...'}' +lambda.parameter.type.can.be.specified.quickfix=Expand lambda to {0} -> '{'...'}' +lambda.parameter.type.can.be.specified.family.quickfix=Specify lambda parameter type diamond.can.be.replaced.with.explicit.type.arguments.name=Diamond can be replaced with explicit type arguments diamond.can.be.replaced.with.explicit.type.arguments.quickfix=Replace '<>' with explicit type arguments lambda.can.be.replaced.with.anonymous.name=Lambda can be replaced with anonymous class diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/InferLambdaParameterTypeInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/LambdaParameterTypeCanBeSpecifiedInspection.java similarity index 88% rename from plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/InferLambdaParameterTypeInspection.java rename to plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/LambdaParameterTypeCanBeSpecifiedInspection.java index 2d3758a26e1c..79459652f588 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/InferLambdaParameterTypeInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/LambdaParameterTypeCanBeSpecifiedInspection.java @@ -30,20 +30,20 @@ import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class InferLambdaParameterTypeInspection extends BaseInspection { - private static final Logger LOG = Logger.getInstance("#" + InferLambdaParameterTypeInspection.class.getName()); +public class LambdaParameterTypeCanBeSpecifiedInspection extends BaseInspection { + private static final Logger LOG = Logger.getInstance("#" + LambdaParameterTypeCanBeSpecifiedInspection.class.getName()); @Nls @NotNull @Override public String getDisplayName() { - return InspectionGadgetsBundle.message("infer.lambda.parameter.type.name"); + return InspectionGadgetsBundle.message("lambda.parameter.type.can.be.specified.name"); } @NotNull @Override protected String buildErrorString(Object... infos) { - return InspectionGadgetsBundle.message("infer.lambda.parameter.type.descriptor", infos); + return InspectionGadgetsBundle.message("lambda.parameter.type.can.be.specified.descriptor", infos); } @Override @@ -126,21 +126,21 @@ public class InferLambdaParameterTypeInspection extends BaseInspection { @NotNull @Override public String getName() { - return InspectionGadgetsBundle.message("infer.lambda.parameter.type.descriptor", myInfos); + return InspectionGadgetsBundle.message("lambda.parameter.type.can.be.specified.quickfix", myInfos); } @Nls @NotNull @Override public String getFamilyName() { - return InspectionGadgetsBundle.message("infer.lambda.parameter.type.name"); + return InspectionGadgetsBundle.message("lambda.parameter.type.can.be.specified.family.quickfix"); } @Override protected void doFix(Project project, ProblemDescriptor descriptor) { final PsiElement element = descriptor.getPsiElement(); if (element instanceof PsiLambdaExpression) { - InferLambdaParameterTypeInspection.doFix(project, (PsiLambdaExpression)element); + LambdaParameterTypeCanBeSpecifiedInspection.doFix(project, (PsiLambdaExpression)element); } } } diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/InferLambdaParameterType.html b/plugins/InspectionGadgets/src/inspectionDescriptions/InferLambdaParameterType.html deleted file mode 100644 index 5c6eb7f1aa2c..000000000000 --- a/plugins/InspectionGadgets/src/inspectionDescriptions/InferLambdaParameterType.html +++ /dev/null @@ -1,5 +0,0 @@ - - -This inspection extends lambda parameters to contain formal types - - \ No newline at end of file diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/LambdaParameterTypeCanBeSpecified.html b/plugins/InspectionGadgets/src/inspectionDescriptions/LambdaParameterTypeCanBeSpecified.html new file mode 100644 index 000000000000..c1bb4949162c --- /dev/null +++ b/plugins/InspectionGadgets/src/inspectionDescriptions/LambdaParameterTypeCanBeSpecified.html @@ -0,0 +1,7 @@ + + +This inspection reports lambda parameters which don't have their type specified, e.g. a -> a + 1 +

The quick fix adds type declaration to the lambda parameters, the result looks like this: + (int a) -> a + 1 + + \ No newline at end of file diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/InferLambdaParameterTypeFixTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/LambdaParameterTypeCanBeSpecifiedFixTest.java similarity index 87% rename from plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/InferLambdaParameterTypeFixTest.java rename to plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/LambdaParameterTypeCanBeSpecifiedFixTest.java index 1d5e121e1f47..47be3ce5a2d0 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/InferLambdaParameterTypeFixTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/LambdaParameterTypeCanBeSpecifiedFixTest.java @@ -16,13 +16,13 @@ package com.siyeh.ig.fixes.style; import com.siyeh.ig.IGQuickFixesTestCase; -import com.siyeh.ig.style.InferLambdaParameterTypeInspection; +import com.siyeh.ig.style.LambdaParameterTypeCanBeSpecifiedInspection; -public class InferLambdaParameterTypeFixTest extends IGQuickFixesTestCase { +public class LambdaParameterTypeCanBeSpecifiedFixTest extends IGQuickFixesTestCase { @Override protected void setUp() throws Exception { super.setUp(); - myFixture.enableInspections(new InferLambdaParameterTypeInspection()); + myFixture.enableInspections(new LambdaParameterTypeCanBeSpecifiedInspection()); } public void testSimple() { From fcba14097e22d3c9491378d93001c03424a96a58 Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Fri, 12 Aug 2016 16:09:22 +0300 Subject: [PATCH 2/2] Java inspection: Renamed the inspection "Replace diamond with explicit type arguments" to a noun-based name - typo fixed. (IDEA-157727) --- .../DiamondCanBeReplacedWithExplicitTypeArguments.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/DiamondCanBeReplacedWithExplicitTypeArguments.html b/plugins/InspectionGadgets/src/inspectionDescriptions/DiamondCanBeReplacedWithExplicitTypeArguments.html index c97707684e43..43b384ab8806 100644 --- a/plugins/InspectionGadgets/src/inspectionDescriptions/DiamondCanBeReplacedWithExplicitTypeArguments.html +++ b/plugins/InspectionGadgets/src/inspectionDescriptions/DiamondCanBeReplacedWithExplicitTypeArguments.html @@ -3,8 +3,8 @@ This inspection reports instantiation of generic classes where <> (diamond) is used instead of type parameters.

The quick fix replaces the <> (diamond) with the explicit type parameters.

Example of use of the diamond: -

List String> list = new ArrayList<>()
+
List <String> list = new ArrayList<>()

The statement above is replaced with the following: -

List String> list = new ArrayList<String>()
+
List <String> list = new ArrayList<String>()
\ No newline at end of file