logging for EA-91053 - NPE: ExpectedTypesProvider$MyParentVisitor.findClassesWithDeclaredMethod

This commit is contained in:
Anna.Kozlova
2016-11-10 10:52:14 +01:00
parent 7661254306
commit 6e84d187aa
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -33,13 +33,10 @@ import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.PsiShortNamesCache;
import com.intellij.psi.search.searches.DeepestSuperMethodsSearch;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.util.PropertyUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.util.TypeConversionUtil;
import com.intellij.psi.util.*;
import com.intellij.util.ArrayUtil;
import com.intellij.util.NullableFunction;
import com.intellij.util.containers.*;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.HashMap;
import com.intellij.util.containers.HashSet;
import com.intellij.util.containers.Stack;
@@ -1226,13 +1223,14 @@ public class ExpectedTypesProvider {
@NotNull
private ExpectedTypeInfo[] findClassesWithDeclaredMethod(@NotNull final PsiMethodCallExpression methodCallExpr, final boolean forCompletion) {
PsiUtilCore.ensureValid(methodCallExpr);
final PsiReferenceExpression reference = methodCallExpr.getMethodExpression();
if (reference.getQualifierExpression() instanceof PsiClassObjectAccessExpression) {
return ExpectedTypeInfo.EMPTY_ARRAY;
}
final PsiManager manager = methodCallExpr.getManager();
final JavaPsiFacade facade = JavaPsiFacade.getInstance(manager.getProject());
final PsiMethod[] methods = myClassProvider.findDeclaredMethods(reference.getManager(), reference.getReferenceName());
final PsiMethod[] methods = myClassProvider.findDeclaredMethods(manager, reference.getReferenceName());
Set<ExpectedTypeInfo> types = new THashSet<>();
for (PsiMethod method : methods) {
final PsiClass aClass = method.getContainingClass();