diff options
author | Daniel Jasper <djasper@google.com> | 2014-10-21 11:34:53 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2014-10-21 11:34:53 +0000 |
commit | c0126864a0fbcd78e9dcf02faec43891691b77d4 (patch) | |
tree | d75c220bed090c25cc95f3181cc9fec5424f4bdb | |
parent | d78c42237873af0dff693e9f6a691ba877d61b1a (diff) | |
download | bcm5719-llvm-c0126864a0fbcd78e9dcf02faec43891691b77d4.tar.gz bcm5719-llvm-c0126864a0fbcd78e9dcf02faec43891691b77d4.zip |
clang-format: [Java] Understand string literal concatenation.
Before:
String someString = "abc" + "cde";
After:
String someString = "abc"
+ "cde";
llvm-svn: 220287
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 3 | ||||
-rw-r--r-- | clang/unittests/Format/FormatTestJava.cpp | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index db0e9316598..1949510af7b 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/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/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp index d38a8070bdc..f114ca28610 100644 --- a/clang/unittests/Format/FormatTestJava.cpp +++ b/clang/unittests/Format/FormatTestJava.cpp @@ -97,5 +97,10 @@ TEST_F(FormatTestJava, Generics) { verifyFormat("A.<B>doSomething();"); } +TEST_F(FormatTestJava, StringConcatenation) { + verifyFormat("String someString = \"abc\"\n" + " + \"cde\";"); +} + } // end namespace tooling } // end namespace clang |