clang 8.0.0

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
clang::UsingShadowDecl Class Reference

Represents a shadow declaration introduced into a scope by a (resolved) using declaration. More...

`#include "clang/AST/DeclCXX.h"`

Inheritance diagram for clang::UsingShadowDecl:
[legend]
Collaboration diagram for clang::UsingShadowDecl:
[legend]

## Public Types
using | redecl_range = redeclarable_base::redecl_range
using | redecl_iterator = redeclarable_base::redecl_iterator
Public Types inherited from clang::NamedDecl
enum | ExplicitVisibilityKind { VisibilityForType, VisibilityForValue }
| Kinds of explicit visibility. More...
Public Types inherited from clang::Decl
enum | Kind
| Lists the kind of concrete classes of Decl. More...
enum | IdentifierNamespace { IDNS_Label = 0x0001, IDNS_Tag = 0x0002, IDNS_Type = 0x0004, IDNS_Member = 0x0008, IDNS_Namespace = 0x0010, IDNS_Ordinary = 0x0020, IDNS_ObjCProtocol = 0x0040, IDNS_OrdinaryFriend = 0x0080, IDNS_TagFriend = 0x0100, IDNS_Using = 0x0200, IDNS_NonMemberOperator = 0x0400, IDNS_LocalExtern = 0x0800, IDNS_OMPReduction = 0x1000 }
| IdentifierNamespace - The different namespaces in which declarations may appear. More...
enum | ObjCDeclQualifier { OBJC_TQ_None = 0x0, OBJC_TQ_In = 0x1, OBJC_TQ_Inout = 0x2, OBJC_TQ_Out = 0x4, OBJC_TQ_Bycopy = 0x8, OBJC_TQ_Byref = 0x10, OBJC_TQ_Oneway = 0x20, OBJC_TQ_CSNullability = 0x40 }
| ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declarations. More...
enum | ModuleOwnershipKind : unsigned { ModuleOwnershipKind::Unowned, ModuleOwnershipKind::Visible, ModuleOwnershipKind::VisibleWhenImported, ModuleOwnershipKind::ModulePrivate }
| The kind of ownership a declaration has, for visibility purposes. More...
enum | FriendObjectKind { FOK_None, FOK_Declared, FOK_Undeclared }
using | attr_iterator = AttrVec::const_iterator
using | attr_range = llvm::iterator_range< attr_iterator >
using | redecl_range = llvm::iterator_range< redecl_iterator >
Public Types inherited from clang::Redeclarable< UsingShadowDecl >
using | redecl_range = llvm::iterator_range< redecl_iterator >

