File tree Expand file tree Collapse file tree 2 files changed +22
-2
lines changed
src/com/magento/idea/magento2plugin Expand file tree Collapse file tree 2 files changed +22
-2
lines changed Original file line number Diff line number Diff line change 1515import com .intellij .psi .PsiFile ;
1616import com .intellij .psi .PsiReference ;
1717import com .intellij .psi .tree .IElementType ;
18+ import com .intellij .util .SlowOperations ;
1819import com .jetbrains .php .lang .lexer .PhpTokenTypes ;
1920import com .jetbrains .php .lang .psi .PhpFile ;
2021import com .jetbrains .php .lang .psi .elements .Method ;
@@ -124,7 +125,7 @@ private boolean checkIsEventDispatchMethod(final MethodReference element) {
124125 if (elementReference == null ) {
125126 return false ;
126127 }
127- final PsiElement method = elementReference . resolve ( );
128+ final PsiElement method = SlowOperations . allowSlowOperations ( elementReference :: resolve );
128129 if (!(method instanceof Method )) {
129130 return false ;
130131 }
Original file line number Diff line number Diff line change 1010import com .intellij .psi .PsiElement ;
1111import com .intellij .psi .PsiFile ;
1212import com .intellij .util .containers .ContainerUtil ;
13+ import com .jetbrains .php .lang .PhpLangUtil ;
1314import com .jetbrains .php .lang .psi .PhpMultipleDeclarationFilter ;
15+ import com .jetbrains .php .lang .psi .elements .Method ;
16+ import com .jetbrains .php .lang .psi .elements .PhpClass ;
1417import com .jetbrains .php .lang .psi .elements .PhpNamedElement ;
1518import com .magento .idea .magento2plugin .project .Settings ;
1619import java .util .Collection ;
@@ -47,7 +50,23 @@ public <E extends PhpNamedElement> Collection<E> filter(
4750 return false ;
4851 }
4952
50- return !virtualFile .getPath ().contains ("/generated/" );
53+ return !virtualFile .getPath ().contains ("/generated/" ) && isValidFqn ( candidate ) ;
5154 });
5255 }
56+
57+ private <E extends PhpNamedElement > boolean isValidFqn (final E candidate ) {
58+ PhpClass targetClass = null ;
59+
60+ if (candidate instanceof Method ) {
61+ targetClass = (PhpClass ) candidate .getParent ();
62+ } else if (candidate instanceof PhpClass ) {
63+ targetClass = (PhpClass ) candidate ;
64+ }
65+
66+ if (targetClass == null ) {
67+ return true ;
68+ }
69+
70+ return PhpLangUtil .isFqn (targetClass .getFQN ()) && !targetClass .getFQN ().endsWith ("\\ " );
71+ }
5372}
You can’t perform that action at this time.
0 commit comments