From 8ea221fb9d65e46ba487af843625a1cd49b0e4da Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 23 Dec 2009 13:41:32 +0300 Subject: [PATCH] Revert:wait for fix in trunk --- .../impl/analysis/GenericsHighlightUtil.java | 28 ---------------------- .../daemon/impl/analysis/HighlightVisitorImpl.java | 7 ++---- .../src/messages/JavaErrorMessages.properties | 1 - 3 files changed, 2 insertions(+), 34 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java index 6c4e787612..af3c583751 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java @@ -1192,33 +1192,5 @@ public class GenericsHighlightUtil { } return null; } - - public static HighlightInfo checkTopLevelMethodCallIntersectionTypeMaximalUpperBound(PsiMethodCallExpression methodCall, - PsiReferenceExpression expression) { - PsiElement parent = methodCall.getParent(); - if (parent instanceof PsiExpression) return null; - PsiType type = expression.getType(); - if (!(type instanceof PsiIntersectionType)) { - return null; - } - PsiType[] conjuncts = ((PsiIntersectionType)type).getConjuncts(); - PsiType lub = conjuncts[0]; - for (int i = 1; i < conjuncts.length; i++) { - PsiType conjunct = conjuncts[i]; - PsiType bound = GenericsUtil.getLeastUpperBound(lub, conjunct, methodCall.getManager()); - if (bound == null || !TypeConversionUtil.isAssignable(lub, bound) || !TypeConversionUtil.isAssignable(conjunct, bound)) { - PsiMethod method = methodCall.resolveMethod(); - if (method == null) return null; - String message = JavaErrorMessages.message("failed.to.find.unique.maximal.instance", - HighlightUtil.formatMethod(method), - HighlightUtil.formatType(lub), HighlightUtil.formatType(conjunct)); - - - return HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, expression, message); - } - lub = bound; - } - return null; - } } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java index 34b34e1344..a9b2b9bd3a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java @@ -768,11 +768,8 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh } else { PsiElement parent = expression.getParent(); - PsiMethodCallExpression methodCall; - - if (parent instanceof PsiMethodCallExpression && (methodCall = (PsiMethodCallExpression)parent).getMethodExpression() == expression) { - myHolder.addAll(HighlightMethodUtil.checkMethodCall(methodCall, myResolveHelper)); - if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkTopLevelMethodCallIntersectionTypeMaximalUpperBound(methodCall, expression)); + if (parent instanceof PsiMethodCallExpression && ((PsiMethodCallExpression)parent).getMethodExpression() == expression) { + myHolder.addAll(HighlightMethodUtil.checkMethodCall((PsiMethodCallExpression)parent, myResolveHelper)); } } diff --git a/resources-en/src/messages/JavaErrorMessages.properties b/resources-en/src/messages/JavaErrorMessages.properties index fea81d6a3e..998187d6c2 100644 --- a/resources-en/src/messages/JavaErrorMessages.properties +++ b/resources-en/src/messages/JavaErrorMessages.properties @@ -335,4 +335,3 @@ illegal.initializer=Illegal initializer for ''{0}'' class.cannot.inherit.from.its.type.parameter=Class cannot inherit from its type parameter cannot.resolve.package=Cannot resolve package {0} override.not.allowed.in.interfaces=@Override is not allowed when implementing interface method -failed.to.find.unique.maximal.instance=Cannot determine type parameters for ''{0}'': no unique maximal instance of upper bounds ''{1}'' and ''{2}'' -- 2.11.4.GIT