## Public Member Functions
UsingShadowDecl * | getCanonicalDecl () override
| Retrieves the "canonical" declaration of the given declaration. More...
const UsingShadowDecl * | getCanonicalDecl () const
NamedDecl * | getTargetDecl () const
| Gets the underlying declaration which has been brought into the local scope. More...
void | setTargetDecl (NamedDecl *ND)
| Sets the underlying declaration which has been brought into the local scope. More...
UsingDecl * | getUsingDecl () const
| Gets the using declaration to which this declaration is tied. More...
UsingShadowDecl * | getNextUsingShadowDecl () const
| The next using shadow declaration contained in the shadow decl chain of the using declaration which introduced this decl. More...
Public Member Functions inherited from clang::NamedDecl
IdentifierInfo * | getIdentifier () const
| Get the identifier that names this declaration, if there is one. More...
StringRef | getName () const
| Get the name of identifier for this declaration as a StringRef. More...
std::string | getNameAsString () const
| 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...
virtual void | printName (raw_ostream &os) const
DeclarationName | getDeclName () const
| 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
| Returns a human-readable qualified name for this 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
| 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 | 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
bool | isExternallyDeclarable () const
| Determine whether this declaration can be redeclared in a different translation unit. More...
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
Public Member Functions inherited from clang::Decl
virtual SourceRange | getSourceRange () const LLVM_READONLY
| Source range that this declaration covers. More...
SourceLocation | getBeginLoc () const LLVM_READONLY
SourceLocation | getEndLoc () const LLVM_READONLY
SourceLocation | getLocation () const
void | setLocation (SourceLocation L)
Kind | getKind () const
const char * | getDeclKindName () const
Decl * | getNextDeclInContext ()
const Decl * | getNextDeclInContext () const
DeclContext * | getDeclContext ()
const DeclContext * | getDeclContext () const
Decl * | getNonClosureContext ()
| Find the innermost non-closure ancestor of this declaration, walking up through blocks, lambdas, etc. More...
const Decl * | getNonClosureContext () const
TranslationUnitDecl * | getTranslationUnitDecl ()
const TranslationUnitDecl * | getTranslationUnitDecl () const
bool | isInAnonymousNamespace () const
bool | isInStdNamespace () const
ASTContext & | getASTContext () const LLVM_READONLY
void | setAccess (AccessSpecifier AS)
AccessSpecifier | getAccess () const
AccessSpecifier | getAccessUnsafe () const
| Retrieve the access specifier for this declaration, even though it may not yet have been properly set. More...
bool | hasAttrs () const
void | setAttrs (const AttrVec &Attrs)
AttrVec & | getAttrs ()
const AttrVec & | getAttrs () const
void | dropAttrs ()
void | addAttr (Attr *A)
attr_range | attrs () const
attr_iterator | attr_begin () const
attr_iterator | attr_end () const
template<typename T >
void | dropAttr ()
template<typename T >
llvm::iterator_range< specific_attr_iterator< T > > | specific_attrs () const
template<typename T >
specific_attr_iterator< T > | specific_attr_begin () const
template<typename T >
specific_attr_iterator< T > | specific_attr_end () const
template<typename T >
T * | getAttr () const
template<typename T >
bool | hasAttr () const
unsigned | getMaxAlignment () const
| getMaxAlignment - return the maximum alignment specified by attributes on this decl, 0 if there are none. More...
void | setInvalidDecl (bool Invalid=true)
| setInvalidDecl - Indicates the Decl had a semantic error. More...
bool | isInvalidDecl () const
bool | isImplicit () const
| isImplicit - Indicates whether the declaration was implicitly generated by the implementation. More...
void | setImplicit (bool I=true)
bool | isUsed (bool CheckUsedAttr=true) const
| Whether any (re-)declaration of the entity was used, meaning that a definition is required. More...
void | setIsUsed ()
| Set whether the declaration is used, in the sense of odr-use. More...
void | markUsed (ASTContext &C)
| Mark the declaration used, in the sense of odr-use. More...
bool | isReferenced () const
| Whether any declaration of this entity was referenced. More...
bool | isThisDeclarationReferenced () const
| Whether this declaration was referenced. More...
void | setReferenced (bool R=true)
bool | isTopLevelDeclInObjCContainer () const
| Whether this declaration is a top-level declaration (function, global variable, etc.) that is lexically inside an objc container definition. More...
void | setTopLevelDeclInObjCContainer (bool V=true)
ExternalSourceSymbolAttr * | getExternalSourceSymbolAttr () const
| Looks on this and related declarations for an applicable external source symbol attribute. More...
bool | isModulePrivate () const
| Whether this declaration was marked as being private to the module in which it was defined. More...
bool | isExported () const
| Whether this declaration is exported (by virtue of being lexically within an ExportDecl or by being a NamespaceDecl). More...
bool | hasDefiningAttr () const
| Return true if this declaration has an attribute which acts as definition of the entity, such as 'alias' or 'ifunc'. More...
const Attr * | getDefiningAttr () const
| Return this declaration's defining attribute if it has one. More...
AvailabilityResult | getAvailability (std::string *Message=nullptr, VersionTuple EnclosingVersion=VersionTuple(), StringRef *RealizedPlatform=nullptr) const
| Determine the availability of the given declaration. More...
VersionTuple | getVersionIntroduced () const
| Retrieve the version of the target platform in which this declaration was introduced. More...
bool | isDeprecated (std::string *Message=nullptr) const
| Determine whether this declaration is marked 'deprecated'. More...
bool | isUnavailable (std::string *Message=nullptr) const
| Determine whether this declaration is marked 'unavailable'. More...
bool | isWeakImported () const
| Determine whether this is a weak-imported symbol. More...
bool | canBeWeakImported (bool &IsDefinition) const
| Determines whether this symbol can be weak-imported, e.g., whether it would be well-formed to add the weak_import attribute. More...
bool | isFromASTFile () const
| Determine whether this declaration came from an AST file (such as a precompiled header or module) rather than having been parsed. More...
unsigned | getGlobalID () const
| Retrieve the global declaration ID associated with this declaration, which specifies where this Decl was loaded from. More...
unsigned | getOwningModuleID () const
| Retrieve the global ID of the module that owns this particular declaration. More...
Module * | getImportedOwningModule () const
| Get the imported owning module, if this decl is from an imported (non-local) module. More...
Module * | getLocalOwningModule () const
| Get the local owning module, if known. More...
void | setLocalOwningModule (Module *M)
bool | hasOwningModule () const
| Is this declaration owned by some module? More...
Module * | getOwningModule () const
| Get the module that owns this declaration (for visibility purposes). More...
Module * | getOwningModuleForLinkage (bool IgnoreLinkage=false) const
| Get the module that owns this declaration for linkage purposes. More...
bool | isHidden () const
| Determine whether this declaration might be hidden from name lookup. More...
void | setVisibleDespiteOwningModule ()
| Set that this declaration is globally visible, even if it came from a module that is not visible. More...
ModuleOwnershipKind | getModuleOwnershipKind () const
| Get the kind of module ownership for this declaration. More...
void | setModuleOwnershipKind (ModuleOwnershipKind MOK)
| Set whether this declaration is hidden from name lookup. More...
unsigned | getIdentifierNamespace () const
bool | isInIdentifierNamespace (unsigned NS) const
bool | hasTagIdentifierNamespace () const
DeclContext * | getLexicalDeclContext ()
| getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC). More...
const DeclContext * | getLexicalDeclContext () const
virtual bool | isOutOfLine () const
| Determine whether this declaration is declared out of line (outside its semantic context). More...
void | setDeclContext (DeclContext *DC)
| setDeclContext - Set both the semantic and lexical DeclContext to DC. More...
void | setLexicalDeclContext (DeclContext *DC)
bool | isTemplated () const
| Determine whether this declaration is a templated entity (whether it is. More...
bool | isDefinedOutsideFunctionOrMethod () const
| isDefinedOutsideFunctionOrMethod - This predicate returns true if this scoped decl is defined outside the current function or method. More...
bool | isLexicallyWithinFunctionOrMethod () const
| Returns true if this declaration lexically is inside a function. More...
const DeclContext * | getParentFunctionOrMethod () const
| If this decl is defined inside a function/method/block it returns the corresponding DeclContext, otherwise it returns null. More...
DeclContext * | getParentFunctionOrMethod ()
const Decl * | getCanonicalDecl () const
bool | isCanonicalDecl () const
| Whether this particular Decl is a canonical one. More...
redecl_range | redecls () const
| Returns an iterator range for all the redeclarations of the same decl. More...
redecl_iterator | redecls_begin () const
redecl_iterator | redecls_end () const
Decl * | getPreviousDecl ()
| Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. More...
const Decl * | getPreviousDecl () const
| Retrieve the most recent declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. More...
bool | isFirstDecl () const
| True if this is the first declaration in its redeclaration chain. More...
Decl * | getMostRecentDecl ()
| Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). More...
const Decl * | getMostRecentDecl () const
| Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). More...
virtual Stmt * | getBody () const
| getBody - If this Decl represents a declaration for a body of code, such as a function or method definition, this method returns the top-level Stmt* of that body. More...
virtual bool | hasBody () const
| Returns true if this `Decl` represents a declaration for a body of code, such as a function or method definition. More...
SourceLocation | getBodyRBrace () const
| getBodyRBrace - Gets the right brace of the body, if a body exists. More...
bool | isTemplateParameter () const
| isTemplateParameter - Determines whether this declaration is a template parameter. More...
bool | isTemplateParameterPack () const
| isTemplateParameter - Determines whether this declaration is a template parameter pack. More...
bool | isParameterPack () const
| Whether this declaration is a parameter pack. More...
bool | isTemplateDecl () const
| returns true if this declaration is a template More...
bool | isFunctionOrFunctionTemplate () const
| Whether this declaration is a function or function template. More...
TemplateDecl * | getDescribedTemplate () const
| If this is a declaration that describes some template, this method returns that template declaration. More...
FunctionDecl * | getAsFunction () LLVM_READONLY
| Returns the function itself, or the templated function if this is a function template. More...
const FunctionDecl * | getAsFunction () const
void | setLocalExternDecl ()
| Changes the namespace of this declaration to reflect that it's a function-local extern declaration. More...
bool | isLocalExternDecl ()
| Determine whether this is a block-scope declaration with linkage. More...
void | setObjectOfFriendDecl (bool PerformFriendInjection=false)
| Changes the namespace of this declaration to reflect that it's the object of a friend declaration. More...
FriendObjectKind | getFriendObjectKind () const
| Determines whether this declaration is the object of a friend declaration and, if so, what kind. More...
void | setNonMemberOperator ()
| Specifies that this declaration is a C++ overloaded non-member. More...
void | print (raw_ostream &Out, unsigned Indentation=0, bool PrintInstantiation=false) const
void | print (raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0, bool PrintInstantiation=false) const
void | dump () const
void | dumpColor () const
void | dump (raw_ostream &Out, bool Deserialize=false) const
int64_t | getID () const
const FunctionType * | getFunctionType (bool BlocksToo=true) const
| Looks through the Decl's underlying type to extract a FunctionType when possible. More...
Public Member Functions inherited from clang::Redeclarable< UsingShadowDecl >
| Redeclarable (const ASTContext &Ctx)
UsingShadowDecl * | getPreviousDecl ()
| Return the previous declaration of this declaration or NULL if this is the first declaration. More...
const UsingShadowDecl * | getPreviousDecl () const
UsingShadowDecl * | getFirstDecl ()
| Return the first declaration of this declaration or itself if this is the only declaration. More...
const UsingShadowDecl * | getFirstDecl () const
| Return the first declaration of this declaration or itself if this is the only declaration. More...
bool | isFirstDecl () const
| True if this is the first declaration in its redeclaration chain. More...
UsingShadowDecl * | getMostRecentDecl ()
| Returns the most recent (re)declaration of this declaration. More...
const UsingShadowDecl * | getMostRecentDecl () const
| Returns the most recent (re)declaration of this declaration. More...
void | setPreviousDecl (UsingShadowDecl *PrevDecl)
| Set the previous declaration. More...
redecl_range | redecls () const
| Returns an iterator range for all the redeclarations of the same decl. More...
redecl_iterator | redecls_begin () const
redecl_iterator | redecls_end () const

