}
bool UnwrappedLineParser::tryToParseLambda() {
+ assert(FormatTok->is(tok::l_square));
if (!Style.isCpp()) {
nextToken();
return false;
}
- assert(FormatTok->is(tok::l_square));
FormatToken &LSquare = *FormatTok;
if (!tryToParseLambdaIntroducer())
return false;
bool UnwrappedLineParser::tryToParseLambdaIntroducer() {
const FormatToken *Previous = FormatTok->Previous;
+ const FormatToken *LeftSquare = FormatTok;
+ nextToken();
if (Previous &&
(Previous->isOneOf(tok::identifier, tok::kw_operator, tok::kw_new,
tok::kw_delete, tok::l_square) ||
- FormatTok->isCppStructuredBinding(Style) || Previous->closesScope() ||
+ LeftSquare->isCppStructuredBinding(Style) || Previous->closesScope() ||
Previous->isSimpleTypeSpecifier())) {
- nextToken();
return false;
}
- nextToken();
if (FormatTok->is(tok::l_square))
return false;
if (FormatTok->is(tok::r_square)) {
const FormatToken *Next = Tokens->peekNextToken();
- if (Next && Next->is(tok::greater))
+ if (Next->is(tok::greater))
return false;
}
parseSquare(/*LambdaIntroducer=*/true);