[ASTMatchers] Fix matching after generic top-level matcher
With a matcher like expr(anyOf(integerLiteral(equals(42)), unless(expr()))) and code such as struct B { B(int); }; B func1() { return 42; } the top-level expr() would match each of the nodes which are not spelled in the source and then ignore-traverse to match the integerLiteral node. This would result in multiple results reported for the integerLiteral. Fix that by only running matching logic on nodes which are not skipped with the top-level matcher. Differential Revision: https://reviews.llvm.org/D95735
Loading
Please sign in to comment