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

41 PP->Lex(FilenameTok);

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.