summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2013-01-12 23:48:49 +0000
committerNico Weber <nicolasweber@gmx.de>2013-01-12 23:48:49 +0000
commit2827a7ec6b16e21ef1b447cf42066fba14c21dfc (patch)
tree0cbadea29fbb34fc08dbb8cdd04fe6cec0209074 /clang
parent7e31c8f0ae5abb33028567461cbd3915303a49af (diff)
downloadbcm5719-llvm-2827a7ec6b16e21ef1b447cf42066fba14c21dfc.tar.gz
bcm5719-llvm-2827a7ec6b16e21ef1b447cf42066fba14c21dfc.zip
Formatter: Don't insert a space before unary operators after selector names.
Before: [color getRed: &r green: &g blue: &b alpha: &a]; Now: [color getRed:&r green:&g blue:&b alpha:&a]; llvm-svn: 172337
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Format/Format.cpp5
-rw-r--r--clang/unittests/Format/FormatTest.cpp1
2 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp
index 94119325410..29debe58b6b 100644
--- a/clang/lib/Format/Format.cpp
+++ b/clang/lib/Format/Format.cpp
@@ -1165,8 +1165,9 @@ private:
return false;
if (Tok.Type == TT_UnaryOperator)
return Tok.Parent->isNot(tok::l_paren) &&
- Tok.Parent->isNot(tok::l_square) &&
- Tok.Parent->isNot(tok::at);
+ Tok.Parent->isNot(tok::l_square) && Tok.Parent->isNot(tok::at) &&
+ (Tok.Parent->isNot(tok::colon) ||
+ Tok.Parent->Type != TT_ObjCMethodExpr);
if (Tok.Parent->is(tok::greater) && Tok.is(tok::greater)) {
return Tok.Type == TT_TemplateCloser && Tok.Parent->Type ==
TT_TemplateCloser && Style.SplitTemplateClosingGreater;
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 8bb217e4833..5ace0f82f91 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -1533,6 +1533,7 @@ TEST_F(FormatTest, FormatObjCMethodExpr) {
verifyFormat("[self stuffWithInt:a ? (e ? f : g) : c];");
verifyFormat("[cond ? obj1 : obj2 methodWithParam:param]");
verifyFormat("[button setAction:@selector(zoomOut:)];");
+ verifyFormat("[color getRed:&r green:&g blue:&b alpha:&a];");
verifyFormat("arr[[self indexForFoo:a]];");
verifyFormat("throw [self errorFor:a];");
OpenPOWER on IntegriCloud