Formatter: Format ObjC static and instance methods consistently, add a test for that.

llvm-svn: 172254
This commit is contained in:
Nico Weber 2013-01-11 21:14:08 +00:00
parent 7a7284d881
commit a21aaae7b3
2 changed files with 7 additions and 2 deletions

View File

@ -1342,8 +1342,9 @@ private:
Last->Tok.isNot(tok::kw_do) && Last->Tok.isNot(tok::r_brace) &&
Last->Tok.isNot(tok::kw_else) && Last->Tok.isNot(tok::kw_try) &&
Last->Tok.isNot(tok::kw_catch) && Last->Tok.isNot(tok::kw_for) &&
// This gets rid of all ObjC @ keywords and - based definitions.
Last->Tok.isNot(tok::at) && Last->Tok.isNot(tok::minus);
// This gets rid of all ObjC @ keywords and methods.
Last->Tok.isNot(tok::at) && Last->Tok.isNot(tok::minus) &&
Last->Tok.isNot(tok::plus);
while (!Last->Children.empty())
Last = &Last->Children.back();
if (!Last->Tok.is(tok::l_brace))

View File

@ -1388,6 +1388,9 @@ TEST_F(FormatTest, FormatObjCImplementation) {
"- (int)answerWith:(int)i {\n"
" return i;\n"
"}\n"
"+ (int)answerWith:(int)i {\n"
" return i;\n"
"}\n"
"@end");
verifyFormat("@implementation Foo\n"
@ -1397,6 +1400,7 @@ TEST_F(FormatTest, FormatObjCImplementation) {
verifyFormat("@implementation Foo : Bar\n"
"+ (id)init {}\n"
"- (void)foo {}\n"
"@end");
verifyFormat("@implementation Foo {\n"