================ @@ -3926,6 +3926,39 @@ TEST_F(TokenAnnotatorTest, UserDefinedConversionFunction) { EXPECT_TOKEN(Tokens[5], tok::l_paren, TT_FunctionDeclarationLParen); } +TEST_F(TokenAnnotatorTest, KeywordedFunctionLikeMacro) { + auto Style = getLLVMStyle(); + FormatStyle::KeywordedFunctionLikeMacro QPropertyDeclaration; + QPropertyDeclaration.Name = "Q_PROPERTY"; + QPropertyDeclaration.Keywords.push_back("READ"); + QPropertyDeclaration.Keywords.push_back("WRITE"); + QPropertyDeclaration.Keywords.push_back("NOTIFY"); + QPropertyDeclaration.Keywords.push_back("RESET"); + Style.KeywordedFunctionLikeMacros.push_back(QPropertyDeclaration); + + auto Tokens = annotate( + "Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)", + Style); + ASSERT_EQ(Tokens.size(), 12u) << Tokens; + EXPECT_TOKEN(Tokens[0], tok::identifier, TT_Unknown); + EXPECT_TOKEN(Tokens[4], tok::identifier, TT_FunctionParameterKeyword); + EXPECT_TOKEN(Tokens[5], tok::identifier, TT_StartOfName); + EXPECT_TOKEN(Tokens[6], tok::identifier, TT_FunctionParameterKeyword); + EXPECT_TOKEN(Tokens[7], tok::identifier, TT_StartOfName); + EXPECT_TOKEN(Tokens[8], tok::identifier, TT_FunctionParameterKeyword); + EXPECT_TOKEN(Tokens[9], tok::identifier, TT_StartOfName); + + Tokens = annotate( + "struct S { Q_OBJECT\n Q_PROPERTY(int value READ value WRITE setValue " + "NOTIFY valueChanged)\n };", ---------------- HazardyKnusperkeks wrote:
```suggestion "struct S { Q_OBJECT\n" "Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)\n" "};", ``` https://github.com/llvm/llvm-project/pull/131605 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits