Skip to content

Commit 2ed3a3e

Browse files
authored
Merge pull request #1953 from Haehnchen/feature/PhpLineMarkerProvider
PhpLineMarkerProvider linemarker should only be triggered on smallest (leaf) elements
2 parents d042f78 + 99db977 commit 2ed3a3e

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/routing/PhpLineMarkerProvider.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.intellij.lang.ASTNode;
88
import com.intellij.psi.PsiElement;
99
import com.intellij.psi.PsiFile;
10+
import com.jetbrains.php.lang.lexer.PhpTokenTypes;
1011
import com.jetbrains.php.lang.psi.PhpFile;
1112
import com.jetbrains.php.lang.psi.elements.MethodReference;
1213
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
@@ -47,7 +48,12 @@ public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElemen
4748
}
4849
}
4950

50-
private void attachRouteActions(@NotNull Collection<? super LineMarkerInfo<?>> lineMarkerInfos, @NotNull PsiElement psiElement) {
51+
private void attachRouteActions(@NotNull Collection<? super LineMarkerInfo<?>> lineMarkerInfos, @NotNull PsiElement leaf) {
52+
if (leaf.getNode().getElementType() != PhpTokenTypes.IDENTIFIER) {
53+
return;
54+
}
55+
56+
PsiElement psiElement = leaf.getParent();
5157
if (!(psiElement instanceof MethodReference) || !"controller".equalsIgnoreCase(((MethodReference) psiElement).getName()) || !PhpElementsUtil.isMethodReferenceInstanceOf((MethodReference) psiElement, "\\Symfony\\Component\\Routing\\Loader\\Configurator\\Traits\\RouteTrait", "controller")) {
5258
return;
5359
}

0 commit comments

Comments
 (0)