From 0edaac849d196d593b19dde81cb42929e587dc69 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Thu, 10 Oct 2019 08:45:10 +0200 Subject: [PATCH] incompatible types tooltip: append reason when provided for single arg mismatch GitOrigin-RevId: 7be63b20a982cd0fb365e022278df6a5c02153f3 --- .../daemon/impl/analysis/HighlightMethodUtil.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java index 7b91af9b9daa..ddf1e9149e0d 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java @@ -527,9 +527,14 @@ public class HighlightMethodUtil { boolean varargs = candidateInfo.getApplicabilityLevel() == MethodCandidateInfo.ApplicabilityLevel.VARARGS; int idx = ArrayUtil.find(expressions, wrongArg); PsiType paramType = candidateInfo.getSubstitutor().substitute(PsiTypesUtil.getParameterType(parameters, idx, varargs)); + String errorMessage = candidateInfo.getInferenceErrorMessage(); + String reason = errorMessage != null ? "
" + + "reason: " + XmlStringUtil.escapeString(errorMessage).replaceAll("\n", "
") + + "
" + : ""; return HighlightUtil.createIncompatibleTypesTooltip(paramType, argType, (lRawType, lTypeArguments, rRawType, rTypeArguments) -> - JavaErrorMessages.message("incompatible.types.html.tooltip", lRawType, lTypeArguments, rRawType, rTypeArguments, "", "#" + ColorUtil.toHex(UIUtil.getContextHelpForeground()))); + JavaErrorMessages.message("incompatible.types.html.tooltip", lRawType, lTypeArguments, rRawType, rTypeArguments, reason, "#" + ColorUtil.toHex(UIUtil.getContextHelpForeground()))); } return null; }