From 4bf9d470cb7ba743241b935eba4bcf8c26640d8f Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Tue, 21 Oct 2014 09:31:29 +0000 Subject: [PATCH] clang-format: [Java] Support extending inner classes. Before: class A extends B .C {} After: class A extends B.C {} llvm-svn: 220280 --- clang/lib/Format/UnwrappedLineParser.cpp | 7 ++++--- clang/unittests/Format/FormatTestJava.cpp | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) 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) { -- 2.7.4