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

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

#include <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 563 of file MacroInfo.h.

Constructor & Destructor Documentation

clang::MacroDefinition::MacroDefinition ( )
inline

Definition at line 568 of file MacroInfo.h.

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

Definition at line 569 of file MacroInfo.h.

Member Function Documentation

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

Definition at line 599 of file MacroInfo.h.

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

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

Definition at line 592 of file MacroInfo.h.

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

Get the MacroInfo that should be used for this definition.

Definition at line 579 of file MacroInfo.h.

Referenced by DoPrintMacros(), and EvaluateDefined().

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

Get the active module macros for this macro.

Definition at line 597 of file MacroInfo.h.

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

true if the definition is ambiguous, false otherwise.

Definition at line 588 of file MacroInfo.h.

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

Determine whether there is a definition of this macro.

Definition at line 574 of file MacroInfo.h.


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