diff options
| author | Daniel Jasper <djasper@google.com> | 2014-10-16 08:38:51 +0000 |
|---|---|---|
| committer | Daniel Jasper <djasper@google.com> | 2014-10-16 08:38:51 +0000 |
| commit | ea772b4df29c88ce44413b6935278b9eddc3ff5d (patch) | |
| tree | 30e85df8039c79b077fa295a761f398d31367efc /clang/lib/Format | |
| parent | 9bc86593a26ff0168d2ddd0b6145c34555ed785a (diff) | |
| download | bcm5719-llvm-ea772b4df29c88ce44413b6935278b9eddc3ff5d.tar.gz bcm5719-llvm-ea772b4df29c88ce44413b6935278b9eddc3ff5d.zip | |
clang-format: [ObjC] Fix method expression detection.
Before:
return (a)[foo bar : baz];
After:
return (a)[foo bar:baz];
llvm-svn: 219919
Diffstat (limited to 'clang/lib/Format')
| -rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 1f8ac5ee107..a8e2c5556a8 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -273,8 +273,16 @@ private: } if (CurrentToken->isOneOf(tok::r_paren, tok::r_brace)) return false; - if (CurrentToken->is(tok::colon)) + if (CurrentToken->is(tok::colon)) { + if (Left->Type == TT_ArraySubscriptLSquare) { + Left->Type = TT_ObjCMethodExpr; + StartsObjCMethodExpr = true; + Contexts.back().ColonIsObjCMethodExpr = true; + if (Parent && Parent->is(tok::r_paren)) + Parent->Type = TT_CastRParen; + } ColonFound = true; + } if (CurrentToken->is(tok::comma) && Style.Language != FormatStyle::LK_Proto && (Left->Type == TT_ArraySubscriptLSquare || |

