diff options
author | Daniel Jasper <djasper@google.com> | 2013-02-14 15:01:34 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-02-14 15:01:34 +0000 |
commit | 9fc56f2636137fcde8acb38865555ed6c7b84dfd (patch) | |
tree | 192806ea63941b3832a1b84fe9d2a35f64efc5fd /lib/Format/TokenAnnotator.cpp | |
parent | fc75908a7f58903a92c47e1ae02f9a05c36c9f59 (diff) |
Fix counting of parameters so that r175162 works as expected.
Before:
aaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
.aaaaaaaaaaaaaaaaa());
After:
aaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa().aaaaaaaaaaaaaaaaa());
Not sure which of the formattings above is better, but we should not pick
one by accident.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175165 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Format/TokenAnnotator.cpp')
-rw-r--r-- | lib/Format/TokenAnnotator.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index ace6d25467..44593f358f 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -107,8 +107,7 @@ private: if (CurrentToken->is(tok::pipepipe) || CurrentToken->is(tok::ampamp) || CurrentToken->is(tok::question) || CurrentToken->is(tok::colon)) return false; - if (CurrentToken->is(tok::comma)) - ++Left->ParameterCount; + updateParameterCount(Left, CurrentToken); if (!consumeToken()) return false; } @@ -175,8 +174,7 @@ private: } if (CurrentToken->is(tok::r_square) || CurrentToken->is(tok::r_brace)) return false; - if (CurrentToken->is(tok::comma)) - ++Left->ParameterCount; + updateParameterCount(Left, CurrentToken); if (!consumeToken()) return false; } @@ -240,8 +238,7 @@ private: } if (CurrentToken->is(tok::r_paren) || CurrentToken->is(tok::r_brace)) return false; - if (CurrentToken->is(tok::comma)) - ++Left->ParameterCount; + updateParameterCount(Left, CurrentToken); if (!consumeToken()) return false; } @@ -263,13 +260,19 @@ private: } if (CurrentToken->is(tok::r_paren) || CurrentToken->is(tok::r_square)) return false; - if (CurrentToken->is(tok::comma)) - ++Left->ParameterCount; + updateParameterCount(Left, CurrentToken); if (!consumeToken()) return false; } return true; } + + void updateParameterCount(AnnotatedToken *Left, AnnotatedToken *Current) { + if (Current->is(tok::comma)) + ++Left->ParameterCount; + else if (Left->ParameterCount == 0 && Current->isNot(tok::comment)) + Left->ParameterCount = 1; + } bool parseConditional() { while (CurrentToken != NULL) { |