mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 03:56:16 +08:00
[clang-format] Fix a bug in annotating lambda l_square (#95084)
Fixes #95072.
This commit is contained in:
@@ -2257,6 +2257,8 @@ bool UnwrappedLineParser::tryToParseLambda() {
|
||||
break;
|
||||
case tok::kw_auto:
|
||||
case tok::kw_class:
|
||||
case tok::kw_struct:
|
||||
case tok::kw_union:
|
||||
case tok::kw_template:
|
||||
case tok::kw_typename:
|
||||
case tok::amp:
|
||||
|
||||
@@ -1655,6 +1655,12 @@ TEST_F(TokenAnnotatorTest, UnderstandsLambdas) {
|
||||
EXPECT_TOKEN(Tokens[2], tok::arrow, TT_TrailingReturnArrow);
|
||||
EXPECT_TOKEN(Tokens[4], tok::l_brace, TT_LambdaLBrace);
|
||||
|
||||
Tokens = annotate("[] -> struct S { return {}; }");
|
||||
ASSERT_EQ(Tokens.size(), 12u) << Tokens;
|
||||
EXPECT_TOKEN(Tokens[0], tok::l_square, TT_LambdaLSquare);
|
||||
EXPECT_TOKEN(Tokens[2], tok::arrow, TT_TrailingReturnArrow);
|
||||
EXPECT_TOKEN(Tokens[5], tok::l_brace, TT_LambdaLBrace);
|
||||
|
||||
Tokens = annotate("foo([&](u32 bar) __attribute__((attr)) -> void {});");
|
||||
ASSERT_EQ(Tokens.size(), 22u) << Tokens;
|
||||
EXPECT_TOKEN(Tokens[2], tok::l_square, TT_LambdaLSquare);
|
||||
|
||||
Reference in New Issue
Block a user