================ @@ -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); + + // Under Google style, also handles the Abseil macro aliases for the + // nullability annotations. + FormatStyle Style = getGoogleStyle(FormatStyle::LK_Cpp); + Tokens = annotate("x = (foo *absl_nullable)*v;", Style); ---------------- owenca wrote:
```suggestion auto Style = getGoogleStyle(FormatStyle::LK_Cpp); auto Tokens = annotate("x = (foo *absl_nullable)*v;", Style); ``` https://github.com/llvm/llvm-project/pull/130346 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits