Lines Matching refs:syntax
18 using ProcessTokensFn = llvm::function_ref<void(llvm::ArrayRef<syntax::Token>,
21 void enumerateTokenSpans(const syntax::Tree *Root,
22 const syntax::TokenBufferTokenManager &STM,
25 Enumerator(const syntax::TokenBufferTokenManager &STM,
30 void run(const syntax::Tree *Root) {
38 void process(const syntax::Node *N) {
39 if (auto *T = dyn_cast<syntax::Tree>(N)) {
46 auto *L = cast<syntax::Leaf>(N);
62 const syntax::TokenBufferTokenManager &STM;
63 const syntax::Token *SpanBegin;
64 const syntax::Token *SpanEnd;
72 syntax::FileRange rangeOfExpanded(const syntax::TokenBufferTokenManager &STM,
73 llvm::ArrayRef<syntax::Token> Expanded) {
83 return syntax::FileRange(
88 return syntax::Token::range(SM, Spelled->front(), Spelled->back());
93 syntax::computeReplacements(const TokenBufferTokenManager &TBTM,
94 const syntax::TranslationUnit &TU) {
101 auto emitReplacement = [&](llvm::ArrayRef<syntax::Token> ReplacedRange) {
109 const syntax::Token *NextOriginal = Buffer.expandedTokens().begin();
111 &TU, TBTM, [&](llvm::ArrayRef<syntax::Token> Tokens, bool IsOriginal) {
114 syntax::Token::range(SM, Tokens.front(), Tokens.back()).text(SM);