diff options
author | Alex Blewitt | 2016-04-22 23:00:51 +0000 |
---|---|---|
committer | Sergey Prigogin | 2016-04-25 16:38:47 +0000 |
commit | 6bdca5f4a2598b1206d51a59b720314a2f7aa3c1 (patch) | |
tree | 6c94852b1cf0abc24dcb1af3ef1526e89314bbe2 /dsf/org.eclipse.cdt.dsf | |
parent | e21fc12f9052e99dcf545df4a2ae2aba1c90c1cc (diff) | |
download | org.eclipse.cdt-6bdca5f4a2598b1206d51a59b720314a2f7aa3c1.tar.gz org.eclipse.cdt-6bdca5f4a2598b1206d51a59b720314a2f7aa3c1.tar.xz org.eclipse.cdt-6bdca5f4a2598b1206d51a59b720314a2f7aa3c1.zip |
Bug 492230 - Replace buffer.append(a+b) calls
When using a `StringBuilder` or `StringBuffer` to create a string message,
using implicit string concatenation inside an `.append()` call will
create a nested StringBuilder for the purposes of creating the arguments,
which will subsequently be converted to a String and then passed to
the outer StringBuilder.
Skip the creation of the intermediate object and String by simply
replacing such calls with `buffer.append(a).append(b)`.
Where values are compile time String constants, leave as is so
that the javac compiler can perform compile-time String concatenation.
Ensure that NEWLINE isn't appended in such a way since it is not
a compile time constant `System.getProperty("line.separator")`
Change-Id: I4126aefb2272f06b08332e004d7ea76b6f02cdba
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Diffstat (limited to 'dsf/org.eclipse.cdt.dsf')
3 files changed, 4 insertions, 4 deletions
diff --git a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DefaultDsfExecutor.java b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DefaultDsfExecutor.java index c9758967a09..1f8deacc11a 100644 --- a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DefaultDsfExecutor.java +++ b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DefaultDsfExecutor.java @@ -259,7 +259,7 @@ public class DefaultDsfExecutor extends ScheduledThreadPoolExecutor final String refstr = LoggingUtils.toString(executable, false); String tostr = LoggingUtils.trimTrailingNewlines(executable.toString()); traceBuilder.append("\n\t\t"); //$NON-NLS-1$ - traceBuilder.append("instance = " + refstr); //$NON-NLS-1$ + traceBuilder.append("instance = ").append(refstr); //$NON-NLS-1$ if (!tostr.equals(refstr)) { traceBuilder.append(" ["); //$NON-NLS-1$ traceBuilder.append(tostr); diff --git a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfExecutable.java b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfExecutable.java index e1373792c69..2d2363f44ab 100644 --- a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfExecutable.java +++ b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfExecutable.java @@ -200,7 +200,7 @@ public class DsfExecutable { // traceBuilder.append(' '); // // final String refstr = LoggingUtils.toString(this, false); -// traceBuilder.append("DSF executable was never executed: " + refstr); //$NON-NLS-1$ +// traceBuilder.append("DSF executable was never executed: ").append(refstr); //$NON-NLS-1$ // final String tostr = LoggingUtils.trimTrailingNewlines(this.toString()); // if (!tostr.equals(refstr)) { // traceBuilder.append(" ["); //$NON-NLS-1$ diff --git a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/internal/LoggingUtils.java b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/internal/LoggingUtils.java index fdcc1da65dc..bdceb2e616c 100644 --- a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/internal/LoggingUtils.java +++ b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/internal/LoggingUtils.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2015 Freescale Semiconductor, Inc. and others. + * Copyright (c) 2009, 2016 Freescale Semiconductor, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -73,7 +73,7 @@ public class LoggingUtils { public static String toString(String[] strings) { StringBuilder str = new StringBuilder("{"); //$NON-NLS-1$ for (String s : strings) { - str.append(s + ", "); //$NON-NLS-1$ + str.append(s).append(", "); //$NON-NLS-1$ } if (strings.length > 0) { str.delete(str.length()-2, Integer.MAX_VALUE); // remove the trailing comma and space |