diff options
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 3 | ||||
-rw-r--r-- | clang/unittests/Format/FormatTestJava.cpp | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index a131397fb52..1056d434200 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -1680,6 +1680,9 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line, } else if (Style.Language == FormatStyle::LK_JavaScript) { if (Left.TokenText == "var") return true; + } else if (Style.Language == FormatStyle::LK_Java) { + if (Left.TokenText == "synchronized" && Right.is(tok::l_paren)) + return Style.SpaceBeforeParens != FormatStyle::SBPO_Never; } if (Right.Tok.getIdentifierInfo() && Left.Tok.getIdentifierInfo()) return true; // Never ever merge two identifiers. diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp index bcbf2831efa..2b05ca49374 100644 --- a/clang/unittests/Format/FormatTestJava.cpp +++ b/clang/unittests/Format/FormatTestJava.cpp @@ -157,5 +157,11 @@ TEST_F(FormatTestJava, TryCatchFinally) { "}"); } +TEST_F(FormatTestJava, SynchronizedKeyword) { + verifyFormat("synchronized (mData) {\n" + " // ...\n" + "}"); +} + } // end namespace tooling } // end namespace clang |