clang 20.0.0git
Public Member Functions | List of all members
clang::MacroDefinition Class Reference

A description of the current definition of a macro. More...

#include "clang/Lex/MacroInfo.h"

Public Member Functions

 MacroDefinition ()=default
 
 MacroDefinition (DefMacroDirective *MD, ArrayRef< ModuleMacro * > MMs, bool IsAmbiguous)
 
 operator bool () const
 Determine whether there is a definition of this macro.
 
MacroInfogetMacroInfo () const
 Get the MacroInfo that should be used for this definition.
 
bool isAmbiguous () const
 true if the definition is ambiguous, false otherwise.
 
DefMacroDirectivegetLocalDirective () const
 Get the latest non-imported, non-#undef'd macro definition for this macro.
 
ArrayRef< ModuleMacro * > getModuleMacros () const
 Get the active module macros for this macro.
 
template<typename Fn >
void forAllDefinitions (Fn F) const
 

Detailed Description

A description of the current definition of a macro.

The definition of a macro comprises a set of (at least one) defining entities, which are either local MacroDirectives or imported ModuleMacros.

Definition at line 590 of file MacroInfo.h.

Constructor & Destructor Documentation

◆ MacroDefinition() [1/2]

clang::MacroDefinition::MacroDefinition ( )
default

◆ MacroDefinition() [2/2]

clang::MacroDefinition::MacroDefinition ( DefMacroDirective MD,
ArrayRef< ModuleMacro * >  MMs,
bool  IsAmbiguous 
)
inline

Definition at line 596 of file MacroInfo.h.

Member Function Documentation

◆ forAllDefinitions()

template<typename Fn >
void clang::MacroDefinition::forAllDefinitions ( Fn  F) const
inline

Definition at line 626 of file MacroInfo.h.

◆ getLocalDirective()

DefMacroDirective * clang::MacroDefinition::getLocalDirective ( ) const
inline

Get the latest non-imported, non-#undef'd macro definition for this macro.

Definition at line 619 of file MacroInfo.h.

◆ getMacroInfo()

MacroInfo * clang::MacroDefinition::getMacroInfo ( ) const
inline

Get the MacroInfo that should be used for this definition.

Definition at line 606 of file MacroInfo.h.

Referenced by DoPrintMacros(), and indexPreprocessorMacros().

◆ getModuleMacros()

ArrayRef< ModuleMacro * > clang::MacroDefinition::getModuleMacros ( ) const
inline

Get the active module macros for this macro.

Definition at line 624 of file MacroInfo.h.

◆ isAmbiguous()

bool clang::MacroDefinition::isAmbiguous ( ) const
inline

true if the definition is ambiguous, false otherwise.

Definition at line 615 of file MacroInfo.h.

◆ operator bool()

clang::MacroDefinition::operator bool ( ) const
inlineexplicit

Determine whether there is a definition of this macro.

Definition at line 601 of file MacroInfo.h.


The documentation for this class was generated from the following file: