Clang AST Matcher的“AND”和“OR”
问题描述:
我是Clang的AST Matcher API的初学者。 我有一个天真的问题,它可以匹配某物。 或某事物?像:Clang AST Matcher的“AND”和“OR”
functionDecl(hasName("a") or hasName("b"))
,或者我们必须使用“addMatcher”增加更多的匹配,以获得相同的结果?
提前致谢!
答
有几种缩小匹配器可以形成其他匹配器的逻辑组合:anyOf
就像是“或”,allOf
可以实现“和”,而unless
就像“不”。您的示例可能看起来像
functionDecl(
anyOf(
hasName("a"),
hasName("b")))