clang  6.0.0svn
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 ()
 
 MacroDefinition (DefMacroDirective *MD, ArrayRef< ModuleMacro *> MMs, bool IsAmbiguous)
 
 operator bool () const
 Determine whether there is a definition of this macro. More...
 
MacroInfogetMacroInfo () const
 Get the MacroInfo that should be used for this definition. More...
 
bool isAmbiguous () const
 true if the definition is ambiguous, false otherwise. More...
 
DefMacroDirectivegetLocalDirective () const
 Get the latest non-imported, non-#undef'd macro definition for this macro. More...
 
ArrayRef< ModuleMacro * > getModuleMacros () const
 Get the active module macros for this macro. More...
 
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 545 of file MacroInfo.h.

Constructor & Destructor Documentation

◆ MacroDefinition() [1/2]

clang::MacroDefinition::MacroDefinition ( )
inline

Definition at line 550 of file MacroInfo.h.

◆ MacroDefinition() [2/2]

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

Definition at line 551 of file MacroInfo.h.

Member Function Documentation

◆ forAllDefinitions()

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

◆ getLocalDirective()

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

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

Definition at line 574 of file MacroInfo.h.

◆ getMacroInfo()

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

Get the MacroInfo that should be used for this definition.

Definition at line 561 of file MacroInfo.h.

Referenced by EvaluateDefined(), clang::PreprocessingRecord::findMacroDefinition(), and isTrivialSingleTokenExpansion().

◆ getModuleMacros()

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

Get the active module macros for this macro.

Definition at line 579 of file MacroInfo.h.

◆ isAmbiguous()

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

true if the definition is ambiguous, false otherwise.

Definition at line 570 of file MacroInfo.h.

Referenced by isTrivialSingleTokenExpansion().

◆ operator bool()

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

Determine whether there is a definition of this macro.

Definition at line 556 of file MacroInfo.h.


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