================
@@ -35,6 +35,8 @@ MATCHER_P(withName, N, "") { return arg.name == N; }
MATCHER_P(withKind, Kind, "") { return arg.kind == Kind; }
MATCHER_P(withDetail, Detail, "") { return arg.detail == Detail; }
MATCHER_P(symRange, Range, "") { return arg.range == Range; }
+MATCHER_P(withSymbolTag, Tag, "") { return llvm::is_contained(arg.tags, Tag); }
----------------
HighCommander4 wrote:
Instead of doing a separate lookup for each tag (quadratic in the number of
tags), we can check them in a single go with:
```
::testing::Matcher<DocumentSymbol>
withSymbolTags(std::initializer_list<SymbolTag> Tags) {
return Field(&DocumentSymbol::tags, ElementsAreArray(Tags));
}
```
and then
```
withSymbolTags({SymbolTag::Abstract, SymbolTag::Definition})
```
You can also use `UnorderedElementsAreArray` if you'd prefer.
https://github.com/llvm/llvm-project/pull/167536
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits