mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-27 00:41:51 +07:00
[java-highlighting] Refactor unrelated default method analysis; extract JavaPsiMethodUtil
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only) GitOrigin-RevId: 1e7f4feab6cbaa3d38960a3c0e45aa5dd2def61a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c858eedee0
commit
5014925e91
@@ -1,8 +1,8 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.codeInspection.reference;
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.GenericsHighlightUtil;
|
||||
import com.intellij.java.analysis.JavaAnalysisBundle;
|
||||
import com.intellij.java.codeserver.core.JavaPsiMethodUtil;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
@@ -18,10 +18,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.uast.*;
|
||||
import org.jetbrains.uast.visitor.AbstractUastVisitor;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
|
||||
public final class RefJavaUtilImpl extends RefJavaUtil {
|
||||
private static final Logger LOG = Logger.getInstance(RefJavaUtilImpl.class);
|
||||
@@ -660,8 +657,7 @@ public final class RefJavaUtilImpl extends RefJavaUtil {
|
||||
}
|
||||
}
|
||||
PsiClass aClass = javaMethod.getContainingClass();
|
||||
if (aClass == null ||
|
||||
GenericsHighlightUtil.getUnrelatedDefaultsMessage(aClass, Arrays.asList(superMethods), true) != null) {
|
||||
if (aClass == null || hasUnrelatedDefaults(aClass, Arrays.asList(superMethods))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -793,4 +789,10 @@ public final class RefJavaUtilImpl extends RefJavaUtil {
|
||||
}
|
||||
return element;
|
||||
}
|
||||
|
||||
private static boolean hasUnrelatedDefaults(@NotNull PsiClass aClass,
|
||||
@NotNull Collection<? extends PsiMethod> overrideEquivalentSuperMethods) {
|
||||
return JavaPsiMethodUtil.getAbstractMethodToImplementWhenDefaultPresent(aClass, overrideEquivalentSuperMethods) != null ||
|
||||
JavaPsiMethodUtil.getUnrelatedSuperMethods(aClass, overrideEquivalentSuperMethods) != null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user