[java-inspection] IDEA-311127 Not find static import. Fix one more case

GitOrigin-RevId: a45f353468b849238dab2533c87b1f18740ec395
This commit is contained in:
Mikhail Pyltsin
2023-04-25 11:16:42 +00:00
committed by intellij-monorepo-bot
parent 63396759c4
commit 068020ddd6
3 changed files with 68 additions and 2 deletions
@@ -162,8 +162,14 @@ abstract class StaticMembersProcessor<T extends PsiMember & PsiDocCommentOwner>
}
ApplicableType type = isApplicable(member, myPlace);
list.remove(list.size() - 1);
list.add(new Pair<>(member, type));
if (list.size() > 0) {
Pair<T, ApplicableType> previousPair = list.get(list.size() - 1);
if (previousPair.getFirst().getContainingClass() == containingClass &&
previousPair.getSecond().ordinal() < type.ordinal()) {
list.remove(list.size() - 1);
list.add(new Pair<>(member, type));
}
}
if (type == ApplicableType.APPLICABLE) {
applicableList.add(member);
@@ -0,0 +1,30 @@
// "Qualify static call..." "true"
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
System.out.println(B.produceSomething(1).isEmpty());
}
}
class A {
public static Object produceSomething(Integer i) {
return new ArrayList<>();
}
}
class B {
public static List<String> produceSomething(Integer i) {
return new ArrayList<>();
}
public static Object produceSomething(Integer i) {
return new ArrayList<>();
}
}
class C {
public static Integer produceSomething(Integer i) {
return 1;
}
}
@@ -0,0 +1,30 @@
// "Qualify static call..." "true"
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
System.out.println(produceSomething<caret>(1).isEmpty());
}
}
class A {
public static Object produceSomething(Integer i) {
return new ArrayList<>();
}
}
class B {
public static List<String> produceSomething(Integer i) {
return new ArrayList<>();
}
public static Object produceSomething(Integer i) {
return new ArrayList<>();
}
}
class C {
public static Integer produceSomething(Integer i) {
return 1;
}
}