clang 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::VisibilityMacroDirective Class Reference

A directive for setting the module visibility of a macro. More...

#include "clang/Lex/MacroInfo.h"

Inheritance diagram for clang::VisibilityMacroDirective:
Inheritance graph
[legend]

Public Member Functions

 VisibilityMacroDirective (SourceLocation Loc, bool Public)
 
bool isPublic () const
 Determine whether this macro is part of the public API of its module.
 
- 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 VisibilityMacroDirective *)
 
- 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 setting the module visibility of a macro.

Definition at line 470 of file MacroInfo.h.

Constructor & Destructor Documentation

◆ VisibilityMacroDirective()

clang::VisibilityMacroDirective::VisibilityMacroDirective ( SourceLocation  Loc,
bool  Public 
)
inlineexplicit

Definition at line 472 of file MacroInfo.h.

References clang::MacroDirective::IsPublic.

Member Function Documentation

◆ classof() [1/2]

static bool clang::VisibilityMacroDirective::classof ( const MacroDirective MD)
inlinestatic

◆ classof() [2/2]

static bool clang::VisibilityMacroDirective::classof ( const VisibilityMacroDirective )
inlinestatic

Definition at line 485 of file MacroInfo.h.

◆ isPublic()

bool clang::VisibilityMacroDirective::isPublic ( ) const
inline

Determine whether this macro is part of the public API of its module.

Definition at line 479 of file MacroInfo.h.

References clang::MacroDirective::IsPublic.

Referenced by clang::MacroDirective::getDefinition().


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