37 int EnteredCommandLineIncludeFiles = 0;
39 enum FileScopeStatus {
43 CommandLineIncludeScope,
46 FileScopeStatus Status;
54 llvm::DIMacroFile *getCurrentScope();
76 void updateStatusToNextScope();
103 StringRef SearchPath, StringRef RelativePath,
104 const Module *Imported)
override;
A description of the current definition of a macro.
CharacteristicKind
Indicates whether a file or directory holds normal user code, system code, or system code which is im...
This interface provides a way to observe the actions of the preprocessor as it does its thing...
One of these records is kept for each identifier that is lexed.
Token - This structure provides full information about a lexed token.
Describes a module or submodule.
void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok, StringRef FileName, bool IsAngled, CharSourceRange FilenameRange, const FileEntry *File, StringRef SearchPath, StringRef RelativePath, const Module *Imported) override
Callback invoked whenever a directive (#xxx) is processed.
The primary public interface to the Clang code generator.
void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID=FileID()) override
Callback invoked whenever a source file is entered or exited.
Represents a character-granular source range.
Encapsulates changes to the "macros namespace" (the location where the macro name became active...
Encodes a location in the source.
Cached information about one file (either on disk or in the virtual file system). ...
void MacroUndefined(const Token &MacroNameTok, const MacroDefinition &MD, const MacroDirective *Undef) override
Hook called whenever a macro #undef is seen.
An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...
Encapsulates the data about a macro definition (e.g.
void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD) override
Hook called whenever a macro definition is seen.
Defines the PPCallbacks interface.
MacroPPCallbacks(CodeGenerator *Gen, Preprocessor &PP)
Engages in a tight little dance with the lexer to efficiently preprocess tokens.