diff options
author | Owen Pan <owenpiano@gmail.com> | 2024-06-18 18:56:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-18 18:56:33 -0700 |
commit | 61571e9046fa6f12661e443123635053186794a1 (patch) | |
tree | 5ffedc687d0c921bf2a307d2ed74e44e61a465cd /clang/unittests | |
parent | a5128542495d04e20db0828bceaae69c39e72c6d (diff) | |
download | llvm-61571e9046fa6f12661e443123635053186794a1.zip llvm-61571e9046fa6f12661e443123635053186794a1.tar.gz llvm-61571e9046fa6f12661e443123635053186794a1.tar.bz2 |
[clang-format] Handle function try block with ctor-initializer (#95878)
Fixes #58987.
Fixes #95679.
Diffstat (limited to 'clang/unittests')
-rw-r--r-- | clang/unittests/Format/TokenAnnotatorTest.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/unittests/Format/TokenAnnotatorTest.cpp b/clang/unittests/Format/TokenAnnotatorTest.cpp index 3e9638d..3735316 100644 --- a/clang/unittests/Format/TokenAnnotatorTest.cpp +++ b/clang/unittests/Format/TokenAnnotatorTest.cpp @@ -3164,6 +3164,22 @@ TEST_F(TokenAnnotatorTest, CppAltOperatorKeywords) { EXPECT_TOKEN(Tokens[1], tok::identifier, TT_StartOfName); } +TEST_F(TokenAnnotatorTest, FunctionTryBlock) { + auto Tokens = + annotate("Foo::Foo(int x, int y) try\n" + " : foo{[] -> std::string { return {}; }(), x}, bar{y} {\n" + "} catch (...) {\n" + "}"); + ASSERT_EQ(Tokens.size(), 45u); + EXPECT_TOKEN(Tokens[2], tok::identifier, TT_CtorDtorDeclName); + EXPECT_TOKEN(Tokens[11], tok::colon, TT_CtorInitializerColon); + EXPECT_TOKEN(Tokens[14], tok::l_square, TT_LambdaLSquare); + EXPECT_TOKEN(Tokens[16], tok::arrow, TT_TrailingReturnArrow); + EXPECT_TOKEN(Tokens[20], tok::l_brace, TT_LambdaLBrace); + EXPECT_TOKEN(Tokens[31], tok::comma, TT_CtorInitializerComma); + EXPECT_TOKEN(Tokens[36], tok::l_brace, TT_FunctionLBrace); +} + } // namespace } // namespace format } // namespace clang |