clang 22.0.0git
clang::DefMacroDirective Class Reference

A directive for a defined macro or a macro imported from a module. More...

#include "clang/Lex/MacroInfo.h"

Inheritance diagram for clang::DefMacroDirective:
[legend]

Public Member Functions

 DefMacroDirective (MacroInfo *MI, SourceLocation Loc)
 DefMacroDirective (MacroInfo *MI)
const MacroInfogetInfo () const
 The data for the macro definition.
MacroInfogetInfo ()
Public Member Functions inherited from clang::MacroDirective
Kind getKind () const
SourceLocation getLocation () const
void setPrevious (MacroDirective *Prev)
 Set previous definition of the macro with the same name.
const MacroDirectivegetPrevious () const
 Get previous definition of the macro with the same name.
MacroDirectivegetPrevious ()
 Get previous definition of the macro with the same name.
bool isFromPCH () const
 Return true if the macro directive was loaded from a PCH file.
void setIsFromPCH ()
DefInfo getDefinition ()
 Traverses the macro directives history and returns the next macro definition directive along with info about its undefined location (if there is one) and if it is public or private.
const DefInfo getDefinition () const
bool isDefined () const
const MacroInfogetMacroInfo () const
MacroInfogetMacroInfo ()
const DefInfo findDirectiveAtLoc (SourceLocation L, const SourceManager &SM) const
 Find macro definition active in the specified source location.
void dump () const

Static Public Member Functions

static bool classof (const MacroDirective *MD)
static bool classof (const DefMacroDirective *)
Static Public Member Functions inherited from clang::MacroDirective
static bool classof (const MacroDirective *)

Additional Inherited Members

Public Types inherited from clang::MacroDirective
enum  Kind { MD_Define , MD_Undefine , MD_Visibility }
Protected Member Functions inherited from clang::MacroDirective
 MacroDirective (Kind K, SourceLocation Loc)
Protected Attributes inherited from clang::MacroDirective
MacroDirectivePrevious = nullptr
 Previous macro directive for the same identifier, or nullptr.
SourceLocation Loc
unsigned MDKind: 2
 MacroDirective kind.
unsigned IsFromPCH: 1
 True if the macro directive was loaded from a PCH file.
unsigned IsPublic: 1
 Whether the macro has public visibility (when described in a module).

Detailed Description

A directive for a defined macro or a macro imported from a module.

Definition at line 432 of file MacroInfo.h.

Constructor & Destructor Documentation

◆ DefMacroDirective() [1/2]

clang::DefMacroDirective::DefMacroDirective ( MacroInfo * MI,
SourceLocation Loc )
inline

◆ DefMacroDirective() [2/2]

clang::DefMacroDirective::DefMacroDirective ( MacroInfo * MI)
inlineexplicit

Definition at line 440 of file MacroInfo.h.

References DefMacroDirective().

Member Function Documentation

◆ classof() [1/2]

bool clang::DefMacroDirective::classof ( const DefMacroDirective * )
inlinestatic

Definition at line 451 of file MacroInfo.h.

References DefMacroDirective().

◆ classof() [2/2]

bool clang::DefMacroDirective::classof ( const MacroDirective * MD)
inlinestatic

◆ getInfo() [1/2]

MacroInfo * clang::DefMacroDirective::getInfo ( )
inline

Definition at line 445 of file MacroInfo.h.

◆ getInfo() [2/2]

const MacroInfo * clang::DefMacroDirective::getInfo ( ) const
inline

The data for the macro definition.

Definition at line 444 of file MacroInfo.h.


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