3232 * @author Daniel Espendiller <daniel@espendiller.net>
3333 */
3434public class PhpMethodVariableResolveUtil {
35- private static Set <String > RENDER_METHODS = new HashSet <String >() {{
36- add ("render" );
37- add ("renderView" );
38- add ("renderResponse" );
39- }};
40-
4135 /**
4236 * search for twig template variable on common use cases
4337 *
@@ -272,7 +266,7 @@ private static class TemplateRenderPsiRecursiveElementWalkingVisitor extends Psi
272266 }
273267
274268 @ Override
275- public void visitElement (PsiElement element ) {
269+ public void visitElement (@ NotNull PsiElement element ) {
276270 if (element instanceof MethodReference ) {
277271 visitMethodReference ((MethodReference ) element );
278272 } else if (element instanceof PhpDocTag ) {
@@ -283,11 +277,13 @@ public void visitElement(PsiElement element) {
283277
284278 private void visitMethodReference (@ NotNull MethodReference methodReference ) {
285279 String methodName = methodReference .getName ();
280+ if (methodName == null ) {
281+ return ;
282+ }
286283
287284 // init methods once per file
288285 if (methods == null ) {
289286 methods = new HashSet <>();
290- methods .addAll (RENDER_METHODS );
291287
292288 PluginConfigurationExtension [] extensions = Symfony2ProjectComponent .PLUGIN_CONFIGURATION_EXTENSION .getExtensions ();
293289 if (extensions .length > 0 ) {
@@ -300,7 +296,7 @@ private void visitMethodReference(@NotNull MethodReference methodReference) {
300296 }
301297 }
302298
303- if (!methods .contains (methodName )) {
299+ if (!methods .contains (methodName ) && ! methodName . toLowerCase (). contains ( "template" ) && ! methodName . toLowerCase (). contains ( "render" ) ) {
304300 return ;
305301 }
306302
0 commit comments