Lines Matching refs:Lex
12 #include "clang/Lex/Lexer.h"
46 Lexer Lex(SM.getMainFileID(), SM.getBufferOrFake(SM.getMainFileID()), SM,
50 Lex.LexFromRawLexer(Tok);
51 return GetOffsetAfterSequence(SM, Lex, Tok);
59 Lexer &Lex, StringRef Name, Token &Tok,
61 bool Matched = Tok.is(tok::hash) && !Lex.LexFromRawLexer(Tok) &&
63 Tok.getRawIdentifier() == Name && !Lex.LexFromRawLexer(Tok) &&
67 Lex.LexFromRawLexer(Tok);
71 void skipComments(Lexer &Lex, Token &Tok) {
73 if (Lex.LexFromRawLexer(Tok))
87 [&](std::function<unsigned(const SourceManager &SM, Lexer &Lex,
92 [&Consume](const SourceManager &SM, Lexer &Lex, Token Tok) {
93 skipComments(Lex, Tok);
95 return std::max(InitialOffset, Consume(SM, Lex, Tok));
101 [](const SourceManager &SM, Lexer &Lex, Token Tok) -> unsigned {
102 if (checkAndConsumeDirectiveWithName(Lex, "ifndef", Tok)) {
103 skipComments(Lex, Tok);
104 if (checkAndConsumeDirectiveWithName(Lex, "define", Tok) &&
112 [](const SourceManager &SM, Lexer &Lex, Token Tok) -> unsigned {
113 if (checkAndConsumeDirectiveWithName(Lex, "pragma", Tok,
124 bool checkAndConsumeInclusiveDirective(Lexer &Lex, Token &Tok) {
126 Lex.LexFromRawLexer(Tok);
129 if (Tok.is(tok::hash) && !Lex.LexFromRawLexer(Tok) &&
131 if (Lex.LexFromRawLexer(Tok))
136 while (!Lex.LexFromRawLexer(Tok) && Tok.isNot(tok::greater)) {
162 [](const SourceManager &SM, Lexer &Lex, Token Tok) {
163 skipComments(Lex, Tok);
165 while (checkAndConsumeInclusiveDirective(Lex, Tok))