diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties
index ec48cb0d5653..2fec25829262 100644
--- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties
+++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties
@@ -2166,6 +2166,7 @@ optional.used.as.field.type.problem.descriptor=#ref used as type fo
optional.used.as.parameter.type.problem.descriptor=#ref used as type for parameter ''{0}''
lambda.unfriendly.method.overload.display.name=Lambda unfriendly method overload
lambda.unfriendly.method.overload.problem.descriptor=Lambda unfriendly overload of method #ref()
+lambda.unfriendly.constructor.overload.problem.descriptor=Lambda unfriendly overload of constructor #ref()
optional.contains.collection.display.name='Optional' contains array or collection
optional.contains.collection.problem.descriptor='Optional' contains collection #ref
optional.contains.array.problem.descriptor='Optional' contains array #ref
diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspectionBase.java
index 1aecdeb70d35..432b5acc3a51 100644
--- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspectionBase.java
+++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspectionBase.java
@@ -37,7 +37,10 @@ public class LambdaUnfriendlyMethodOverloadInspectionBase extends BaseInspection
@NotNull
@Override
protected String buildErrorString(Object... infos) {
- return InspectionGadgetsBundle.message("lambda.unfriendly.method.overload.problem.descriptor");
+ final PsiMethod method = (PsiMethod)infos[0];
+ return InspectionGadgetsBundle.message(method.isConstructor()
+ ? "lambda.unfriendly.constructor.overload.problem.descriptor"
+ : "lambda.unfriendly.method.overload.problem.descriptor");
}
@Override
@@ -50,9 +53,6 @@ public class LambdaUnfriendlyMethodOverloadInspectionBase extends BaseInspection
@Override
public void visitMethod(PsiMethod method) {
super.visitMethod(method);
- if (method.isConstructor()) {
- return;
- }
final PsiParameterList parameterList = method.getParameterList();
final int parametersCount = parameterList.getParametersCount();
if (parametersCount == 0) {
@@ -91,7 +91,7 @@ public class LambdaUnfriendlyMethodOverloadInspectionBase extends BaseInspection
}
final PsiType functionalType = parameters[functionalIndex].getType();
if (areSameShapeFunctionalTypes(functionalType, otherFunctionalType)) {
- registerMethodError(method);
+ registerMethodError(method, method);
return;
}
}
diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspection.java
index c576a61c9645..f19089dfcf88 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspection.java
@@ -15,6 +15,7 @@
*/
package com.siyeh.ig.naming;
+import com.intellij.psi.PsiMethod;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.fixes.RenameFix;
import org.jetbrains.annotations.Nullable;
@@ -27,6 +28,10 @@ public class LambdaUnfriendlyMethodOverloadInspection extends LambdaUnfriendlyMe
@Nullable
@Override
protected InspectionGadgetsFix buildFix(Object... infos) {
+ final PsiMethod method = (PsiMethod)infos[0];
+ if (method.isConstructor()) {
+ return null;
+ }
return new RenameFix();
}
diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/LambdaUnfriendlyMethodOverload.html b/plugins/InspectionGadgets/src/inspectionDescriptions/LambdaUnfriendlyMethodOverload.html
index 0692030b4ff3..2e5ce871fcf3 100644
--- a/plugins/InspectionGadgets/src/inspectionDescriptions/LambdaUnfriendlyMethodOverload.html
+++ b/plugins/InspectionGadgets/src/inspectionDescriptions/LambdaUnfriendlyMethodOverload.html
@@ -1,6 +1,6 @@