@@ -54,29 +54,31 @@ public DataIndexer<String, Set<String>, FileContent> getIndexer() {
54
54
}
55
55
}
56
56
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
+ }
74
76
}
75
- }
76
77
77
- super .visitElement (element );
78
- }
79
- });
78
+ super .visitElement (element );
79
+ }
80
+ });
81
+ }
80
82
}
81
83
}
82
84
}
0 commit comments