Lines Matching defs:Token
55 forEachToken(Line, [&](FormatToken *Token, FormatToken *Parent, bool First,
56 unsigned Level) { add(Token, Parent, First, Level); });
70 // Reconstruct the position of the next \p Token, given its parent \p
73 void MacroCallReconstructor::add(FormatToken *Token,
77 llvm::dbgs() << "MCR: Token: " << Token->TokenText << ", Parent: "
98 if (!ActiveExpansions.empty() && Token->MacroCtx &&
99 (Token->MacroCtx->Role != MR_Hidden ||
100 ActiveExpansions.size() != Token->MacroCtx->ExpandedFrom.size())) {
101 if (/*PassedMacroComma = */ reconstructActiveCallUntil(Token))
107 if (Token->MacroCtx) {
110 reconstruct(Token);
113 appendToken(Token);
206 // Reconstruct a \p Token that was expanded from a macro call.
207 void MacroCallReconstructor::reconstruct(FormatToken *Token) {
208 assert(Token->MacroCtx);
213 if (Token->MacroCtx->StartOfExpansion) {
214 startReconstruction(Token);
218 if (Token->MacroCtx->Role != MR_Hidden)
219 reconstructActiveCallUntil(Token);
223 assert(ActiveExpansions.size() == Token->MacroCtx->ExpandedFrom.size());
224 if (Token->MacroCtx->Role != MR_Hidden) {
230 assert(ActiveExpansions.back().SpelledI->Tok == Token);
236 SpelledParentToReconstructedParent[Token] =
243 SpelledParentToReconstructedParent[Token] = (*I)->Tokens.back()->Tok;
249 if (Token->MacroCtx->EndOfExpansion)
250 endReconstruction(Token);
253 // Given a \p Token that starts an expansion, reconstruct the beginning of the
258 void MacroCallReconstructor::startReconstruction(FormatToken *Token) {
259 assert(Token->MacroCtx);
260 assert(!Token->MacroCtx->ExpandedFrom.empty());
261 assert(ActiveExpansions.size() <= Token->MacroCtx->ExpandedFrom.size());
267 Token->MacroCtx
268 ->ExpandedFrom[Token->MacroCtx->ExpandedFrom.size() - 1 - I]);
276 ArrayRef(Token->MacroCtx->ExpandedFrom)
278 assert(StartedMacros.size() == Token->MacroCtx->StartOfExpansion);
303 // given \p Token.
304 bool MacroCallReconstructor::reconstructActiveCallUntil(FormatToken *Token) {
307 // FIXME: If Token was already expanded earlier, due to
311 ActiveExpansions.back().SpelledI->Tok != Token) {
317 // End all reconstructions for which \p Token is the final token.
318 void MacroCallReconstructor::endReconstruction(FormatToken *Token) {
319 assert(Token->MacroCtx &&
320 (ActiveExpansions.size() >= Token->MacroCtx->EndOfExpansion));
321 for (size_t I = 0; I < Token->MacroCtx->EndOfExpansion; ++I) {
328 FormatToken *Token = T->Tok;
331 !Token->MacroCtx && Token->is(tok::r_paren);
332 bool TrailingComment = Token->isTrailingComment();
334 Token->MacroCtx &&
335 (ActiveExpansions.size() < Token->MacroCtx->ExpandedFrom.size());
337 llvm::dbgs() << "At token: " << Token->TokenText << "\n";
389 FormatToken *Token = ActiveExpansions.back().SpelledI->Tok;
391 if (Token->MacroCtx) {
393 if (Token->MacroCtx->Role == MR_Hidden)
403 if (ActiveExpansions.size() < Token->MacroCtx->ExpandedFrom.size())
408 if (!Token->MacroCtx) {
413 if (Token->is(tok::l_paren)) {
415 currentLine(), parentLine().Tokens.back()->Tok, Token));
425 .ParentLastToken] = Token;
426 appendToken(Token);
427 prepareParent(Token, /*NewLine=*/true,
429 Token->MacroParent = true;
433 if (Token->is(tok::comma)) {
436 [MacroCallStructure.back().Line->Tokens.back()->Tok] = Token;
437 Token->MacroParent = true;
438 appendToken(Token, MacroCallStructure.back().Line);
439 prepareParent(Token, /*NewLine=*/true,
443 if (Token->is(tok::r_paren)) {
444 appendToken(Token, MacroCallStructure.back().Line);
461 appendToken(Token);
499 void MacroCallReconstructor::appendToken(FormatToken *Token,
502 LLVM_DEBUG(llvm::dbgs() << "-> " << Token->TokenText << "\n");
503 L->Tokens.push_back(std::make_unique<LineNode>(Token));