function expressions search: accept functional functional interfaces inheritors (IDEA-128086)

This commit is contained in:
Anna Kozlova
2014-11-25 19:23:27 +01:00
parent 52d29286d4
commit bf2f3f84ee
@@ -33,6 +33,7 @@ import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
import com.intellij.psi.search.*;
import com.intellij.psi.search.searches.FunctionalExpressionSearch;
import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.util.PsiUtilCore;
import com.intellij.util.CommonProcessors;
@@ -148,7 +149,7 @@ public class JavaFunctionalExpressionSearcher implements QueryExecutor<PsiFuncti
private void visitFunctionalExpression(PsiFunctionalExpression expression) {
PsiType functionalInterfaceType = expression.getFunctionalInterfaceType();
if (psiManager.areElementsEquivalent(PsiUtil.resolveClassInType(functionalInterfaceType), aClass)) {
if (InheritanceUtil.isInheritorOrSelf(PsiUtil.resolveClassInType(functionalInterfaceType), aClass, true)) {
if (!consumer.process(expression)) {
ref.set(false);
}