From: Daniel Jasper Date: Sun, 4 Jan 2015 20:40:51 +0000 (+0000) Subject: clang-format: [Java] Fix incorrect recognition of annonymous classes. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3684c2d854d6009f0175f533d409eb383521a59b;p=clang clang-format: [Java] Fix incorrect recognition of annonymous classes. Before: someFunction(new Runnable() { public void run() { System.out.println(42); } }); After: someFunction(new Runnable() { public void run() { System.out.println(42); } }); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225142 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp index 6ff5405a1b..02d49a0e1e 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -1033,6 +1033,8 @@ void UnwrappedLineParser::parseParens() { switch (FormatTok->Tok.getKind()) { case tok::l_paren: parseParens(); + if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_brace)) + parseChildBlock(); break; case tok::r_paren: nextToken(); @@ -1043,12 +1045,11 @@ void UnwrappedLineParser::parseParens() { case tok::l_square: tryToParseLambda(); break; - case tok::l_brace: { + case tok::l_brace: if (!tryToParseBracedList()) { parseChildBlock(); } break; - } case tok::at: nextToken(); if (FormatTok->Tok.is(tok::l_brace)) diff --git a/unittests/Format/FormatTestJava.cpp b/unittests/Format/FormatTestJava.cpp index b4f67afd9b..e27e462ae7 100644 --- a/unittests/Format/FormatTestJava.cpp +++ b/unittests/Format/FormatTestJava.cpp @@ -387,6 +387,11 @@ TEST_F(FormatTestJava, FormatsInnerBlocks) { " System.out.println(42);\n" " }\n" "}, someOtherParameter);"); + verifyFormat("someFunction(new Runnable() {\n" + " public void run() {\n" + " System.out.println(42);\n" + " }\n" + "});"); verifyFormat("someObject.someFunction(\n" " new Runnable() {\n" " @Override\n"