return false;
}
+ virtual bool run(const BoundNodes *Nodes, ASTContext *Context) {
+ return run(Nodes);
+ }
+
private:
const std::string Id;
const int ExpectedCount;
explicit VerifyRecursiveMatch(StringRef Id,
const internal::Matcher<T> &InnerMatcher)
: Id(Id), InnerMatcher(InnerMatcher) {}
+
+ virtual bool run(const BoundNodes *Nodes) {
+ return false;
+ }
+
virtual bool run(const BoundNodes *Nodes, ASTContext *Context) {
const T *Node = Nodes->getNodeAs<T>(Id);
bool Found = false;
class BoundNodesCallback {
public:
virtual ~BoundNodesCallback() {}
- virtual bool run(const BoundNodes *BoundNodes) { return false; }
- virtual bool run(const BoundNodes *BoundNodes, ASTContext *Context) {
- return run(BoundNodes);
- }
+ virtual bool run(const BoundNodes *BoundNodes) = 0;
+ virtual bool run(const BoundNodes *BoundNodes, ASTContext *Context) = 0;
};
// If 'FindResultVerifier' is not NULL, sets *Verified to the result of