unnecessary qualified static usage: check also inner classes (IDEA-87870)

This commit is contained in:
anna
2012-07-03 20:21:20 +02:00
parent d452b01380
commit 67ba56ff43
3 changed files with 30 additions and 1 deletions
@@ -182,7 +182,7 @@ public class UnnecessarilyQualifiedStaticUsageInspection
PsiClass.class);
final PsiClass qualifyingClass = (PsiClass)resolvedQualifier;
if (containingClass == null ||
!containingClass.equals(qualifyingClass)) {
!PsiTreeUtil.isAncestor(qualifyingClass, containingClass, false)) {
return false;
}
final Project project = referenceElement.getProject();
@@ -65,4 +65,19 @@ class X {
l.add("b");
l.add("c");
}
}
class InnerClassTest {
public static int foo = 0;
public static void bar() {
System.out.println();
}
public static class Inner {
public void test1() {
InnerClassTest.bar(); // (1)
System.out.println(InnerClassTest.foo); // (2)
}
}
}
@@ -36,6 +36,20 @@
<line>64</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Unnecessarily qualified static access</problem_class>
<description>Unnecessarily qualified static access &lt;code&gt;X.l&lt;/code&gt; #loc</description>
</problem>
<problem>
<file>UnnecessarilyQualifiedStaticUsageInspection.java</file>
<line>79</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Unnecessarily qualified static access</problem_class>
<description>Unnecessarily qualified static method call &lt;code&gt;InnerClassTest.bar()&lt;/code&gt; #loc</description>
</problem>
<problem>
<file>UnnecessarilyQualifiedStaticUsageInspection.java</file>
<line>80</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Unnecessarily qualified static access</problem_class>
<description>Unnecessarily qualified static access &lt;code&gt;InnerClassTest.foo&lt;/code&gt; #loc</description>
</problem>
</problems>