[clang-tools-extra] Symbol tags in SymbolInformation, WorkspaceSymbol, CallHierarchyItem and TypeHierarchyItem (PR #170103)

Aleksandr Platonov via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 16 23:25:01 PDT 2026


================
@@ -160,6 +161,10 @@ TEST(SerializationTest, YAMLConversions) {
   EXPECT_EQ(static_cast<uint8_t>(Sym1.Flags), 129);
   EXPECT_TRUE(Sym1.Flags & Symbol::IndexedForCodeCompletion);
   EXPECT_FALSE(Sym1.Flags & Symbol::Deprecated);
+  // Tags: Deprecated (1<<1=2) | Static (1<<8=256) = 258
+  EXPECT_EQ(Sym1.Tags, 258u);
+  EXPECT_TRUE(Sym1.Tags & (1u << static_cast<unsigned>(SymbolTag::Deprecated)));
----------------
ArcsinX wrote:

`static_cast<unsigned>(SymbolTag::...)` appears quite frequently in this PR, but we have `toSymbolTagBitmask()` function for this. Maybe it's better to use `toSymbolTagBitmask()`?

https://github.com/llvm/llvm-project/pull/170103


More information about the cfe-commits mailing list