clang: clang::ModuleMacro Class Reference (original) (raw)
Represents a macro directive exported by a module. More...
#include "[clang/Lex/MacroInfo.h](MacroInfo%5F8h%5Fsource.html)"
Public Member Functions | |
---|---|
void | Profile (llvm::FoldingSetNodeID &ID) const |
const IdentifierInfo * | getName () const |
Get the name of the macro. | |
Module * | getOwningModule () const |
Get the ID of the module that exports this macro. | |
MacroInfo * | getMacroInfo () const |
Get definition for this exported #define, or nullptr if this represents a #undef. | |
unsigned | getNumOverridingMacros () const |
Get the number of macros that override this one. | |
Friends | |
---|---|
class | Preprocessor |
using | overrides_iterator = ModuleMacro *const * |
Iterators over the overridden module IDs. | |
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 514 of file MacroInfo.h.
◆ overrides_iterator
Iterators over the overridden module IDs.
Definition at line 567 of file MacroInfo.h.
◆ create()
◆ getMacroInfo()
MacroInfo * clang::ModuleMacro::getMacroInfo ( ) const | inline |
---|
Get definition for this exported #define, or nullptr if this represents a #undef.
Definition at line 563 of file MacroInfo.h.
◆ getName()
Get the name of the macro.
Definition at line 556 of file MacroInfo.h.
◆ getNumOverridingMacros()
unsigned clang::ModuleMacro::getNumOverridingMacros ( ) const | inline |
---|
Get the number of macros that override this one.
Definition at line 583 of file MacroInfo.h.
◆ getOwningModule()
Module * clang::ModuleMacro::getOwningModule ( ) const | inline |
---|
Get the ID of the module that exports this macro.
Definition at line 559 of file MacroInfo.h.
◆ overrides()
◆ overrides_begin()
◆ overrides_end()
◆ Profile() [1/2]
void clang::ModuleMacro::Profile ( llvm::FoldingSetNodeID & ID) const | inline |
---|
◆ Profile() [2/2]
static void clang::ModuleMacro::Profile ( llvm::FoldingSetNodeID & ID, Module * OwningModule, const IdentifierInfo * II ) | inlinestatic |
---|
◆ Preprocessor
The documentation for this class was generated from the following files:
- include/clang/Lex/MacroInfo.h
- lib/Lex/MacroInfo.cpp