From 7a605ccee2f5fcd5f5c3fd02badf979cdf53a8c9 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 18 Apr 2012 20:05:26 +0400 Subject: [PATCH] Added IDE error message for ASSIGN_OPERATOR_AMBIGUITY. --- .../plugin/highlighter/IdeErrorMessages.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java b/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java index ff119974dcf..57b7b3b9b9c 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java @@ -17,15 +17,17 @@ package org.jetbrains.jet.plugin.highlighter; import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.lang.descriptors.CallableDescriptor; import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor; import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.diagnostics.rendering.*; +import org.jetbrains.jet.lang.resolve.calls.ResolvedCall; import org.jetbrains.jet.resolve.DescriptorRenderer; +import java.util.Collection; + import static org.jetbrains.jet.lang.diagnostics.Errors.*; -import static org.jetbrains.jet.lang.diagnostics.rendering.Renderers.RENDER_CLASS_OR_OBJECT; -import static org.jetbrains.jet.lang.diagnostics.rendering.Renderers.RENDER_TYPE; -import static org.jetbrains.jet.lang.diagnostics.rendering.Renderers.TO_STRING; +import static org.jetbrains.jet.lang.diagnostics.rendering.Renderers.*; /** * @see DefaultErrorMessages @@ -40,6 +42,20 @@ public class IdeErrorMessages { 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.", 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(WRONG_SETTER_PARAMETER_TYPE, "Setter parameter type must be equal to the type of the property." + "" + "
    Expected:{0}
    Found:{1}
    ", RENDER_TYPE, RENDER_TYPE);