Lines Matching defs:Tok
38 void TokenLexer::Init(Token &Tok, SourceLocation ELEnd, MacroInfo *MI,
48 ExpandLocStart = Tok.getLocation();
50 AtStartOfLine = Tok.isAtStartOfLine();
51 HasLeadingSpace = Tok.hasLeadingSpace();
65 assert((Tokens[0].getLocation().isFileID() || Tokens[0].is(tok::comment)) &&
160 if (ResultToks.empty() || !ResultToks.back().is(tok::comma))
175 if (ResultToks.back().is(tok::hashhash))
202 if (VAOPTTokens[CurTokenIdx].is(tok::hashhash)) {
262 if (I != 0 && !Tokens[I-1].is(tok::hashhash) && CurTok.hasLeadingSpace())
267 assert(Tokens[I + 1].is(tok::l_paren) &&
290 if (Tokens[I].is(tok::l_paren))
296 if (!Tokens[I].is(tok::r_paren) || !VCtx.sawClosingParen()) {
332 if (ResultToks.size() && ResultToks.back().is(tok::hashhash)) {
334 } else if ((I + 1 != E) && Tokens[I + 1].is(tok::hashhash)) {
346 tok::hashhash) &&
354 Tokens[I + 1].is(tok::hashhash)) {
369 if (CurTok.isOneOf(tok::hash, tok::hashat)) {
377 CurTok.is(tok::hashat));
386 bool Charify = CurTok.is(tok::hashat);
406 !ResultToks.empty() && ResultToks.back().is(tok::hashhash);
407 bool PasteBefore = I != 0 && Tokens[I-1].is(tok::hashhash);
408 bool PasteAfter = I+1 != E && Tokens[I+1].is(tok::hashhash);
409 bool RParenAfter = I+1 != E && Tokens[I+1].is(tok::r_paren);
460 if (ResultArgToks->isNot(tok::eof)) {
470 ResultToks.back().is(tok::comma))
475 for (Token &Tok : llvm::make_range(ResultToks.begin() + FirstResult,
477 if (Tok.is(tok::hashhash))
478 Tok.setKind(tok::unknown);
521 ResultToks[ResultToks.size()-2].is(tok::comma) &&
533 for (Token &Tok : llvm::make_range(ResultToks.end() - NumToks,
535 if (Tok.is(tok::hashhash))
536 Tok.setKind(tok::unknown);
578 assert(ResultToks.back().is(tok::hashhash));
617 return FirstTok.is(tok::identifier) &&
623 bool TokenLexer::Lex(Token &Tok) {
630 Tok.startToken();
631 Tok.setFlagValue(Token::StartOfLine , AtStartOfLine);
632 Tok.setFlagValue(Token::LeadingSpace, HasLeadingSpace || NextTokGetsSpace);
634 Tok.setFlag(Token::LeadingEmptyMacro);
635 return PP.HandleEndOfTokenLexer(Tok);
645 Tok = Tokens[CurTokenIdx++];
647 Tok.setFlag(Token::IsReinjected);
654 (Tokens[CurTokenIdx].is(tok::hashhash) ||
659 isWideStringLiteralFromMacro(Tok, Tokens[CurTokenIdx])))) {
662 if (pasteTokens(Tok))
675 SM.isBeforeInSLocAddrSpace(Tok.getLocation(), MacroStartSLocOffset)) {
677 if (Tok.is(tok::comment)) {
678 instLoc = SM.createExpansionLoc(Tok.getLocation(),
681 Tok.getLength());
683 instLoc = getExpansionLocForMacroDefLoc(Tok.getLocation());
686 Tok.setLocation(instLoc);
692 Tok.setFlagValue(Token::StartOfLine , AtStartOfLine);
693 Tok.setFlagValue(Token::LeadingSpace, HasLeadingSpace);
697 if (AtStartOfLine) Tok.setFlag(Token::StartOfLine);
698 if (HasLeadingSpace) Tok.setFlag(Token::LeadingSpace);
704 if (!Tok.isAnnotation() && Tok.getIdentifierInfo() != nullptr) {
707 IdentifierInfo *II = Tok.getIdentifierInfo();
708 Tok.setKind(II->getTokenID());
714 PP.HandlePoisonedIdentifier(Tok);
718 return PP.HandleIdentifier(Tok);
725 bool TokenLexer::pasteTokens(Token &Tok) {
726 return pasteTokens(Tok, llvm::makeArrayRef(Tokens, NumTokens), CurTokenIdx);
736 assert((TokenStream[CurIdx].is(tok::hashhash) ||
746 TokenStream[CurIdx - 2].is(tok::hashhash))
761 if (TokenStream[CurIdx].is(tok::hashhash))
799 ResultTokTmp.setKind(tok::string_literal);
812 Result.setKind(tok::raw_identifier);
844 isInvalid |= Result.is(tok::eof);
858 if (PP.getLangOpts().MicrosoftExt && LHSTok.is(tok::slash) &&
859 RHS.is(tok::slash)) {
880 if (Result.is(tok::hashhash))
881 Result.setKind(tok::unknown);
891 } while (!IsAtEnd() && TokenStream[CurIdx].is(tok::hashhash));
917 if (LHSTok.is(tok::raw_identifier)) {
932 return Tokens[CurTokenIdx].is(tok::l_paren);
938 return Tokens[NumTokens-1].is(tok::eod) && !isAtEnd();
946 void TokenLexer::HandleMicrosoftCommentPaste(Token &Tok, SourceLocation OpLoc) {
957 PP.HandleMicrosoftCommentPaste(Tok);
1042 Token &Tok = *begin_tokens;
1044 SM.isInSameSLocAddrSpace(FirstLoc, Tok.getLocation(), &RelOffs);
1045 Tok.setLocation(Expansion.getLocWithOffset(RelOffs));
1065 Token &Tok = *begin_tokens;
1066 Tok.setLocation(SM.createMacroArgExpansionLoc(Tok.getLocation(),
1068 Tok.getLength()));