diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionBase.java
index a648aeec63a4..64fcaa666c83 100644
--- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionBase.java
+++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2012 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2015 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -129,7 +129,7 @@ public class ParameterHidingMemberVariableInspectionBase extends BaseInspection
}
}
final PsiClass aClass = checkFieldName(variable, method);
- if (aClass == null) {
+ if (aClass == null) {
return;
}
registerVariableError(variable, aClass);
@@ -143,17 +143,13 @@ public class ParameterHidingMemberVariableInspectionBase extends BaseInspection
}
PsiClass aClass = ClassUtils.getContainingClass(method);
while (aClass != null) {
- PsiField field = aClass.findFieldByName(variableName, true);
- if (field != null) {
- if (m_ignoreStaticMethodParametersHidingInstanceFields && !field.hasModifierProperty(PsiModifier.STATIC) &&
- method.hasModifierProperty(PsiModifier.STATIC)) {
- continue;
- }
- if (!m_ignoreInvisibleFields || ClassUtils.isFieldVisible(field, aClass)) {
- return aClass;
- }
+ final PsiField field = aClass.findFieldByName(variableName, true);
+ if (field != null &&
+ (!m_ignoreStaticMethodParametersHidingInstanceFields ||
+ field.hasModifierProperty(PsiModifier.STATIC) || !method.hasModifierProperty(PsiModifier.STATIC)) &&
+ (!m_ignoreInvisibleFields || ClassUtils.isFieldVisible(field, aClass))) {
+ return aClass;
}
-
aClass = ClassUtils.getContainingClass(aClass);
}
return null;
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/ParameterHidingMemberVariable.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/ParameterHidingMemberVariable.java
index 3cea3b6e95b7..699f99b1ede5 100644
--- a/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/ParameterHidingMemberVariable.java
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/ParameterHidingMemberVariable.java
@@ -4,17 +4,17 @@ public class ParameterHidingMemberVariable
{
private int bar = -1;
- public ParameterHidingMemberVariable(int bar)
+ public ParameterHidingMemberVariable(int bar)
{
this.bar = bar;
}
- public void setBar(int bar)
+ public void setBar(int bar)
{
this.bar = bar;
}
- public void foo(Object bar)
+ public void foo(Object bar)
{
System.out.println("bar" + bar);
}
@@ -24,10 +24,14 @@ public class ParameterHidingMemberVariable
@Override
public String toString() {
new Object() {
- public void foo(final String x) {
+ public void foo(final String x) {
System.out.println(x);
}
};
return x+super.toString();
- }
+ }
+
+ public static void setBar2(int bar) {
+ System.out.println(bar);
+ }
}
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/expected.xml b/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/expected.xml
deleted file mode 100644
index fd27719fa90c..000000000000
--- a/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/expected.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
- ParameterHidingMemberVariable.java
- 7
- Parameter hides field
- Parameter <code>bar</code> hides field in class 'ParameterHidingMemberVariable' #loc
-
-
-
- ParameterHidingMemberVariable.java
- 12
- Parameter hides field
- Parameter <code>bar</code> hides field in class 'ParameterHidingMemberVariable' #loc
-
-
-
- ParameterHidingMemberVariable.java
- 17
- Parameter hides field
- Parameter <code>bar</code> hides field in class 'ParameterHidingMemberVariable' #loc
-
-
-
- ParameterHidingMemberVariable.java
- 27
- Parameter hides field
- Parameter <code>x</code> hides field in class 'ParameterHidingMemberVariable' #loc
-
-
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionTest.java
index 38d6be5d0954..49d038aa4cce 100644
--- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionTest.java
+++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,11 +15,21 @@
*/
package com.siyeh.ig.visibility;
-import com.siyeh.ig.IGInspectionTestCase;
+import com.intellij.codeInspection.InspectionProfileEntry;
+import com.siyeh.ig.LightInspectionTestCase;
+import org.jetbrains.annotations.Nullable;
-public class ParameterHidingMemberVariableInspectionTest extends IGInspectionTestCase {
+public class ParameterHidingMemberVariableInspectionTest extends LightInspectionTestCase {
- public void test() throws Exception {
- doTest("com/siyeh/igtest/visibility/parameter_hiding_member_variable", new ParameterHidingMemberVariableInspection());
+ public void testParameterHidingMemberVariable() {
+ doTest();
+ }
+
+ @Nullable
+ @Override
+ protected InspectionProfileEntry getInspection() {
+ final ParameterHidingMemberVariableInspection inspection = new ParameterHidingMemberVariableInspection();
+ inspection.m_ignoreStaticMethodParametersHidingInstanceFields = true;
+ return inspection;
}
}
\ No newline at end of file