From 7b17fc1561f1d8d55bdd3605a61086144d7f8bd3 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Tue, 21 Oct 2014 11:34:53 +0000 Subject: [PATCH] clang-format: [Java] Understand string literal concatenation. Before: String someString = "abc" + "cde"; After: String someString = "abc" + "cde"; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220287 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 3 +++ unittests/Format/FormatTestJava.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index db0e931659..1949510af7 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1805,6 +1805,9 @@ bool TokenAnnotator::mustBreakBefore(const AnnotatedLine &Line, if (Left.Type == TT_JavaAnnotation && Right.isNot(tok::l_paren) && Line.Last->is(tok::l_brace)) return true; + if (Right.is(tok::plus) && Left.is(tok::string_literal) && Right.Next && + Right.Next->is(tok::string_literal)) + return true; } return false; diff --git a/unittests/Format/FormatTestJava.cpp b/unittests/Format/FormatTestJava.cpp index d38a8070bd..f114ca2861 100644 --- a/unittests/Format/FormatTestJava.cpp +++ b/unittests/Format/FormatTestJava.cpp @@ -97,5 +97,10 @@ TEST_F(FormatTestJava, Generics) { verifyFormat("A.doSomething();"); } +TEST_F(FormatTestJava, StringConcatenation) { + verifyFormat("String someString = \"abc\"\n" + " + \"cde\";"); +} + } // end namespace tooling } // end namespace clang -- 2.40.0