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; }