From 23e6e08a8348235be4579bc43b2c3e1006c6b4fd Mon Sep 17 00:00:00 2001 From: Daniel Espendiller Date: Wed, 24 Apr 2013 15:18:10 +0200 Subject: [PATCH 1/2] every reference calls freeze the ide, so dont use it anymore. see WI-18102 --- .../idea/symfony2plugin/Symfony2InterfacesUtil.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fr/adrienbrault/idea/symfony2plugin/Symfony2InterfacesUtil.java b/src/fr/adrienbrault/idea/symfony2plugin/Symfony2InterfacesUtil.java index f3f3ae1d8..163b0ca39 100644 --- a/src/fr/adrienbrault/idea/symfony2plugin/Symfony2InterfacesUtil.java +++ b/src/fr/adrienbrault/idea/symfony2plugin/Symfony2InterfacesUtil.java @@ -2,11 +2,14 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; +import com.intellij.psi.util.PsiTreeUtil; import com.jetbrains.php.PhpIndex; +import com.jetbrains.php.lang.lexer.PhpTokenTypes; import com.jetbrains.php.lang.psi.elements.Method; import com.jetbrains.php.lang.psi.elements.MethodReference; import com.jetbrains.php.lang.psi.elements.PhpClass; import com.jetbrains.php.lang.psi.elements.StringLiteralExpression; +import com.jetbrains.php.lang.psi.resolve.types.PhpType; import java.util.Arrays; @@ -58,17 +61,14 @@ protected boolean isCallTo(PsiElement e, Method[] expectedMethods, int deepness) return false; } - PsiElement resolvedReference = methodRef.getReference().resolve(); - if (!(resolvedReference instanceof Method)) { + PhpClass methodClass = PsiTreeUtil.getParentOfType(e, PhpClass.class); + if(null == methodClass) { return false; } - Method method = (Method) resolvedReference; - PhpClass methodClass = method.getContainingClass(); - for (Method expectedMethod : Arrays.asList(expectedMethods)) { if (null != expectedMethod - && expectedMethod.getName().equals(method.getName()) + && expectedMethod.getName().equals(methodRef.getName()) && isInstanceOf(methodClass, expectedMethod.getContainingClass())) { return true; } From f888248f2154d26d2842498dfc77ee0d86f259b6 Mon Sep 17 00:00:00 2001 From: Daniel Espendiller Date: Wed, 24 Apr 2013 15:25:11 +0200 Subject: [PATCH 2/2] cleanup unused imports --- .../idea/symfony2plugin/Symfony2InterfacesUtil.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/fr/adrienbrault/idea/symfony2plugin/Symfony2InterfacesUtil.java b/src/fr/adrienbrault/idea/symfony2plugin/Symfony2InterfacesUtil.java index 163b0ca39..661c1efcf 100644 --- a/src/fr/adrienbrault/idea/symfony2plugin/Symfony2InterfacesUtil.java +++ b/src/fr/adrienbrault/idea/symfony2plugin/Symfony2InterfacesUtil.java @@ -4,12 +4,10 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiTreeUtil; import com.jetbrains.php.PhpIndex; -import com.jetbrains.php.lang.lexer.PhpTokenTypes; import com.jetbrains.php.lang.psi.elements.Method; import com.jetbrains.php.lang.psi.elements.MethodReference; import com.jetbrains.php.lang.psi.elements.PhpClass; import com.jetbrains.php.lang.psi.elements.StringLiteralExpression; -import com.jetbrains.php.lang.psi.resolve.types.PhpType; import java.util.Arrays;