r222813 - clang-format: [Java] Support Foo.class;
Daniel Jasper
djasper at google.com
Wed Nov 26 00:17:08 PST 2014
Author: djasper
Date: Wed Nov 26 02:17:08 2014
New Revision: 222813
URL: http://llvm.org/viewvc/llvm-project?rev=222813&view=rev
Log:
clang-format: [Java] Support Foo.class;
Before:
SomeClass.
class.getName();
After:
SomeClass.class.getName();
This fixes llvm.org/PR21665.
Modified:
cfe/trunk/lib/Format/UnwrappedLineParser.cpp
cfe/trunk/unittests/Format/FormatTestJava.cpp
Modified: cfe/trunk/lib/Format/UnwrappedLineParser.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/UnwrappedLineParser.cpp?rev=222813&r1=222812&r2=222813&view=diff
==============================================================================
--- cfe/trunk/lib/Format/UnwrappedLineParser.cpp (original)
+++ cfe/trunk/lib/Format/UnwrappedLineParser.cpp Wed Nov 26 02:17:08 2014
@@ -757,6 +757,13 @@ void UnwrappedLineParser::parseStructura
// A record declaration or definition is always the start of a structural
// element.
break;
+ case tok::period:
+ nextToken();
+ // In Java, classes have an implicit static member "class".
+ if (Style.Language == FormatStyle::LK_Java && FormatTok &&
+ FormatTok->is(tok::kw_class))
+ nextToken();
+ break;
case tok::semi:
nextToken();
addUnwrappedLine();
Modified: cfe/trunk/unittests/Format/FormatTestJava.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTestJava.cpp?rev=222813&r1=222812&r2=222813&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTestJava.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTestJava.cpp Wed Nov 26 02:17:08 2014
@@ -65,6 +65,11 @@ TEST_F(FormatTestJava, FormatsInstanceOf
Style);
}
+TEST_F(FormatTestJava, ClassKeyword) {
+ verifyFormat("SomeClass.class.getName();");
+ verifyFormat("Class c = SomeClass.class;");
+}
+
TEST_F(FormatTestJava, ClassDeclarations) {
verifyFormat("public class SomeClass {\n"
" private int a;\n"
More information about the cfe-commits
mailing list