do not suggest to remove qualifier if fix would produce illegal forward ref (IDEA-87640)

This commit is contained in:
anna
2012-07-05 11:02:16 +02:00
parent 7937be4c15
commit 27da3854d3
2 changed files with 11 additions and 3 deletions
@@ -191,12 +191,15 @@ public class UnnecessarilyQualifiedStaticUsageInspection
final PsiMember member = (PsiMember)target;
final PsiClass memberClass;
if (target instanceof PsiField) {
final PsiVariable variable =
resolveHelper.resolveReferencedVariable(referenceName,
referenceElement);
final PsiVariable variable = resolveHelper.resolveReferencedVariable(referenceName, referenceElement);
if (variable == null || !variable.equals(member)) {
return false;
}
//illegal forward ref
if (referenceElement.getTextRange().getStartOffset() < variable.getTextRange().getEndOffset()) {
return false;
}
final PsiMember memberVariable = (PsiMember)variable;
memberClass = memberVariable.getContainingClass();
}
@@ -80,4 +80,9 @@ class InnerClassTest {
System.out.println(InnerClassTest.foo); // (2)
}
}
}
class ForwardRefTest {
private static final String FOO = ForwardRefTest.BAR;
private static final String BAR = "BAR";
}