IDEA-133279 (IntelliJ complains about a qualified type name when it appears in the type parameters of the declaring type)

This commit is contained in:
Bas Leijdekkers
2014-11-21 14:35:34 +01:00
parent 0b2d1882da
commit a0adfd6cca
3 changed files with 19 additions and 4 deletions
@@ -156,9 +156,8 @@ public class UnnecessarilyQualifiedInnerClassAccessInspection extends BaseInspec
if (referenceClass == null) {
return;
}
if (!referenceClass.equals(qualifierTarget) ||
PsiTreeUtil.isAncestor(referenceClass.getModifierList(),
reference, true)) {
final PsiElement brace = referenceClass.getLBrace();
if (!referenceClass.equals(qualifierTarget) || brace != null && brace.getTextOffset() > reference.getTextOffset()) {
if (ignoreReferencesNeedingImport &&
(PsiTreeUtil.isAncestor(referenceClass, qualifierTarget,
true) ||
@@ -0,0 +1,9 @@
import java.util.List;
import java.util.Map;
abstract class NoImports implements List<NoImports.A> {
Map.Entry entry;
<warning descr="'A' is unnecessarily qualified with 'NoImports'">NoImports</warning>.A a;
class A {}
}
@@ -6,7 +6,14 @@ import org.jetbrains.annotations.Nullable;
public class UnnecessarilyQualifiedInnerClassAccessInspectionTest extends LightInspectionTestCase {
public void testTest() throws Exception {
public void testTest() {
doTest();
}
public void testNoImports() {
final UnnecessarilyQualifiedInnerClassAccessInspection inspection = new UnnecessarilyQualifiedInnerClassAccessInspection();
inspection.ignoreReferencesNeedingImport = true;
myFixture.enableInspections(inspection);
doTest();
}