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: