#include "DumpAST.h"
#include "Protocol.h"
#include "SourceCode.h"
#include "support/Logger.h"
#include "clang/AST/ASTTypeTraits.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/TextNodeDumper.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeLoc.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Tooling/Syntax/Tokens.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/raw_ostream.h"
#include <optional>
namespace clang {
namespace clangd {
namespace {
raw_ostream;
template <typename Print> std::string toString(const Print &C) { … }
bool isInjectedClassName(Decl *D) { … }
class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> { … };
}
ASTNode dumpAST(const DynTypedNode &N, const syntax::TokenBuffer &Tokens,
const ASTContext &Ctx) { … }
}
}