[clang] [clang-format] Add support for absl nullability macros (PR #130346)
Owen Pan via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 12 22:56:42 PDT 2025
================
@@ -3185,6 +3185,53 @@ TEST_F(TokenAnnotatorTest, UnderstandsAttributes) {
EXPECT_TOKEN(Tokens[5], tok::r_paren, TT_AttributeRParen);
}
+TEST_F(TokenAnnotatorTest, UnderstandsNullabilityAttributes) {
+ auto Tokens = annotate("x = (foo *_Nullable)*v;");
+ ASSERT_EQ(Tokens.size(), 11u) << Tokens;
+ EXPECT_TOKEN(Tokens[3], tok::identifier, TT_Unknown);
+ EXPECT_TOKEN(Tokens[4], tok::star, TT_PointerOrReference);
+ EXPECT_TOKEN(Tokens[5], tok::kw__Nullable, TT_Unknown);
+ EXPECT_TOKEN(Tokens[7], tok::star, TT_UnaryOperator);
+
+ Tokens = annotate("x = (foo *_Nonnull)*v;");
+ ASSERT_EQ(Tokens.size(), 11u) << Tokens;
+ EXPECT_TOKEN(Tokens[3], tok::identifier, TT_Unknown);
+ EXPECT_TOKEN(Tokens[4], tok::star, TT_PointerOrReference);
+ EXPECT_TOKEN(Tokens[5], tok::kw__Nonnull, TT_Unknown);
+ EXPECT_TOKEN(Tokens[7], tok::star, TT_UnaryOperator);
+
+ Tokens = annotate("x = (foo *_Null_unspecified)*v;");
+ ASSERT_EQ(Tokens.size(), 11u) << Tokens;
+ EXPECT_TOKEN(Tokens[3], tok::identifier, TT_Unknown);
+ EXPECT_TOKEN(Tokens[4], tok::star, TT_PointerOrReference);
+ EXPECT_TOKEN(Tokens[5], tok::kw__Null_unspecified, TT_Unknown);
+ EXPECT_TOKEN(Tokens[7], tok::star, TT_UnaryOperator);
+
----------------
owenca wrote:
I'd delete them as there are no annotation of `TT_AttributeMacro` here. If you want to test the annotation of the `tok::star` tokens, I'd do so in another patch and move them to `UnderstandsUsesOfStarAndAmp` near the top.
https://github.com/llvm/llvm-project/pull/130346
More information about the cfe-commits
mailing list