mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-384922 [java-highlighting] Required transitive dependency is not highlighted
GitOrigin-RevId: 3e80edab97d215b7a0d32b23c96cfcdfa6723476
This commit is contained in:
committed by
intellij-monorepo-bot
parent
223afcae1e
commit
36bc7c3c64
+9
@@ -5,6 +5,7 @@ import com.intellij.java.codeserver.highlighting.errors.JavaCompilationError;
|
||||
import com.intellij.java.codeserver.highlighting.errors.JavaErrorKinds;
|
||||
import com.intellij.java.codeserver.highlighting.errors.JavaIncompatibleTypeErrorContext;
|
||||
import com.intellij.lang.jvm.JvmModifier;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.JavaResolveResult;
|
||||
import com.intellij.psi.LambdaUtil;
|
||||
import com.intellij.psi.PsiCall;
|
||||
@@ -14,6 +15,7 @@ import com.intellij.psi.PsiClassType;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiExpression;
|
||||
import com.intellij.psi.PsiExpressionList;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiFunctionalExpression;
|
||||
import com.intellij.psi.PsiIntersectionType;
|
||||
import com.intellij.psi.PsiJavaCodeReferenceElement;
|
||||
@@ -418,6 +420,7 @@ final class FunctionChecker {
|
||||
PsiUtil.resolveGenericsClassInType(PsiClassImplUtil.correctType(functionalInterfaceType, expression.getResolveScope()));
|
||||
PsiClass psiClass = resolveResult.getElement();
|
||||
if (psiClass == null) return;
|
||||
PsiFile file = psiClass.getContainingFile();
|
||||
if (!PsiUtil.isAccessible(myVisitor.project(), psiClass, expression, null)) {
|
||||
myVisitor.myModifierChecker.reportAccessProblem(expression, psiClass, resolveResult);
|
||||
return;
|
||||
@@ -448,5 +451,11 @@ final class FunctionChecker {
|
||||
}
|
||||
|
||||
myVisitor.myModuleChecker.checkModuleAccess(psiClass, expression);
|
||||
if (!myVisitor.hasErrorResults()) {
|
||||
VirtualFile virtualFile = file.getVirtualFile();
|
||||
if (virtualFile != null && !expression.getResolveScope().contains(virtualFile)) {
|
||||
myVisitor.report(JavaErrorKinds.CLASS_NOT_ACCESSIBLE.create(expression, psiClass));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user