llvm/clang/unittests/AST/DeclMatcher.h

//===- unittest/AST/DeclMatcher.h - AST unit test support ---------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_CLANG_UNITTESTS_AST_DECLMATCHER_H
#define LLVM_CLANG_UNITTESTS_AST_DECLMATCHER_H

#include "clang/ASTMatchers/ASTMatchFinder.h"

namespace clang {
namespace ast_matchers {

enum class DeclMatcherKind {};

// Matcher class to retrieve the first/last matched node under a given AST.
template <typename NodeType, DeclMatcherKind MatcherKind>
class DeclMatcher : public MatchFinder::MatchCallback {};
LastDeclMatcher;
FirstDeclMatcher;

template <typename NodeType>
class DeclCounterWithPredicate : public MatchFinder::MatchCallback {};

DeclCounter;

} // end namespace ast_matchers
} // end namespace clang

#endif