diff options
Diffstat (limited to 'java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java')
-rw-r--r-- | java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java index cbfb5f4f5d65..095912a20094 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java @@ -257,8 +257,13 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh } myHolder.add(AnnotationsHighlightUtil.checkValidAnnotationType(method.getReturnTypeElement())); - myHolder.add(AnnotationsHighlightUtil.checkCyclicMemberType(method.getReturnTypeElement(), method.getContainingClass())); + final PsiClass aClass = method.getContainingClass(); + myHolder.add(AnnotationsHighlightUtil.checkCyclicMemberType(method.getReturnTypeElement(), aClass)); myHolder.add(AnnotationsHighlightUtil.checkClashesWithSuperMethods(method)); + + if (!myHolder.hasErrorResults() && aClass != null) { + myHolder.add(HighlightMethodUtil.checkDuplicateMethod(aClass, method, getDuplicateMethods(aClass))); + } } @Override @@ -1213,6 +1218,13 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh final String accessProblem = HighlightUtil.buildProblemWithAccessDescription(expression, result); HighlightInfo info = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(accessProblem).create(); myHolder.add(info); + } else { + final TextAttributesScheme colorsScheme = myHolder.getColorsScheme(); + if (method instanceof PsiMethod) { + final PsiElement methodNameElement = expression.getReferenceNameElement(); + myHolder.add(HighlightNamesUtil.highlightMethodName((PsiMethod)method, methodNameElement, false, colorsScheme)); + } + myHolder.add(HighlightNamesUtil.highlightClassNameInQualifier(expression, colorsScheme)); } if (!myHolder.hasErrorResults()) { final PsiType functionalInterfaceType = expression.getFunctionalInterfaceType(); @@ -1222,11 +1234,6 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh myHolder.add(HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression) .descriptionAndTooltip(functionalInterfaceType.getPresentableText() + " is not a functional interface").create()); } - else if (LambdaUtil.dependsOnTypeParams(functionalInterfaceType, functionalInterfaceType, expression)) { - HighlightInfo result1 = - HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip("Cyclic inference").create(); - myHolder.add(result1); //todo[ann] append not inferred type params info - } } if (!myHolder.hasErrorResults()) { final PsiElement referenceNameElement = expression.getReferenceNameElement(); |