@@ -54,29 +54,31 @@ public DataIndexer<String, Set<String>, FileContent> getIndexer() {
5454 }
5555 }
5656
57- for (TwigExtendsTag extendsTag : PsiTreeUtil .getChildrenOfTypeAsList (psiFile , TwigExtendsTag .class )) {
58- for (String templateName : TwigUtil .getTwigExtendsTagTemplates (extendsTag )) {
59- blocks .putIfAbsent ("extends" , new HashSet <>());
60- blocks .get ("extends" ).add (TwigUtil .normalizeTemplateName (templateName ));
61- }
62- }
63-
64- for (TwigCompositeElement twigCompositeElement : PsiTreeUtil .getChildrenOfTypeAsList (psiFile , TwigCompositeElement .class )) {
65- if (twigCompositeElement .getNode ().getElementType () == TwigElementTypes .TAG ) {
66- twigCompositeElement .acceptChildren (new PsiRecursiveElementWalkingVisitor () {
67- @ Override
68- public void visitElement (PsiElement element ) {
69- if (TwigPattern .getTwigTagUseNamePattern ().accepts (element ) && PsiElementUtils .getParentOfType (element , TwigElementTypes .EMBED_STATEMENT ) == null ) {
70- String templateName = TwigUtil .normalizeTemplateName (PsiElementUtils .trimQuote (element .getText ()));
71- if (StringUtils .isNotBlank (templateName )) {
72- blocks .putIfAbsent ("use" , new HashSet <>());
73- blocks .get ("use" ).add (templateName );
57+ for (PsiElement psiElement : PsiTreeUtil .getChildrenOfAnyType (psiFile , TwigExtendsTag .class , TwigCompositeElement .class )) {
58+ if (psiElement instanceof TwigExtendsTag ) {
59+ // {% extends 'foo.html.twig' %}
60+ for (String templateName : TwigUtil .getTwigExtendsTagTemplates ((TwigExtendsTag ) psiElement )) {
61+ blocks .putIfAbsent ("extends" , new HashSet <>());
62+ blocks .get ("extends" ).add (TwigUtil .normalizeTemplateName (templateName ));
63+ }
64+ } else if (psiElement instanceof TwigCompositeElement ) {
65+ // {% use 'foo.html.twig' %}
66+ if (psiElement .getNode ().getElementType () == TwigElementTypes .TAG ) {
67+ psiElement .acceptChildren (new PsiRecursiveElementWalkingVisitor () {
68+ @ Override
69+ public void visitElement (PsiElement element ) {
70+ if (TwigPattern .getTwigTagUseNamePattern ().accepts (element ) && PsiElementUtils .getParentOfType (element , TwigElementTypes .EMBED_STATEMENT ) == null ) {
71+ String templateName = TwigUtil .normalizeTemplateName (PsiElementUtils .trimQuote (element .getText ()));
72+ if (StringUtils .isNotBlank (templateName )) {
73+ blocks .putIfAbsent ("use" , new HashSet <>());
74+ blocks .get ("use" ).add (templateName );
75+ }
7476 }
75- }
7677
77- super .visitElement (element );
78- }
79- });
78+ super .visitElement (element );
79+ }
80+ });
81+ }
8082 }
8183 }
8284 }
0 commit comments