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.
Diagnostic wrappers for TextAPI types for error reporting.