#include "clang/Tooling/Transformer/SourceCode.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Comment.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Lex/Lexer.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Error.h"
#include <set>
usingnamespaceclang;
errc;
StringError;
StringRef clang::tooling::getText(CharSourceRange Range,
const ASTContext &Context) { … }
CharSourceRange clang::tooling::maybeExtendRange(CharSourceRange Range,
tok::TokenKind Next,
ASTContext &Context) { … }
llvm::Error clang::tooling::validateRange(const CharSourceRange &Range,
const SourceManager &SM,
bool AllowSystemHeaders) { … }
llvm::Error clang::tooling::validateEditRange(const CharSourceRange &Range,
const SourceManager &SM) { … }
static bool spelledInMacroDefinition(SourceLocation Loc,
const SourceManager &SM) { … }
static std::optional<CharSourceRange>
getExpansionForSplitToken(SourceLocation Loc, const SourceManager &SM,
const LangOptions &LangOpts) { … }
static CharSourceRange getRangeForSplitTokens(CharSourceRange Range,
const SourceManager &SM,
const LangOptions &LangOpts) { … }
static CharSourceRange getRange(const CharSourceRange &EditRange,
const SourceManager &SM,
const LangOptions &LangOpts,
bool IncludeMacroExpansion) { … }
std::optional<CharSourceRange> clang::tooling::getFileRangeForEdit(
const CharSourceRange &EditRange, const SourceManager &SM,
const LangOptions &LangOpts, bool IncludeMacroExpansion) { … }
std::optional<CharSourceRange> clang::tooling::getFileRange(
const CharSourceRange &EditRange, const SourceManager &SM,
const LangOptions &LangOpts, bool IncludeMacroExpansion) { … }
static bool startsWithNewline(const SourceManager &SM, const Token &Tok) { … }
static bool contains(const std::set<tok::TokenKind> &Terminators,
const Token &Tok) { … }
static SourceLocation
getEntityEndLoc(const SourceManager &SM, SourceLocation EntityLast,
const std::set<tok::TokenKind> &Terminators,
const LangOptions &LangOpts) { … }
static std::set<tok::TokenKind> getTerminators(const Decl &D) { … }
static SourceLocation skipWhitespaceAndNewline(const SourceManager &SM,
SourceLocation Loc,
const LangOptions &LangOpts) { … }
static bool atOrBeforeSeparation(const SourceManager &SM, SourceLocation Loc,
const LangOptions &LangOpts) { … }
CharSourceRange tooling::getAssociatedRange(const Decl &Decl,
ASTContext &Context) { … }