From 1bc8812613ce9af925a9df16efcbf1c209dc728f Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 29 May 2014 19:59:49 +0400 Subject: [PATCH] Don't add space if it has been already added or it's not yet needed --- .../jet/renderer/DescriptorRendererImpl.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java b/core/descriptors/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java index 41cc9e29297..6d9e0c3e176 100644 --- a/core/descriptors/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java +++ b/core/descriptors/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java @@ -191,6 +191,12 @@ public class DescriptorRendererImpl implements DescriptorRenderer { throw new IllegalStateException("Unexpected textFormat: " + textFormat); } + private static void renderSpaceIfNeeded(@NotNull StringBuilder builder) { + int length = builder.length(); + if (length == 0 || builder.charAt(length - 1) != ' ') { + builder.append(' '); + } + } /* NAMES RENDERING */ @NotNull @@ -205,9 +211,11 @@ public class DescriptorRendererImpl implements DescriptorRenderer { private void renderClassObjectName(@NotNull DeclarationDescriptor descriptor, @NotNull StringBuilder builder) { if (renderClassObjectName) { + if (!startFromName) renderSpaceIfNeeded(builder); builder.append(""); } if (verbose) { + if (!startFromName) renderSpaceIfNeeded(builder); builder.append(renderName(descriptor.getName())); } } @@ -791,10 +799,10 @@ public class DescriptorRendererImpl implements DescriptorRenderer { } renderInner(klass.isInner(), builder); renderClassKindPrefix(klass, builder); - builder.append(" "); } if (klass.getKind() != ClassKind.CLASS_OBJECT) { + if (!startFromName) renderSpaceIfNeeded(builder); renderName(klass, builder); } else { @@ -825,7 +833,8 @@ public class DescriptorRendererImpl implements DescriptorRenderer { supertypes.size() == 1 && KotlinBuiltIns.getInstance().isAnyOrNullableAny(supertypes.iterator().next())) { } else { - builder.append(" : "); + renderSpaceIfNeeded(builder); + builder.append(": "); for (Iterator iterator = supertypes.iterator(); iterator.hasNext(); ) { JetType supertype = iterator.next(); builder.append(renderType(supertype));