Clang AST Matcher的“AND”和“OR”

时间:2017-07-31 18:23:59

标签: clang clang-static-analyzer

我是Clang的AST Matcher API的初学者。 我有一个天真的问题,就是可以匹配某事。 ...... ?像:

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

或者我们必须使用“ addMatcher ”来添加更多匹配器以获得相同的结果?

提前致谢!

1 个答案:

答案 0 :(得分:4)

有几个缩小匹配器构成其他匹配器的逻辑组合:anyOf类似于“或”,allOf可以实现“和”,unless就像“不”。您的示例可能看起来像

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