13#ifndef LLVM_CLANG_LIB_CODEGEN_MACROPPCALLBACKS_H
14#define LLVM_CLANG_LIB_CODEGEN_MACROPPCALLBACKS_H
38 int EnteredCommandLineIncludeFiles = 0;
40 enum FileScopeStatus {
44 CommandLineIncludeScope,
47 FileScopeStatus Status;
55 llvm::DIMacroFile *getCurrentScope();
74 raw_ostream &Name, raw_ostream &
Value);
77 void updateStatusToNextScope();
105 StringRef RelativePath,
const Module *SuggestedModule,
llvm::MachO::FileType FileType
Defines the PPCallbacks interface.
Represents a character-granular source range.
The primary public interface to the Clang code generator.
An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...
One of these records is kept for each identifier that is lexed.
Record the location of an inclusion directive, such as an #include or #import statement.
A description of the current definition of a macro.
Encapsulates changes to the "macros namespace" (the location where the macro name became active,...
Encapsulates the data about a macro definition (e.g.
void MacroUndefined(const Token &MacroNameTok, const MacroDefinition &MD, const MacroDirective *Undef) override
Hook called whenever a macro #undef is seen.
void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD) override
Hook called whenever a macro definition is seen.
void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID=FileID()) override
Callback invoked whenever a source file is entered or exited.
Describes a module or submodule.
This interface provides a way to observe the actions of the preprocessor as it does its thing.
Engages in a tight little dance with the lexer to efficiently preprocess tokens.
Encodes a location in the source.
Token - This structure provides full information about a lexed token.
CharacteristicKind
Indicates whether a file or directory holds normal user code, system code, or system code which is im...
The JSON file list parser is used to communicate input to InstallAPI.
YAML serialization mapping.