From 9cbe853cadd609cd222155920a49bddf96551652 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Mon, 17 Sep 2012 20:53:21 +0400 Subject: [PATCH] Better rendering for PLATFORM_CLASS_MAPPED_TO_KOTLIN. --- .../rendering/DefaultErrorMessages.java | 2 +- .../jet/lang/diagnostics/rendering/Renderers.java | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/DefaultErrorMessages.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/DefaultErrorMessages.java index d2382b736b3..62cbb5db66a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/DefaultErrorMessages.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/DefaultErrorMessages.java @@ -96,7 +96,7 @@ public class DefaultErrorMessages { MAP.put(CANNOT_BE_IMPORTED, "Cannot import ''{0}'', functions and properties can be imported only from packages", NAME); MAP.put(USELESS_HIDDEN_IMPORT, "Useless import, it is hidden further"); MAP.put(USELESS_SIMPLE_IMPORT, "Useless import, does nothing"); - MAP.put(PLATFORM_CLASS_MAPPED_TO_KOTLIN, "This class shouldn''t be used in Kotlin. Use {0} instead.", CLASS_DESCRIPTOR_LIST); + MAP.put(PLATFORM_CLASS_MAPPED_TO_KOTLIN, "This class shouldn''t be used in Kotlin. Use {0} instead.", CLASSES_OR_SEPARATED); MAP.put(CANNOT_INFER_PARAMETER_TYPE, "Cannot infer a type for this parameter. To specify it explicitly use the {(p : Type) => ...} notation"); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/Renderers.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/Renderers.java index c1548586aa2..2dc18de1cba 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/Renderers.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/Renderers.java @@ -288,20 +288,22 @@ public class Renderers { return result; } - public static final Renderer> CLASS_DESCRIPTOR_LIST = new Renderer>() { + public static final Renderer> CLASSES_OR_SEPARATED = new Renderer>() { @NotNull @Override public String render(@NotNull Collection descriptors) { StringBuilder sb = new StringBuilder(); - sb.append("("); - for (Iterator iterator = descriptors.iterator(); iterator.hasNext(); ) { - ClassDescriptor descriptor = iterator.next(); + int index = 0; + for (ClassDescriptor descriptor : descriptors) { sb.append(DescriptorUtils.getFQName(descriptor).getFqName()); - if (iterator.hasNext()) { + index++; + if (index <= descriptors.size() - 2) { sb.append(", "); } + else if (index == descriptors.size() - 1) { + sb.append(" or "); + } } - sb.append(")"); return sb.toString(); } };