forked from OSchip/llvm-project
Fix "*" formatting when creating arrays of pointers.
Before: A = new int * [10](); After: A = new int *[10](); llvm-svn: 173150
This commit is contained in:
parent
81f0b331dc
commit
0b8206029b
|
@ -958,6 +958,13 @@ public:
|
|||
|
||||
while (CurrentToken != NULL) {
|
||||
if (CurrentToken->is(tok::r_square)) {
|
||||
if (!CurrentToken->Children.empty() &&
|
||||
CurrentToken->Children[0].is(tok::l_paren)) {
|
||||
// An ObjC method call can't be followed by an open parenthesis.
|
||||
// FIXME: Do we incorrectly label ":" with this?
|
||||
StartsObjCMethodExpr = false;
|
||||
Left->Type = TT_Unknown;
|
||||
}
|
||||
if (StartsObjCMethodExpr)
|
||||
objCSelector.markEnd(*CurrentToken);
|
||||
Left->MatchingParen = CurrentToken;
|
||||
|
@ -1325,6 +1332,9 @@ private:
|
|||
if (NextToken == NULL)
|
||||
return TT_Unknown;
|
||||
|
||||
if (NextToken->is(tok::l_square) && NextToken->Type != TT_ObjCMethodExpr)
|
||||
return TT_PointerOrReference;
|
||||
|
||||
if (PrevToken->is(tok::l_paren) || PrevToken->is(tok::l_square) ||
|
||||
PrevToken->is(tok::l_brace) || PrevToken->is(tok::comma) ||
|
||||
PrevToken->is(tok::kw_return) || PrevToken->is(tok::colon) ||
|
||||
|
|
|
@ -1338,6 +1338,9 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
|
|||
verifyFormat("if (*b[i])");
|
||||
verifyFormat("if (int *a = (&b))");
|
||||
verifyFormat("while (int *a = &b)");
|
||||
|
||||
verifyFormat("A = new SomeType *[Length]();");
|
||||
verifyGoogleFormat("A = new SomeType* [Length]();");
|
||||
}
|
||||
|
||||
TEST_F(FormatTest, FormatsCasts) {
|
||||
|
|
Loading…
Reference in New Issue