mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
overload resolution: ignore static methods from super interface (IDEA-212406)
GitOrigin-RevId: b7d5a8433fc6c96aa3d0a0208976dc9bee7cad97
This commit is contained in:
committed by
intellij-monorepo-bot
parent
50895e6bba
commit
6c0caa5601
+1
-1
@@ -307,7 +307,7 @@ public class JavaMethodsConflictResolver implements PsiConflictResolver{
|
||||
}
|
||||
else if (expression == null && !ImportsUtil.hasStaticImportOn(parent, method, true)) {
|
||||
PsiClass qualifierClass = PsiTreeUtil.getParentOfType(parent, PsiClass.class);
|
||||
if (qualifierClass != null && !PsiTreeUtil.isAncestor(method.getContainingClass(), qualifierClass, false)) {
|
||||
if (qualifierClass != null && !PsiTreeUtil.isAncestor(method.getContainingClass(), qualifierClass, true)) {
|
||||
return qualifierClass;
|
||||
}
|
||||
}
|
||||
|
||||
+13
@@ -12,4 +12,17 @@ interface Test {
|
||||
|
||||
static void of(String... lists) { }
|
||||
|
||||
}
|
||||
|
||||
interface Entry<T> { }
|
||||
interface ClassA<T> {
|
||||
static <T> void f(Iterable<T> values) {
|
||||
}
|
||||
}
|
||||
interface ClassB<T> extends ClassA<Entry<T>> {
|
||||
static <T> void f(Iterable<? extends Entry<? extends T>> values) {}
|
||||
|
||||
static void m(Iterable<Entry<String>> x) {
|
||||
f(x);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user