From: Daniel Jasper Date: Tue, 21 Oct 2014 09:31:29 +0000 (+0000) Subject: clang-format: [Java] Support extending inner classes. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4bf9d470cb7ba743241b935eba4bcf8c26640d8f;p=platform%2Fupstream%2Fllvm.git clang-format: [Java] Support extending inner classes. Before: class A extends B .C {} After: class A extends B.C {} llvm-svn: 220280 --- diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index 2b215fd..6d2b67c 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -1375,9 +1375,10 @@ void UnwrappedLineParser::parseRecord() { } // The actual identifier can be a nested name specifier, and in macros // it is often token-pasted. - while (FormatTok->Tok.is(tok::identifier) || - FormatTok->Tok.is(tok::coloncolon) || - FormatTok->Tok.is(tok::hashhash)) + while ( + FormatTok->is(tok::identifier) || FormatTok->is(tok::coloncolon) || + FormatTok->is(tok::hashhash) || + (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::period))) nextToken(); // Note that parsing away template declarations here leads to incorrectly diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp index cf48a7a..a4e9396 100644 --- a/clang/unittests/Format/FormatTestJava.cpp +++ b/clang/unittests/Format/FormatTestJava.cpp @@ -57,6 +57,7 @@ TEST_F(FormatTestJava, ClassDeclarations) { " int j;\n" " }\n" "}"); + verifyFormat("public class A extends B.C {}"); } TEST_F(FormatTestJava, ThrowsDeclarations) {