clang 20.0.0git
|
Kinds of LV computation. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/Linkage.h"
Public Types | |
enum | { NumLVComputationKindBits = 3 } |
Public Member Functions | |
LVComputationKind (NamedDecl::ExplicitVisibilityKind EK) | |
NamedDecl::ExplicitVisibilityKind | getExplicitVisibilityKind () const |
bool | isTypeVisibility () const |
bool | isValueVisibility () const |
unsigned | toBits () |
Static Public Member Functions | |
static LVComputationKind | forLinkageOnly () |
Do an LV computation when we only care about the linkage. | |
Public Attributes | |
unsigned | ExplicitKind: 1 |
The kind of entity whose visibility is ultimately being computed; visibility computations for types and non-types follow different rules. | |
unsigned | IgnoreExplicitVisibility: 1 |
Whether explicit visibility attributes should be ignored. | |
unsigned | IgnoreAllVisibility: 1 |
Whether all visibility should be ignored. | |
Kinds of LV computation.
The linkage side of the computation is always the same, but different things can change how visibility is computed.
|
inlineexplicit |
|
inlinestatic |
Do an LV computation when we only care about the linkage.
Definition at line 61 of file Linkage.h.
References clang::Result, and clang::NamedDecl::VisibilityForValue.
Referenced by clang::LinkageComputer::getDeclLinkageAndVisibility(), clang::NamedDecl::getLinkageInternal(), and clang::NamedDecl::isLinkageValid().
|
inline |
Definition at line 49 of file Linkage.h.
References ExplicitKind.
Referenced by isTypeVisibility(), and isValueVisibility().
|
inline |
Definition at line 53 of file Linkage.h.
References getExplicitVisibilityKind(), and clang::NamedDecl::VisibilityForType.
Referenced by hasDirectVisibilityAttribute().
|
inline |
Definition at line 56 of file Linkage.h.
References getExplicitVisibilityKind(), and clang::NamedDecl::VisibilityForValue.
|
inline |
Definition at line 68 of file Linkage.h.
References ExplicitKind, IgnoreAllVisibility, and IgnoreExplicitVisibility.
unsigned clang::LVComputationKind::ExplicitKind |
The kind of entity whose visibility is ultimately being computed; visibility computations for types and non-types follow different rules.
Definition at line 33 of file Linkage.h.
Referenced by getExplicitVisibilityKind(), and toBits().
unsigned clang::LVComputationKind::IgnoreAllVisibility |
Whether all visibility should be ignored.
When set, we're only interested in computing linkage.
Definition at line 41 of file Linkage.h.
Referenced by clang::LinkageComputer::getLVForDecl(), hasDirectVisibilityAttribute(), and toBits().
unsigned clang::LVComputationKind::IgnoreExplicitVisibility |
Whether explicit visibility attributes should be ignored.
When set, visibility may only be restricted by the visibility of template arguments.
Definition at line 37 of file Linkage.h.
Referenced by hasExplicitVisibilityAlready(), and toBits().