From 6a6b78ea37e84b20747627e82070d33c02bbcd50 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Tue, 16 Dec 2014 17:27:26 +0300 Subject: [PATCH] no need for StringBuilder any more --- .../ui/tree/render/ClassRenderer.java | 50 +++++++------------ 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ClassRenderer.java b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ClassRenderer.java index d0f4676f6819..720e3ce2456b 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ClassRenderer.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ClassRenderer.java @@ -37,7 +37,6 @@ import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiElementFactory; import com.intellij.psi.PsiExpression; import com.intellij.util.IncorrectOperationException; -import com.intellij.util.StringBuilderSpinAllocator; import com.intellij.xdebugger.settings.XDebuggerSettingsManager; import com.sun.jdi.*; import org.jdom.Element; @@ -112,42 +111,31 @@ public class ClassRenderer extends NodeRendererImpl{ final ValueDescriptorImpl valueDescriptor = (ValueDescriptorImpl)descriptor; final Value value = valueDescriptor.getValue(); if (value instanceof ObjectReference) { - final StringBuilder buf = StringBuilderSpinAllocator.alloc(); - try { - if (value instanceof StringReference) { - // no need to add quotes and escape characters here, XValueTextRendererImpl handles the presentation - //buf.append('\"'); - //buf.append(DebuggerUtils.convertToPresentationString(((StringReference)value).value())); - //buf.append('\"'); - buf.append(((StringReference)value).value()); - } - else if (value instanceof ClassObjectReference) { - ReferenceType type = ((ClassObjectReference)value).reflectedType(); - buf.append((type != null)?type.name():"{...}"); - } - else { - final ObjectReference objRef = (ObjectReference)value; - final Type type = objRef.type(); - if (type instanceof ClassType && ((ClassType)type).isEnum()) { - final String name = getEnumConstantName(objRef, (ClassType)type); - if (name != null) { - buf.append(name); - } - else { - buf.append(type.name()); - } + if (value instanceof StringReference) { + return ((StringReference)value).value(); + } + else if (value instanceof ClassObjectReference) { + ReferenceType type = ((ClassObjectReference)value).reflectedType(); + return (type != null) ? type.name() : "{...}"; + } + else { + final ObjectReference objRef = (ObjectReference)value; + final Type type = objRef.type(); + if (type instanceof ClassType && ((ClassType)type).isEnum()) { + final String name = getEnumConstantName(objRef, (ClassType)type); + if (name != null) { + return name; } else { - buf.append(ValueDescriptorImpl.getIdLabel(objRef)); + return type.name(); } } - return buf.toString(); - } - finally { - StringBuilderSpinAllocator.dispose(buf); + else { + return ValueDescriptorImpl.getIdLabel(objRef); + } } } - else if(value == null) { + else if (value == null) { //noinspection HardCodedStringLiteral return "null"; }