## Static Public Member Functions
static UsingShadowDecl * | Create (ASTContext &C, DeclContext *DC, SourceLocation Loc, UsingDecl *Using, NamedDecl *Target)
static UsingShadowDecl * | CreateDeserialized (ASTContext &C, unsigned ID)
static bool | classof (const Decl *D)
static bool | classofKind (Kind K)
Static Public Member Functions inherited from clang::NamedDecl
static bool | classof (const Decl *D)
static bool | classofKind (Kind K)
Static Public Member Functions inherited from clang::Decl
static unsigned | getIdentifierNamespaceForKind (Kind DK)
static bool | isTagIdentifierNamespace (unsigned NS)
static void | add (Kind k)
static void | EnableStatistics ()
static void | PrintStats ()
static bool | classofKind (Kind K)
static DeclContext * | castToDeclContext (const Decl *)
static Decl * | castFromDeclContext (const DeclContext *)
static void | printGroup (Decl **Begin, unsigned NumDecls, raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0)

## Protected Member Functions
| UsingShadowDecl (Kind K, ASTContext &C, DeclContext *DC, SourceLocation Loc, UsingDecl *Using, NamedDecl *Target)
| UsingShadowDecl (Kind K, ASTContext &C, EmptyShell)
Protected Member Functions inherited from clang::NamedDecl
| NamedDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N)
Protected Member Functions inherited from clang::Decl
void * | operator new (std::size_t Size, const ASTContext &Ctx, unsigned ID, std::size_t Extra=0)
| Allocate memory for a deserialized declaration. More...
void * | operator new (std::size_t Size, const ASTContext &Ctx, DeclContext *Parent, std::size_t Extra=0)
| Allocate memory for a non-deserialized declaration. More...
| Decl (Kind DK, DeclContext *DC, SourceLocation L)
| Decl (Kind DK, EmptyShell Empty)
virtual | ~Decl ()
void | updateOutOfDate (IdentifierInfo &II) const
| Update a potentially out-of-date declaration. More...
Linkage | getCachedLinkage () const
void | setCachedLinkage (Linkage L) const
bool | hasCachedLinkage () const
void | setModulePrivate ()
| Specify that this declaration was marked as being private to the module in which it was defined. More...
void | setOwningModuleID (unsigned ID)
| Set the owning module ID. More...
bool | hasLocalOwningModuleStorage () const
ASTMutationListener * | getASTMutationListener () const
Protected Member Functions inherited from clang::Redeclarable< UsingShadowDecl >
UsingShadowDecl * | getNextRedeclaration () const

