Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Blewitt2016-04-22 23:00:51 +0000
committerSergey Prigogin2016-04-25 16:38:47 +0000
commit6bdca5f4a2598b1206d51a59b720314a2f7aa3c1 (patch)
tree6c94852b1cf0abc24dcb1af3ef1526e89314bbe2 /dsf/org.eclipse.cdt.dsf
parente21fc12f9052e99dcf545df4a2ae2aba1c90c1cc (diff)
downloadorg.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')
-rw-r--r--dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DefaultDsfExecutor.java2
-rw-r--r--dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfExecutable.java2
-rw-r--r--dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/internal/LoggingUtils.java4
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

Back to the top