Skip to content

Commit 12aabef

Browse files
committed
some performance stuff
1 parent 6aa5632 commit 12aabef

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/codeInspection/form/FormTypeAsClassConstantInspection.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class FormTypeAsClassConstantInspection extends LocalInspectionTool {
2727

2828
@NotNull
2929
public PsiElementVisitor buildVisitor(final @NotNull ProblemsHolder holder, boolean isOnTheFly) {
30-
if(!Symfony2ProjectComponent.isEnabled(holder.getProject()) || !SymfonyUtil.isVersionGreaterThenEquals(holder.getProject(), "2.8")) {
30+
if(!Symfony2ProjectComponent.isEnabled(holder.getProject())) {
3131
return super.buildVisitor(holder, isOnTheFly);
3232
}
3333

@@ -36,23 +36,32 @@ public PsiElementVisitor buildVisitor(final @NotNull ProblemsHolder holder, bool
3636

3737
private static class MyPsiElementVisitor extends PsiElementVisitor {
3838
private final ProblemsHolder holder;
39+
private Boolean isVersionGreaterThenEquals = null;
3940

4041
MyPsiElementVisitor(ProblemsHolder holder) {
4142
this.holder = holder;
4243
}
4344

4445
@Override
4546
public void visitElement(PsiElement element) {
46-
if(!(element instanceof MethodReference) ||
47-
!ArrayUtil.contains(((MethodReference) element).getName(), "add", "create") ||
48-
!PhpElementsUtil.isMethodReferenceInstanceOf((MethodReference) element, "Symfony\\Component\\Form\\FormBuilderInterface")
47+
if(!(element instanceof MethodReference methodReference) ||
48+
!ArrayUtil.contains(methodReference.getName(), "add", "create") ||
49+
!PhpElementsUtil.isMethodReferenceInstanceOf(methodReference, "Symfony\\Component\\Form\\FormBuilderInterface")
4950
) {
5051

5152
super.visitElement(element);
5253
return;
5354
}
5455

55-
PsiElement[] parameters = ((MethodReference) element).getParameters();
56+
if (isVersionGreaterThenEquals == null) {
57+
isVersionGreaterThenEquals = SymfonyUtil.isVersionGreaterThenEquals(holder.getProject(), "2.8");
58+
}
59+
60+
if (!isVersionGreaterThenEquals) {
61+
return;
62+
}
63+
64+
PsiElement[] parameters = methodReference.getParameters();
5665
if(parameters.length < 2) {
5766
super.visitElement(element);
5867
return;

0 commit comments

Comments
 (0)