## Friends
class | UsingDecl
class | ASTDeclReader
class | ASTDeclWriter

## Additional Inherited Members
Static Protected Member Functions inherited from clang::Redeclarable< UsingShadowDecl >
static DeclLink | PreviousDeclLink (UsingShadowDecl *D)
static DeclLink | LatestDeclLink (const ASTContext &Ctx)
Protected Attributes inherited from clang::Decl
llvm::PointerIntPair< Decl *, 2, ModuleOwnershipKind > | NextInContextAndBits
| The next declaration within the same lexical DeclContext. More...
unsigned | Access: 2
| Access - Used by C++ decls for the access specifier. More...
unsigned | FromASTFile: 1
| Whether this declaration was loaded from an AST file. More...
unsigned | IdentifierNamespace: 13
| IdentifierNamespace - This specifies what IDNS_* namespace this lives in. More...
unsigned | CacheValidAndLinkage: 3
| If 0, we have not computed the linkage of this declaration. More...
Protected Attributes inherited from clang::Redeclarable< UsingShadowDecl >
DeclLink | RedeclLink
| Points to the next redeclaration in the chain. More...
UsingShadowDecl * | First

## Detailed Description

Represents a shadow declaration introduced into a scope by a (resolved) using declaration.

For example,

namespace A {
void foo();
}
namespace B {
using A::foo; // <- a UsingDecl
// Also creates a UsingShadowDecl for A::foo() in B
}

