clang: lib/Lex/PreprocessorLexer.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
17#include
18
19using namespace clang;
20
21void PreprocessorLexer::anchor() {}
22
24 : PP(pp), FID(fid) {
25 if (pp)
27}
28
29
30
32 assert(ParsingFilename == false && "reentered LexIncludeFilename");
33
34
36
37
40 else
42
43
45}
46
47
48
51}
Defines the PreprocessorLexer interface.
Defines the clang::Preprocessor interface.
Defines the SourceManager interface.
An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...
virtual void IndirectLex(Token &Result)=0
bool LexingRawMode
True if in raw mode.
bool ParsingFilename
True after #include; turns or "xxx" into a tok::header_name token.
OptionalFileEntryRef getFileEntry() const
getFileEntry - Return the FileEntry corresponding to this FileID.
void LexIncludeFilename(Token &FilenameTok)
Lex a token, producing a header-name token if possible.
unsigned InitialNumSLocEntries
Number of SLocEntries before lexing the file.
Engages in a tight little dance with the lexer to efficiently preprocess tokens.
void Lex(Token &Result)
Lex the next token for this preprocessor.
SourceManager & getSourceManager() const
OptionalFileEntryRef getFileEntryRefForID(FileID FID) const
Returns the FileEntryRef for the provided FileID.
unsigned local_sloc_entry_size() const
Get the number of local SLocEntries we have.
Token - This structure provides full information about a lexed token.
The JSON file list parser is used to communicate input to InstallAPI.