aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Format/Format.cpp5
-rw-r--r--unittests/Format/FormatTest.cpp4
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index cee587bf32..77fba1fbf1 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -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))
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index a0cfeee90b..2c1c9ee659 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -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"