Definition at line 3139 of file DeclCXX.h.

## Member Typedef Documentation

## ◆ redecl_iterator

using clang::UsingShadowDecl::redecl_iterator = redeclarable_base::redecl_iterator

Definition at line 3183 of file DeclCXX.h.

## ◆ redecl_range

using clang::UsingShadowDecl::redecl_range = redeclarable_base::redecl_range

Definition at line 3182 of file DeclCXX.h.

## Constructor & Destructor Documentation

## ◆ UsingShadowDecl() [1/2]

UsingShadowDecl::UsingShadowDecl | ( | Kind | K,
|  | ASTContext & | C,
|  | DeclContext * | DC,
|  | SourceLocation | Loc,
|  | UsingDecl * | Using,
|  | NamedDecl * | Target
| ) |  |
| protected

Definition at line 2663 of file DeclCXX.cpp.

References clang::Decl::setImplicit(), and setTargetDecl().

Referenced by CreateDeserialized().

## ◆ UsingShadowDecl() [2/2]

UsingShadowDecl::UsingShadowDecl | ( | Kind | K,
|  | ASTContext & | C,
|  | EmptyShell | Empty
| ) |  |
| protected

Definition at line 2673 of file DeclCXX.cpp.

## Member Function Documentation

## ◆ classof()

