diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties
index 694189a8ad01..f62b033c85c8 100644
--- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties
+++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties
@@ -2034,4 +2034,6 @@ inner.class.referenced.via.subclass.quickfix=Rationalize inner class access
boolean.parameter.display.name='public' method with 'boolean' parameter
boolean.parameter.problem.descriptor='public' method #ref with 'boolean' parameter
boolean.parameters.problem.descriptor='public' method #ref with 'boolean' parameters
+boolean.parameter.constructor.problem.descriptor='public' constructor #ref with 'boolean' parameter
+boolean.parameters.constructor.problem.descriptor='public' constructor #ref with 'boolean' parameters
boolean.parameter.only.report.multiple.option=Only report methods with multiple boolean parameters
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/abstraction/BooleanParameterInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/abstraction/BooleanParameterInspection.java
index 5513f421793b..d328f49b1cbf 100644
--- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/abstraction/BooleanParameterInspection.java
+++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/abstraction/BooleanParameterInspection.java
@@ -45,11 +45,17 @@ public class BooleanParameterInspection extends BaseInspection {
@NotNull
@Override
protected String buildErrorString(Object... infos) {
- if (((Integer)infos[0]).intValue() == 1) {
- return InspectionGadgetsBundle.message("boolean.parameter.problem.descriptor");
+ final PsiMethod method = (PsiMethod)infos[0];
+ final int booleanParameterCount = ((Integer)infos[1]).intValue();
+ if (booleanParameterCount == 1) {
+ return method.isConstructor()
+ ? InspectionGadgetsBundle.message("boolean.parameter.constructor.problem.descriptor")
+ : InspectionGadgetsBundle.message("boolean.parameter.problem.descriptor");
}
else {
- return InspectionGadgetsBundle.message("boolean.parameters.problem.descriptor");
+ return method.isConstructor()
+ ? InspectionGadgetsBundle.message("boolean.parameters.constructor.problem.descriptor")
+ : InspectionGadgetsBundle.message("boolean.parameters.problem.descriptor");
}
}
@@ -96,7 +102,7 @@ public class BooleanParameterInspection extends BaseInspection {
if (count == 0 || onlyReportMultiple && count == 1) {
return;
}
- registerMethodError(method, Integer.valueOf(count));
+ registerMethodError(method, method, Integer.valueOf(count));
}
}
}
diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/abstraction/BooleanParameterInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/abstraction/BooleanParameterInspectionTest.java
index 486037702326..b0c134fc7ca8 100644
--- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/abstraction/BooleanParameterInspectionTest.java
+++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/abstraction/BooleanParameterInspectionTest.java
@@ -32,6 +32,12 @@ public class BooleanParameterInspectionTest extends LightInspectionTestCase {
"}");
}
+ public void testConstructor() {
+ doTest("class X {" +
+ " public /*'public' constructor 'X' with 'boolean' parameter*/X/**/(boolean x) {}" +
+ "}");
+ }
+
@Override
protected LocalInspectionTool getInspection() {
return new BooleanParameterInspection();