clang API Documentation
#include <Visibility.h>
Public Member Functions | |
LinkageInfo () | |
LinkageInfo (Linkage L, Visibility V, bool E) | |
Linkage | getLinkage () const |
Visibility | getVisibility () const |
bool | isVisibilityExplicit () const |
void | setLinkage (Linkage L) |
void | mergeLinkage (Linkage L) |
void | mergeLinkage (LinkageInfo other) |
void | mergeExternalVisibility (Linkage L) |
void | mergeExternalVisibility (LinkageInfo Other) |
void | mergeVisibility (Visibility newVis, bool newExplicit) |
Merge in the visibility 'newVis'. | |
void | mergeVisibility (LinkageInfo other) |
void | merge (LinkageInfo other) |
Merge both linkage and visibility. | |
void | mergeMaybeWithVisibility (LinkageInfo other, bool withVis) |
Merge linkage and conditionally merge visibility. | |
Static Public Member Functions | |
static LinkageInfo | external () |
static LinkageInfo | internal () |
static LinkageInfo | uniqueExternal () |
static LinkageInfo | none () |
Definition at line 51 of file Visibility.h.
clang::LinkageInfo::LinkageInfo | ( | ) | [inline] |
Definition at line 58 of file Visibility.h.
Referenced by external(), internal(), none(), and uniqueExternal().
clang::LinkageInfo::LinkageInfo | ( | Linkage | L, |
Visibility | V, | ||
bool | E | ||
) | [inline] |
Definition at line 60 of file Visibility.h.
References getLinkage(), getVisibility(), and isVisibilityExplicit().
static LinkageInfo clang::LinkageInfo::external | ( | ) | [inline, static] |
Definition at line 66 of file Visibility.h.
References LinkageInfo().
Referenced by computeLinkageInfo(), computeLVForDecl(), and getLVForClosure().
Linkage clang::LinkageInfo::getLinkage | ( | ) | const [inline] |
Definition at line 79 of file Visibility.h.
Referenced by clang::Type::getLinkageAndVisibility(), clang::NamedDecl::getLinkageInternal(), getLVForClassMember(), clang::LinkageComputer::getLVForDecl(), getLVForLocalDecl(), getLVForNamespaceScopeDecl(), clang::NamedDecl::isLinkageValid(), clang::Type::isLinkageValid(), LinkageInfo(), mergeExternalVisibility(), mergeLinkage(), and setLinkageAndVisibilityForGV().
Visibility clang::LinkageInfo::getVisibility | ( | ) | const [inline] |
Definition at line 80 of file Visibility.h.
Referenced by getLVForClassMember(), getLVForLocalDecl(), clang::NamedDecl::getVisibility(), LinkageInfo(), mergeVisibility(), clang::CodeGen::CodeGenModule::setGlobalVisibility(), and setLinkageAndVisibilityForGV().
static LinkageInfo clang::LinkageInfo::internal | ( | ) | [inline, static] |
Definition at line 69 of file Visibility.h.
References clang::DefaultVisibility, clang::InternalLinkage, and LinkageInfo().
Referenced by computeLVForDecl(), getLVForLocalDecl(), and getLVForNamespaceScopeDecl().
bool clang::LinkageInfo::isVisibilityExplicit | ( | ) | const [inline] |
Definition at line 81 of file Visibility.h.
Referenced by getLVForClassMember(), getLVForLocalDecl(), getLVForNamespaceScopeDecl(), LinkageInfo(), mergeVisibility(), clang::CodeGen::CodeGenModule::setGlobalVisibility(), and setLinkageAndVisibilityForGV().
void clang::LinkageInfo::merge | ( | LinkageInfo | other | ) | [inline] |
Merge both linkage and visibility.
Definition at line 128 of file Visibility.h.
References mergeLinkage(), and mergeVisibility().
Referenced by computeLinkageInfo(), getLVForNamespaceScopeDecl(), getLVForTemplateArgumentList(), and getLVForTemplateParameterList().
void clang::LinkageInfo::mergeExternalVisibility | ( | Linkage | L | ) | [inline] |
Definition at line 92 of file Visibility.h.
References clang::ExternalLinkage, getLinkage(), clang::isExternallyVisible(), clang::NoLinkage, setLinkage(), clang::UniqueExternalLinkage, and clang::VisibleNoLinkage.
Referenced by getLVForClassMember(), mergeExternalVisibility(), and mergeTemplateLV().
void clang::LinkageInfo::mergeExternalVisibility | ( | LinkageInfo | Other | ) | [inline] |
Definition at line 102 of file Visibility.h.
References getLinkage(), and mergeExternalVisibility().
void clang::LinkageInfo::mergeLinkage | ( | Linkage | L | ) | [inline] |
Definition at line 85 of file Visibility.h.
References getLinkage(), clang::minLinkage(), and setLinkage().
Referenced by merge(), mergeLinkage(), and mergeMaybeWithVisibility().
void clang::LinkageInfo::mergeLinkage | ( | LinkageInfo | other | ) | [inline] |
Definition at line 88 of file Visibility.h.
References getLinkage(), and mergeLinkage().
void clang::LinkageInfo::mergeMaybeWithVisibility | ( | LinkageInfo | other, |
bool | withVis | ||
) | [inline] |
Merge linkage and conditionally merge visibility.
Definition at line 134 of file Visibility.h.
References mergeLinkage(), and mergeVisibility().
Referenced by getLVForClassMember(), getLVForNamespaceScopeDecl(), and mergeTemplateLV().
void clang::LinkageInfo::mergeVisibility | ( | Visibility | newVis, |
bool | newExplicit | ||
) | [inline] |
Merge in the visibility 'newVis'.
Definition at line 107 of file Visibility.h.
References getVisibility().
Referenced by getLVForClassMember(), getLVForLocalDecl(), getLVForNamespaceScopeDecl(), merge(), mergeMaybeWithVisibility(), mergeTemplateLV(), and mergeVisibility().
void clang::LinkageInfo::mergeVisibility | ( | LinkageInfo | other | ) | [inline] |
Definition at line 123 of file Visibility.h.
References getVisibility(), isVisibilityExplicit(), and mergeVisibility().
static LinkageInfo clang::LinkageInfo::none | ( | ) | [inline, static] |
Definition at line 75 of file Visibility.h.
References clang::DefaultVisibility, LinkageInfo(), and clang::NoLinkage.
Referenced by computeLVForDecl(), getLVForClassMember(), getLVForLocalDecl(), and getLVForNamespaceScopeDecl().
void clang::LinkageInfo::setLinkage | ( | Linkage | L | ) | [inline] |
Definition at line 83 of file Visibility.h.
Referenced by getLVForLocalDecl(), mergeExternalVisibility(), mergeLinkage(), and setLinkageAndVisibilityForGV().
static LinkageInfo clang::LinkageInfo::uniqueExternal | ( | ) | [inline, static] |
Definition at line 72 of file Visibility.h.
References clang::DefaultVisibility, LinkageInfo(), and clang::UniqueExternalLinkage.
Referenced by getLVForClassMember(), getLVForLocalDecl(), and getLVForNamespaceScopeDecl().