зеркало из https://github.com/microsoft/clang-1.git
Fix formatting of multiplications in array subscripts.
Before: a[a* a] = 1; After: a[a * a] = 1; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176180 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
8614304c0d
Коммит
9c65b06982
|
@ -190,6 +190,7 @@ private:
|
|||
// expression, or it could the the start of an Objective-C array literal.
|
||||
AnnotatedToken *Left = CurrentToken->Parent;
|
||||
AnnotatedToken *Parent = getPreviousToken(*Left);
|
||||
Contexts.back().IsExpression = true;
|
||||
bool StartsObjCMethodExpr =
|
||||
!Parent || Parent->is(tok::colon) || Parent->is(tok::l_square) ||
|
||||
Parent->is(tok::l_paren) || Parent->is(tok::kw_return) ||
|
||||
|
@ -550,6 +551,8 @@ private:
|
|||
for (AnnotatedToken *Previous = Current.Parent;
|
||||
Previous && Previous->isNot(tok::comma);
|
||||
Previous = Previous->Parent) {
|
||||
if (Previous->is(tok::r_square))
|
||||
Previous = Previous->MatchingParen;
|
||||
if (Previous->Type == TT_BinaryOperator &&
|
||||
(Previous->is(tok::star) || Previous->is(tok::amp))) {
|
||||
Previous->Type = TT_PointerOrReference;
|
||||
|
|
|
@ -1813,6 +1813,7 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
|
|||
verifyIndependentOfContext("a * ++b;");
|
||||
verifyIndependentOfContext("a * --b;");
|
||||
verifyIndependentOfContext("a[4] * b;");
|
||||
verifyIndependentOfContext("a[a * a] = 1;");
|
||||
verifyIndependentOfContext("f() * b;");
|
||||
verifyIndependentOfContext("a * [self dostuff];");
|
||||
verifyIndependentOfContext("a * (a + b);");
|
||||
|
|
Загрузка…
Ссылка в новой задаче