mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-92967 (Inspections / Imports / Unused Import: superfluous warning with both static and non-static elements importing)
This commit is contained in:
@@ -44,14 +44,12 @@ class ImportsAreUsedVisitor extends JavaRecursiveElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceElement(
|
||||
@NotNull PsiJavaCodeReferenceElement reference) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement reference) {
|
||||
followReferenceToImport(reference);
|
||||
super.visitReferenceElement(reference);
|
||||
}
|
||||
|
||||
private void followReferenceToImport(
|
||||
PsiJavaCodeReferenceElement reference) {
|
||||
private void followReferenceToImport(PsiJavaCodeReferenceElement reference) {
|
||||
if (reference.getQualifier() != null) {
|
||||
// it's already fully qualified, so the import statement wasn't
|
||||
// responsible
|
||||
@@ -89,8 +87,14 @@ class ImportsAreUsedVisitor extends JavaRecursiveElementVisitor {
|
||||
final String referenceName;
|
||||
if (element instanceof PsiMember) {
|
||||
final PsiMember member = (PsiMember)element;
|
||||
referenceClass = member.getContainingClass();
|
||||
referenceName = member.getName();
|
||||
if (member instanceof PsiClass && !member.hasModifierProperty(PsiModifier.STATIC)) {
|
||||
referenceClass = null;
|
||||
referenceName = null;
|
||||
}
|
||||
else {
|
||||
referenceClass = member.getContainingClass();
|
||||
referenceName = member.getName();
|
||||
}
|
||||
}
|
||||
else {
|
||||
referenceClass = null;
|
||||
|
||||
@@ -4,4 +4,7 @@ public class Constants {
|
||||
|
||||
public static final int SIZE = 213;
|
||||
|
||||
private int field = 0; // I'm not an utility class.
|
||||
public static void instanceMatMethod() {}
|
||||
@SuppressWarnings("InnerClassMayBeStatic") public class InstanceInnerMaterial {}
|
||||
}
|
||||
@@ -6,6 +6,8 @@ import static java.lang.Math.*;
|
||||
import static java.lang.Integer.SIZE;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import static com.siyeh.igtest.imports.unused.Constants.*;
|
||||
import com.siyeh.igtest.imports.unused.Constants.*;
|
||||
|
||||
public class UnusedImport {
|
||||
|
||||
@@ -22,4 +24,9 @@ public class UnusedImport {
|
||||
list.add(i);
|
||||
Entry entry;
|
||||
}
|
||||
|
||||
public void context() {
|
||||
instanceMatMethod();
|
||||
InstanceInnerMaterial innerMaterial = new Constants().new InstanceInnerMaterial();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user