clang
6.0.0
|
Kinds of LV computation. More...
#include "/work/www-prereleases/6.0.0/rc2/docsbuild/llvm.src/tools/clang/lib/AST/Linkage.h"
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. More... | |
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. More... | |
unsigned | IgnoreExplicitVisibility: 1 |
Whether explicit visibility attributes should be ignored. More... | |
unsigned | IgnoreAllVisibility: 1 |
Whether all visibility should be ignored. More... | |
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 55 of file Linkage.h.
References IgnoreAllVisibility, IgnoreExplicitVisibility, clang::Result, and clang::NamedDecl::VisibilityForValue.
Referenced by clang::NamedDecl::getLinkageInternal(), and clang::NamedDecl::isLinkageValid().
|
inline |
Definition at line 43 of file Linkage.h.
References ExplicitKind.
Referenced by getExplicitVisibility(), isTypeVisibility(), and isValueVisibility().
|
inline |
Definition at line 47 of file Linkage.h.
References getExplicitVisibilityKind(), and clang::NamedDecl::VisibilityForType.
Referenced by hasDirectVisibilityAttribute().
|
inline |
Definition at line 50 of file Linkage.h.
References getExplicitVisibilityKind(), and clang::NamedDecl::VisibilityForValue.
|
inline |
Definition at line 62 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 31 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 37 of file Linkage.h.
Referenced by forLinkageOnly(), clang::LinkageComputer::getLVForDecl(), getVisibilityOf(), 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 34 of file Linkage.h.
Referenced by forLinkageOnly(), getExplicitVisibility(), hasExplicitVisibilityAlready(), toBits(), and withExplicitVisibilityAlready().