From 1986f47320c2734bb72c4e5cc0413e3ed612ef3c Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Wed, 10 Feb 2016 14:22:50 +0100 Subject: [PATCH] 8149160: use StringJoiner in sjavac option handling Concatenation of strings now uses StringJoiner. Reviewed-by: alundblad, jjg --- .../com/sun/tools/sjavac/options/Options.java | 17 ++++++++--------- .../test/tools/sjavac/JavacOptionPrep.java | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Options.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Options.java index 61d1ec13545..c2e0177119d 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Options.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Options.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,6 +34,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.HashSet; +import java.util.StringJoiner; import com.sun.tools.sjavac.Transformer; import com.sun.tools.sjavac.Util; @@ -225,10 +226,7 @@ public class Options { } String getResult() { - String result = ""; - for (String s : args) - result += s + " "; - return result.trim(); + return String.join(" ", args); } public void addAll(Collection toAdd) { @@ -337,10 +335,11 @@ public class Options { // Helper method to join a list of source locations separated by // File.pathSeparator private static String concatenateSourceLocations(List locs) { - String s = ""; - for (SourceLocation loc : locs) - s += (s.isEmpty() ? "" : java.io.File.pathSeparator) + loc.getPath(); - return s; + StringJoiner joiner = new StringJoiner(java.io.File.pathSeparator); + for (SourceLocation loc : locs) { + joiner.add(loc.getPath().toString()); + } + return joiner.toString(); } // OptionHelper that records the traversed options in this Options instance. diff --git a/langtools/test/tools/sjavac/JavacOptionPrep.java b/langtools/test/tools/sjavac/JavacOptionPrep.java index 650f368bf7e..bf055d3dcae 100644 --- a/langtools/test/tools/sjavac/JavacOptionPrep.java +++ b/langtools/test/tools/sjavac/JavacOptionPrep.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -65,7 +65,7 @@ public class JavacOptionPrep { // - Sources provided without preceding option (SRC2) // - An unrecognized option which is to be passed on to javac String sjavacArgs = "-cp " + TestPath.CP1 + SEP + TestPath.CP2 + - " -d dest " + + " -d dest" + " -h header" + " -sourcepath " + TestPath.SOURCEPATH1 + " -src " + TestPath.SRC1 +