mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-05 08:06:56 +07:00
SSR: fix multi-match of variable declaration and new expression (IDEA-242127)
GitOrigin-RevId: b073656f88f8d218b7ea6f9174690f5679a25da1
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c52de9807a
commit
a4a9237e4f
@@ -441,14 +441,17 @@ public class JavaCompilingVisitor extends JavaRecursiveElementWalkingVisitor {
|
||||
super.visitReferenceElement(reference);
|
||||
|
||||
final PsiElement parent = reference.getParent();
|
||||
final MatchingHandler handler = myCompilingVisitor.getContext().getPattern().getHandler(reference);
|
||||
if (parent != null && parent.getParent() instanceof PsiClass) {
|
||||
GlobalCompilingVisitor.setFilter(myCompilingVisitor.getContext().getPattern().getHandler(reference), TypeFilter.getInstance());
|
||||
GlobalCompilingVisitor.setFilter(handler, TypeFilter.getInstance());
|
||||
}
|
||||
else if (parent instanceof PsiNewExpression) {
|
||||
final PsiNewExpression newExpression = (PsiNewExpression)parent;
|
||||
if (newExpression.getArrayInitializer() != null) {
|
||||
GlobalCompilingVisitor.setFilter(myCompilingVisitor.getContext().getPattern().getHandler(reference),
|
||||
e -> e instanceof PsiJavaCodeReferenceElement || e instanceof PsiKeyword);
|
||||
GlobalCompilingVisitor.setFilter(handler, e -> e instanceof PsiJavaCodeReferenceElement || e instanceof PsiKeyword);
|
||||
}
|
||||
else {
|
||||
GlobalCompilingVisitor.setFilter(handler, e -> e instanceof PsiJavaCodeReferenceElement);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user