mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[jvm] Fix double highlighting for qualified expressions in dependency inspection
GitOrigin-RevId: f04115b9aff3f3fc1cf2fa7dcf6270461d1b306a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
93eacc6d9d
commit
57b2f30acd
+3
-4
@@ -38,21 +38,20 @@ public class JavaDependencyVisitorFactory extends DependencyVisitorFactory {
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (expression.getParent() instanceof PsiReferenceExpression expr && expr.isQualified()) return;
|
||||
visitReferenceElement(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitElement(@NotNull PsiElement element) {
|
||||
super.visitElement(element);
|
||||
processElement(element);
|
||||
super.visitElement(element);
|
||||
}
|
||||
|
||||
private void processElement(@NotNull PsiElement element) {
|
||||
for (PsiReference ref : element.getReferences()) {
|
||||
PsiElement resolved = ref.resolve();
|
||||
if (resolved != null) {
|
||||
myProcessor.process(ref.getElement(), resolved);
|
||||
}
|
||||
if (resolved != null) myProcessor.process(ref.getElement(), resolved);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
@@ -39,6 +39,18 @@ class JavaDependencyInspectionTest : DependencyInspectionTestBase() {
|
||||
}
|
||||
""".trimIndent(), skipImports = true)
|
||||
|
||||
fun `test illegal imported dependency qualified expression`() = dependencyViolationTest(javaFooFile, "ImportClientJava.java", """
|
||||
package pkg.client;
|
||||
|
||||
import pkg.api.JavaFoo;
|
||||
|
||||
class Client {
|
||||
public static void main(String[] args) {
|
||||
<error descr="Dependency rule 'Deny usages of scope 'JavaFoo' in scope 'ImportClientJava'.' is violated">JavaFoo.foo</error>();
|
||||
}
|
||||
}
|
||||
""".trimIndent(), skipImports = true)
|
||||
|
||||
fun `test illegal fully qualified dependency Java API`() = dependencyViolationTest(javaFooFile, "FqClientJava.java", """
|
||||
package pkg.client;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user