clang
3.7.0
|
Represents a macro directive exported by a module. More...
#include <MacroInfo.h>
Public Member Functions | |
void | Profile (llvm::FoldingSetNodeID &ID) const |
Module * | getOwningModule () const |
Get the ID of the module that exports this macro. More... | |
MacroInfo * | getMacroInfo () const |
unsigned | getNumOverridingMacros () const |
Get the number of macros that override this one. More... | |
Static Public Member Functions | |
static ModuleMacro * | create (Preprocessor &PP, Module *OwningModule, IdentifierInfo *II, MacroInfo *Macro, ArrayRef< ModuleMacro * > Overrides) |
static void | Profile (llvm::FoldingSetNodeID &ID, Module *OwningModule, IdentifierInfo *II) |
Friends | |
class | Preprocessor |
typedef ModuleMacro *const * | overrides_iterator |
overrides_iterator | overrides_begin () const |
overrides_iterator | overrides_end () const |
ArrayRef< ModuleMacro * > | overrides () const |
Represents a macro directive exported by a module.
There's an instance of this class for every macro #define or #undef that is the final directive for a macro name within a module. These entities also represent the macro override graph.
These are stored in a FoldingSet in the preprocessor.
Definition at line 498 of file MacroInfo.h.
typedef ModuleMacro* const* clang::ModuleMacro::overrides_iterator |
Iterators over the overridden module IDs.
Definition at line 544 of file MacroInfo.h.
|
static |
Definition at line 234 of file MacroInfo.cpp.
References clang::Preprocessor::getPreprocessorAllocator().
Referenced by clang::Preprocessor::addModuleMacro().
|
inline |
Get definition for this exported #define, or nullptr if this represents a #undef.
Definition at line 540 of file MacroInfo.h.
|
inline |
Get the number of macros that override this one.
Definition at line 557 of file MacroInfo.h.
|
inline |
Get the ID of the module that exports this macro.
Definition at line 536 of file MacroInfo.h.
|
inline |
Definition at line 551 of file MacroInfo.h.
|
inline |
Definition at line 545 of file MacroInfo.h.
|
inline |
Definition at line 548 of file MacroInfo.h.
|
inline |
Definition at line 526 of file MacroInfo.h.
Referenced by clang::Preprocessor::addModuleMacro(), and clang::Preprocessor::getModuleMacro().
|
inlinestatic |
Definition at line 529 of file MacroInfo.h.
|
friend |
Definition at line 511 of file MacroInfo.h.