Search code examples
clangclang-ast-matchers

Clang AST Matcher's "AND" and "OR"


Is it possible to use or in function declarations? like:

functionDecl(hasName("a") or hasName("b"))

or we have to use addMatcher to add more matchers to get the same result?


Solution

  • There are several narrowing matchers that form logical combinations of other matchers: anyOf is like "or", allOf can implement "and", and unless is like "not". Your example might look like

    functionDecl(
      anyOf(
        hasName("a"),
        hasName("b") ))