Lines Matching refs:syntax
16 using ProcessTokensFn = llvm::function_ref<void(llvm::ArrayRef<syntax::Token>,
19 void enumerateTokenSpans(const syntax::Tree *Root, ProcessTokensFn Callback) {
25 void run(const syntax::Tree *Root) {
33 void process(const syntax::Node *N) {
34 if (auto *T = dyn_cast<syntax::Tree>(N)) {
40 auto *L = cast<syntax::Leaf>(N);
55 const syntax::Token *SpanBegin;
56 const syntax::Token *SpanEnd;
64 syntax::FileRange rangeOfExpanded(const syntax::Arena &A,
65 llvm::ArrayRef<syntax::Token> Expanded) {
75 return syntax::FileRange(
80 return syntax::Token::range(SM, Spelled->front(), Spelled->back());
85 syntax::computeReplacements(const syntax::Arena &A,
86 const syntax::TranslationUnit &TU) {
93 auto emitReplacement = [&](llvm::ArrayRef<syntax::Token> ReplacedRange) {
101 const syntax::Token *NextOriginal = Buffer.expandedTokens().begin();
103 &TU, [&](llvm::ArrayRef<syntax::Token> Tokens, bool IsOriginal) {
106 syntax::Token::range(SM, Tokens.front(), Tokens.back()).text(SM);