From 625101b68d68c58a3bf48fca034c8cdf0d2e9359 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 18 Apr 2012 20:28:46 +0400 Subject: [PATCH] Added IDE error message for ITERATOR_AMBIGUITY. --- .../plugin/highlighter/IdeErrorMessages.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java b/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java index 57b7b3b9b9c..4425b6aacff 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java @@ -39,22 +39,26 @@ public class IdeErrorMessages { public static final DiagnosticFactoryToRendererMap MAP = new DiagnosticFactoryToRendererMap(); public static final DiagnosticRenderer RENDERER = new DispatchingDiagnosticRenderer(MAP, DefaultErrorMessages.MAP); + private static final Renderer>> HTML_AMBIGUOUS_CALLS = + new Renderer>>() { + @NotNull + @Override + public String render(@NotNull Collection> calls) { + StringBuilder stringBuilder = new StringBuilder(""); + for (ResolvedCall call : calls) { + stringBuilder.append("
  • "); + stringBuilder.append(DescriptorRenderer.HTML.render(call.getResultingDescriptor())).append("\n"); + stringBuilder.append("
  • "); + } + return stringBuilder.toString(); + } + }; + static { MAP.put(TYPE_MISMATCH, "Type mismatch.
    Required:{0}
    Found:{1}
    ", RENDER_TYPE, RENDER_TYPE); - MAP.put(ASSIGN_OPERATOR_AMBIGUITY, "Assignment operators ambiguity. All these functions match.
      {0}
    ", new Renderer>>() { - @NotNull - @Override - public String render(@NotNull Collection> calls) { - StringBuilder stringBuilder = new StringBuilder(""); - for (ResolvedCall call : calls) { - stringBuilder.append("
  • "); - stringBuilder.append(DescriptorRenderer.HTML.render(call.getResultingDescriptor())).append("\n"); - stringBuilder.append("
  • "); - } - return stringBuilder.toString(); - } - }); + MAP.put(ASSIGN_OPERATOR_AMBIGUITY, "Assignment operators ambiguity. All these functions match.
      {0}
    ", + HTML_AMBIGUOUS_CALLS); MAP.put(WRONG_SETTER_PARAMETER_TYPE, "Setter parameter type must be equal to the type of the property." + "" + @@ -63,6 +67,8 @@ public class IdeErrorMessages { "
    Expected:{0}
    " + "
    Expected:{0}
    Found:{1}
    ", RENDER_TYPE, RENDER_TYPE); + MAP.put(ITERATOR_AMBIGUITY, "Method ''iterator()'' is ambiguous for this expression.
      {0}
    ", HTML_AMBIGUOUS_CALLS); + MAP.put(UPPER_BOUND_VIOLATED, "Type argument is not within its bounds." + "" + "
    Expected:{0}
    Found:{1}
    ", RENDER_TYPE, RENDER_TYPE);