new inference: cleanup from eliminateWildcards

This commit is contained in:
Anna Kozlova
2014-02-19 09:46:21 +01:00
parent e104084327
commit 88d220f95d
3 changed files with 3 additions and 4 deletions
@@ -101,7 +101,7 @@ public class LambdaHighlightingUtil {
if (checkInterfaceFunctional(type) == null) return null;
}
}
final PsiClassType.ClassResolveResult resolveResult = PsiUtil.resolveGenericsClassInType(GenericsUtil.eliminateWildcards(functionalInterfaceType));
final PsiClassType.ClassResolveResult resolveResult = PsiUtil.resolveGenericsClassInType(functionalInterfaceType);
final PsiClass aClass = resolveResult.getElement();
if (aClass != null) {
if (aClass instanceof PsiTypeParameter) return null; //should be logged as cyclic inference
@@ -66,7 +66,7 @@ public class InferLambdaParameterTypeIntention extends Intention {
if (parameters.length != lambdaParameters.length) return null;
for (int i = 0; i < parameters.length; i++) {
PsiParameter parameter = parameters[i];
final PsiType psiType = GenericsUtil.eliminateWildcards(LambdaUtil.getSubstitutor(interfaceMethod, resolveResult).substitute(parameter.getType()));
final PsiType psiType = LambdaUtil.getSubstitutor(interfaceMethod, resolveResult).substitute(parameter.getType());
if (psiType != null) {
buf.append(useFQN ? psiType.getCanonicalText() : psiType.getPresentableText()).append(" ").append(lambdaParameters[i].getName());
}
@@ -52,9 +52,8 @@ public class ReplaceLambdaWithAnonymousIntention extends Intention {
final PsiLambdaExpression lambdaExpression = PsiTreeUtil.getParentOfType(element, PsiLambdaExpression.class);
LOG.assertTrue(lambdaExpression != null);
final PsiParameter[] paramListCopy = ((PsiParameterList)lambdaExpression.getParameterList().copy()).getParameters();
PsiType functionalInterfaceType = lambdaExpression.getFunctionalInterfaceType();
final PsiType functionalInterfaceType = lambdaExpression.getFunctionalInterfaceType();
LOG.assertTrue(functionalInterfaceType != null);
functionalInterfaceType = GenericsUtil.eliminateWildcards(functionalInterfaceType);
final PsiMethod method = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceType);
LOG.assertTrue(method != null);