static bool clang::UsingShadowDecl::classof | ( | const Decl * | D | ) |
| inline static

Definition at line 3224 of file DeclCXX.h.

References clang::Decl::getKind().

## ◆ classofKind()

static bool clang::UsingShadowDecl::classofKind | ( | Kind | K | ) |
| inline static

Definition at line 3225 of file DeclCXX.h.

## ◆ Create()

static UsingShadowDecl* clang::UsingShadowDecl::Create | ( | ASTContext & | C,
|  | DeclContext * | DC,
|  | SourceLocation | Loc,
|  | UsingDecl * | Using,
|  | NamedDecl * | Target
| ) |  |
| inline static

Definition at line 3174 of file DeclCXX.h.

References clang::C.

## ◆ CreateDeserialized()

UsingShadowDecl * UsingShadowDecl::CreateDeserialized | ( | ASTContext & | C,
|  | unsigned | ID
| ) |  |
| static

Definition at line 2678 of file DeclCXX.cpp.

References clang::C, and UsingShadowDecl().

## ◆ getCanonicalDecl() [1/2]

UsingShadowDecl* clang::UsingShadowDecl::getCanonicalDecl | ( |  | ) |
| inline override virtual

Retrieves the "canonical" declaration of the given declaration.

Reimplemented from clang::Decl.

Definition at line 3192 of file DeclCXX.h.

## ◆ getCanonicalDecl() [2/2]

const UsingShadowDecl* clang::UsingShadowDecl::getCanonicalDecl | ( |  | ) | const
| inline

Definition at line 3195 of file DeclCXX.h.

## ◆ getNextUsingShadowDecl()

UsingShadowDecl* clang::UsingShadowDecl::getNextUsingShadowDecl | ( |  | ) | const
| inline

The next using shadow declaration contained in the shadow decl chain of the using declaration which introduced this decl.

Definition at line 3220 of file DeclCXX.h.

Referenced by clang::UsingDecl::shadow_iterator::operator++().

## ◆ getTargetDecl()

NamedDecl* clang::UsingShadowDecl::getTargetDecl | ( |  | ) | const
| inline

Gets the underlying declaration which has been brought into the local scope.

Definition at line 3201 of file DeclCXX.h.

Referenced by clang::Sema::InheritedConstructorInfo::InheritedConstructorInfo(), and clang::ASTDeclWriter::VisitUsingShadowDecl().

## ◆ getUsingDecl()

UsingDecl * UsingShadowDecl::getUsingDecl | ( |  | ) | const

Gets the using declaration to which this declaration is tied.

Definition at line 2682 of file DeclCXX.cpp.

Referenced by clang::ConstructorUsingShadowDecl::getNominatedBaseClass(), and clang::Sema::HideUsingShadowDecl().

## ◆ setTargetDecl()

void clang::UsingShadowDecl::setTargetDecl | ( | NamedDecl * | ND | ) |
| inline

Sets the underlying declaration which has been brought into the local scope.

Definition at line 3205 of file DeclCXX.h.

References clang::Decl::getIdentifierNamespace().

Referenced by UsingShadowDecl().

## Friends And Related Function Documentation

## ◆ ASTDeclReader

friend class ASTDeclReader
| friend

Definition at line 3171 of file DeclCXX.h.

## ◆ ASTDeclWriter

friend class ASTDeclWriter
| friend

Definition at line 3172 of file DeclCXX.h.

## ◆ UsingDecl

friend class UsingDecl
| friend

Definition at line 3140 of file DeclCXX.h.

Referenced by clang::UsingDecl::Create(), and clang::UsingDecl::CreateDeserialized().

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

- include/clang/AST/DeclCXX.h
- lib/AST/DeclCXX.cpp