clang
3.9.0
|
Represents a C++ using-declaration. More...
#include <DeclCXX.h>
Classes | |
class | shadow_iterator |
Iterates through the using shadow declarations associated with this using declaration. More... | |
Public Types | |
typedef llvm::iterator_range < shadow_iterator > | shadow_range |
![]() | |
enum | ExplicitVisibilityKind { VisibilityForType, VisibilityForValue } |
Kinds of explicit visibility. More... | |
Public Member Functions | |
SourceLocation | getUsingLoc () const |
Return the source location of the 'using' keyword. More... | |
void | setUsingLoc (SourceLocation L) |
Set the source location of the 'using' keyword. More... | |
NestedNameSpecifierLoc | getQualifierLoc () const |
Retrieve the nested-name-specifier that qualifies the name, with source-location information. More... | |
NestedNameSpecifier * | getQualifier () const |
Retrieve the nested-name-specifier that qualifies the name. More... | |
DeclarationNameInfo | getNameInfo () const |
bool | isAccessDeclaration () const |
Return true if it is a C++03 access declaration (no 'using'). More... | |
bool | hasTypename () const |
Return true if the using declaration has 'typename'. More... | |
void | setTypename (bool TN) |
Sets whether the using declaration has 'typename'. More... | |
shadow_range | shadows () const |
shadow_iterator | shadow_begin () const |
shadow_iterator | shadow_end () const |
unsigned | shadow_size () const |
Return the number of shadowed declarations associated with this using declaration. More... | |
void | addShadowDecl (UsingShadowDecl *S) |
void | removeShadowDecl (UsingShadowDecl *S) |
SourceRange | getSourceRange () const override LLVM_READONLY |
UsingDecl * | getCanonicalDecl () override |
Retrieves the canonical declaration of this declaration. More... | |
const UsingDecl * | getCanonicalDecl () const |
![]() | |
IdentifierInfo * | getIdentifier () const |
getIdentifier - Get the identifier that names this declaration, if there is one. More... | |
StringRef | getName () const |
getName - Get the name of identifier for this declaration as a StringRef. More... | |
std::string | getNameAsString () const |
getNameAsString - Get a human-readable name for the declaration, even if it is one of the special kinds of names (C++ constructor, Objective-C selector, etc). More... | |
void | printName (raw_ostream &os) const |
DeclarationName | getDeclName () const |
getDeclName - Get the actual, stored name of the declaration, which may be a special name. More... | |
void | setDeclName (DeclarationName N) |
Set the name of this declaration. More... | |
void | printQualifiedName (raw_ostream &OS) const |
printQualifiedName - Returns human-readable qualified name for declaration, like A::B::i, for i being member of namespace A::B. More... | |
void | printQualifiedName (raw_ostream &OS, const PrintingPolicy &Policy) const |
std::string | getQualifiedNameAsString () const |
virtual void | getNameForDiagnostic (raw_ostream &OS, const PrintingPolicy &Policy, bool Qualified) const |
getNameForDiagnostic - Appends a human-readable name for this declaration into the given stream. More... | |
bool | declarationReplaces (NamedDecl *OldD, bool IsKnownNewer=true) const |
Determine whether this declaration, if known to be well-formed within its context, will replace the declaration OldD if introduced into scope. More... | |
bool | hasLinkage () const |
Determine whether this declaration has linkage. More... | |
bool | isHidden () const |
Determine whether this declaration is hidden from name lookup. More... | |
void | setHidden (bool Hide) |
Set whether this declaration is hidden from name lookup. More... | |
bool | isCXXClassMember () const |
Determine whether this declaration is a C++ class member. More... | |
bool | isCXXInstanceMember () const |
Determine whether the given declaration is an instance member of a C++ class. More... | |
Linkage | getLinkageInternal () const |
Determine what kind of linkage this entity has. More... | |
Linkage | getFormalLinkage () const |
Get the linkage from a semantic point of view. More... | |
bool | hasExternalFormalLinkage () const |
True if this decl has external linkage. More... | |
bool | isExternallyVisible () const |
Visibility | getVisibility () const |
Determines the visibility of this entity. More... | |
LinkageInfo | getLinkageAndVisibility () const |
Determines the linkage and visibility of this entity. More... | |
Optional< Visibility > | getExplicitVisibility (ExplicitVisibilityKind kind) const |
If visibility was explicitly specified for this declaration, return that visibility. More... | |
bool | isLinkageValid () const |
True if the computed linkage is valid. More... | |
bool | hasLinkageBeenComputed () const |
True if something has required us to compute the linkage of this declaration. More... | |
NamedDecl * | getUnderlyingDecl () |
Looks through UsingDecls and ObjCCompatibleAliasDecls for the underlying named decl. More... | |
const NamedDecl * | getUnderlyingDecl () const |
NamedDecl * | getMostRecentDecl () |
const NamedDecl * | getMostRecentDecl () const |
ObjCStringFormatFamily | getObjCFStringFormattingFamily () const |
![]() | |
Mergeable () | |
UsingDecl * | getFirstDecl () |
Return the first declaration of this declaration or itself if this is the only declaration. More... | |
const UsingDecl * | getFirstDecl () const |
Return the first declaration of this declaration or itself if this is the only declaration. More... | |
bool | isFirstDecl () const |
Returns true if this is the first declaration. More... | |
Static Public Member Functions | |
static UsingDecl * | Create (ASTContext &C, DeclContext *DC, SourceLocation UsingL, NestedNameSpecifierLoc QualifierLoc, const DeclarationNameInfo &NameInfo, bool HasTypenameKeyword) |
static UsingDecl * | CreateDeserialized (ASTContext &C, unsigned ID) |
static bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
![]() | |
static bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
Friends | |
class | ASTDeclReader |
class | ASTDeclWriter |
Additional Inherited Members | |
![]() | |
NamedDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N) | |
Represents a C++ using-declaration.
For example:
typedef llvm::iterator_range<shadow_iterator> clang::UsingDecl::shadow_range |
void UsingDecl::addShadowDecl | ( | UsingShadowDecl * | S | ) |
Definition at line 2206 of file DeclCXX.cpp.
References clang::UsingShadowDecl::getUsingDecl(), shadow_begin(), and shadow_end().
Referenced by clang::Sema::BuildUsingShadowDecl().
Definition at line 3167 of file DeclCXX.h.
References classofKind().
|
static |
Definition at line 2237 of file DeclCXX.cpp.
References AttributeLangSupport::C.
Referenced by clang::Sema::BuildUsingDeclaration().
|
static |
Definition at line 2244 of file DeclCXX.cpp.
References AttributeLangSupport::C, and ID.
|
inlineoverride |
Retrieves the canonical declaration of this declaration.
Definition at line 3164 of file DeclCXX.h.
References clang::Mergeable< UsingDecl >::getFirstDecl().
|
inline |
Definition at line 3165 of file DeclCXX.h.
References clang::Mergeable< UsingDecl >::getFirstDecl().
|
inline |
Definition at line 3083 of file DeclCXX.h.
References clang::NamedDecl::getDeclName().
Referenced by clang::Sema::CheckInheritingConstructorUsingDecl(), and getSourceRange().
|
inline |
Retrieve the nested-name-specifier that qualifies the name.
Definition at line 3079 of file DeclCXX.h.
References clang::NestedNameSpecifierLoc::getNestedNameSpecifier().
Referenced by clang::Sema::BuildUsingShadowDecl(), clang::Sema::CheckInheritingConstructorUsingDecl(), clang::Sema::CheckUsingShadowDecl(), and clang::ConstructorUsingShadowDecl::getNominatedBaseClass().
|
inline |
Retrieve the nested-name-specifier that qualifies the name, with source-location information.
Definition at line 3076 of file DeclCXX.h.
Referenced by clang::Sema::CheckUsingShadowDecl(), getSourceRange(), and clang::ASTDeclWriter::VisitUsingDecl().
|
override |
Definition at line 2250 of file DeclCXX.cpp.
References clang::NestedNameSpecifierLoc::getBeginLoc(), getNameInfo(), getQualifierLoc(), and isAccessDeclaration().
|
inline |
Return the source location of the 'using' keyword.
Definition at line 3069 of file DeclCXX.h.
Referenced by clang::Sema::CheckInheritingConstructorUsingDecl(), and clang::ASTDeclWriter::VisitUsingDecl().
|
inline |
Return true if the using declaration has 'typename'.
Definition at line 3091 of file DeclCXX.h.
Referenced by clang::Sema::CheckInheritingConstructorUsingDecl(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), and clang::ASTDeclWriter::VisitUsingDecl().
|
inline |
Return true if it is a C++03 access declaration (no 'using').
Definition at line 3088 of file DeclCXX.h.
References clang::SourceLocation::isInvalid().
Referenced by getSourceRange().
void UsingDecl::removeShadowDecl | ( | UsingShadowDecl * | S | ) |
Definition at line 2216 of file DeclCXX.cpp.
References clang::UsingShadowDecl::getUsingDecl(), S, shadow_begin(), and shadow_end().
Referenced by clang::Sema::HideUsingShadowDecl().
|
inline |
Sets whether the using declaration has 'typename'.
Definition at line 3094 of file DeclCXX.h.
Referenced by clang::ASTDeclReader::VisitUsingDecl().
|
inline |
Set the source location of the 'using' keyword.
Definition at line 3072 of file DeclCXX.h.
Referenced by clang::ASTDeclReader::VisitUsingDecl().
|
inline |
Definition at line 3139 of file DeclCXX.h.
Referenced by addShadowDecl(), clang::CodeGen::CGDebugInfo::EmitUsingDecl(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), removeShadowDecl(), shadow_size(), and shadows().
|
inline |
Definition at line 3142 of file DeclCXX.h.
Referenced by addShadowDecl(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), removeShadowDecl(), shadow_size(), and shadows().
|
inline |
Return the number of shadowed declarations associated with this using declaration.
Definition at line 3146 of file DeclCXX.h.
References distance(), shadow_begin(), and shadow_end().
Referenced by clang::CodeGen::CGDebugInfo::EmitUsingDecl().
|
inline |
Definition at line 3136 of file DeclCXX.h.
References shadow_begin(), and shadow_end().
|
friend |
|
friend |