class ConstructorUsingShadowDecl
Declaration
class ConstructorUsingShadowDecl : public UsingShadowDecl { /* full declaration omitted */ };
Description
Represents a shadow constructor declaration introduced into a class by a C++11 using-declaration that names a constructor. For example:
Declared at: clang/include/clang/AST/DeclCXX.h:3498
Inherits from: UsingShadowDecl
Member Variables
- private clang::ConstructorUsingShadowDecl* NominatedBaseClassShadowDecl = nullptr
- If this constructor using declaration inherted the constructor from an indirect base class, this is the ConstructorUsingShadowDecl in the named direct base class from which the declaration was inherited.
- private clang::ConstructorUsingShadowDecl* ConstructedBaseClassShadowDecl = nullptr
- If this constructor using declaration inherted the constructor from an indirect base class, this is the ConstructorUsingShadowDecl that will be used to construct the unique direct or virtual base class that receives the constructor arguments.
- private unsigned int IsVirtual
- \c true if the constructor ultimately named by this using shadow declaration is within a virtual base class subobject of the class that contains this declaration.
Inherited from Decl:
- protected NextInContextAndBits
- protected Access
- protected FromASTFile
- protected IdentifierNamespace
- protected CacheValidAndLinkage
Method Overview
- private ConstructorUsingShadowDecl(clang::ASTContext & C, clang::DeclContext * DC, clang::SourceLocation Loc, clang::UsingDecl * Using, clang::NamedDecl * Target, bool TargetInVirtualBase)
- private ConstructorUsingShadowDecl(clang::ASTContext & C, clang::Decl::EmptyShell Empty)
- public static clang::ConstructorUsingShadowDecl * Create(clang::ASTContext & C, clang::DeclContext * DC, clang::SourceLocation Loc, clang::UsingDecl * Using, clang::NamedDecl * Target, bool IsVirtual)
- public static clang::ConstructorUsingShadowDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
- private void anchor()
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public bool constructsVirtualBase() const
- public clang::CXXRecordDecl * getConstructedBaseClass() const
- public clang::ConstructorUsingShadowDecl * getConstructedBaseClassShadowDecl() const
- public clang::UsingDecl * getIntroducer() const
- public clang::CXXRecordDecl * getNominatedBaseClass() const
- public clang::ConstructorUsingShadowDecl * getNominatedBaseClassShadowDecl() const
- public const clang::CXXRecordDecl * getParent() const
- public clang::CXXRecordDecl * getParent()
Inherited from UsingShadowDecl:
- public Create
- public CreateDeserialized
- public classof
- public classofKind
- public getCanonicalDecl
- public getCanonicalDecl
- public getIntroducer
- public getNextUsingShadowDecl
- public getTargetDecl
- public setTargetDecl
Inherited from NamedDecl:
- public classof
- public classofKind
- public declarationReplaces
- public getDeclName
- public getExplicitVisibility
- public getFormalLinkage
- public getIdentifier
- public getLinkageAndVisibility
- public getLinkageInternal
- public getMostRecentDecl
- public getMostRecentDecl
- public getName
- public getNameAsString
- public getNameForDiagnostic
- public getObjCFStringFormattingFamily
- public getQualifiedNameAsString
- public getUnderlyingDecl
- public getUnderlyingDecl
- public getVisibility
- public hasExternalFormalLinkage
- public hasLinkage
- public hasLinkageBeenComputed
- public isCXXClassMember
- public isCXXInstanceMember
- public isExternallyDeclarable
- public isExternallyVisible
- public isLinkageValid
- public isReserved
- public printName
- public printNestedNameSpecifier
- public printNestedNameSpecifier
- public printQualifiedName
- public printQualifiedName
- public setDeclName
Inherited from Decl:
- public EnableStatistics
- public PrintStats
- public add
- public addAttr
- public attr_begin
- public attr_end
- public attrs
- public canBeWeakImported
- public castFromDeclContext
- public castToDeclContext
- public classofKind
- public dropAttr
- public dropAttrs
- public dump
- public dump
- public dumpColor
- public getASTContext
- protected getASTMutationListener
- public getAccess
- public getAccessUnsafe
- public getAsFunction
- public getAsFunction
- public getAttr
- public getAttrs
- public getAttrs
- public getAvailability
- public getBeginLoc
- public getBody
- public getBodyRBrace
- protected getCachedLinkage
- public getCanonicalDecl
- public getCanonicalDecl
- public getDeclContext
- public getDeclContext
- public getDeclKindName
- public getDefiningAttr
- public getDescribedTemplate
- public getDescribedTemplateParams
- public getEndLoc
- public getExternalSourceSymbolAttr
- public getFriendObjectKind
- public getFunctionType
- public getGlobalID
- public getID
- public getIdentifierNamespace
- public getIdentifierNamespaceForKind
- public getImportedOwningModule
- public getKind
- public getLangOpts
- public getLexicalDeclContext
- public getLexicalDeclContext
- public getLocalOwningModule
- public getLocation
- public getMaxAlignment
- public getModuleOwnershipKind
- public getMostRecentDecl
- public getMostRecentDecl
- protected getMostRecentDeclImpl
- public getNextDeclInContext
- public getNextDeclInContext
- protected getNextRedeclarationImpl
- public getNonClosureContext
- public getNonClosureContext
- public getOwningModule
- public getOwningModuleForLinkage
- public getOwningModuleID
- public getParentFunctionOrMethod
- public getParentFunctionOrMethod
- public getPreviousDecl
- public getPreviousDecl
- protected getPreviousDeclImpl
- public getSourceRange
- public getTemplateDepth
- public getTranslationUnitDecl
- public getTranslationUnitDecl
- public getVersionIntroduced
- public hasAttr
- public hasAttrs
- public hasBody
- protected hasCachedLinkage
- public hasDefiningAttr
- protected hasLocalOwningModuleStorage
- public hasOwningModule
- public hasTagIdentifierNamespace
- public isCanonicalDecl
- public isDefinedOutsideFunctionOrMethod
- public isDeprecated
- public isDiscardedInGlobalModuleFragment
- public isFirstDecl
- public isFromASTFile
- public isFunctionOrFunctionTemplate
- public isImplicit
- public isInAnonymousNamespace
- public isInExportDeclContext
- public isInIdentifierNamespace
- public isInLocalScopeForInstantiation
- public isInStdNamespace
- public isInvalidDecl
- public isInvisibleOutsideTheOwningModule
- public isLocalExternDecl
- public isModulePrivate
- public isOutOfLine
- public isParameterPack
- public isReachable
- public isReferenced
- public isTagIdentifierNamespace
- public isTemplateDecl
- public isTemplateParameter
- public isTemplateParameterPack
- public isTemplated
- public isThisDeclarationReferenced
- public isTopLevelDeclInObjCContainer
- public isUnavailable
- public isUnconditionallyVisible
- public isUsed
- public isWeakImported
- public markUsed
- public print
- public print
- public printGroup
- public redecls
- public redecls_begin
- public redecls_end
- public setAccess
- public setAttrs
- protected setCachedLinkage
- public setDeclContext
- public setFromASTFile
- public setImplicit
- public setInvalidDecl
- public setIsUsed
- public setLexicalDeclContext
- public setLocalExternDecl
- public setLocalOwningModule
- public setLocation
- public setModuleOwnershipKind
- protected setModulePrivate
- public setNonMemberOperator
- public setObjectOfFriendDecl
- public setOwningModuleID
- public setReferenced
- public setTopLevelDeclInObjCContainer
- public setVisibleDespiteOwningModule
- public specific_attr_begin
- public specific_attr_end
- public specific_attrs
- protected updateOutOfDate
Methods
¶ConstructorUsingShadowDecl(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation Loc,
clang::UsingDecl* Using,
clang::NamedDecl* Target,
bool TargetInVirtualBase)
ConstructorUsingShadowDecl(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation Loc,
clang::UsingDecl* Using,
clang::NamedDecl* Target,
bool TargetInVirtualBase)
Declared at: clang/include/clang/AST/DeclCXX.h:3515
Parameters
- clang::ASTContext& C
- clang::DeclContext* DC
- clang::SourceLocation Loc
- clang::UsingDecl* Using
- clang::NamedDecl* Target
- bool TargetInVirtualBase
¶ConstructorUsingShadowDecl(
clang::ASTContext& C,
clang::Decl::EmptyShell Empty)
ConstructorUsingShadowDecl(
clang::ASTContext& C,
clang::Decl::EmptyShell Empty)
Declared at: clang/include/clang/AST/DeclCXX.h:3536
Parameters
¶static clang::ConstructorUsingShadowDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation Loc,
clang::UsingDecl* Using,
clang::NamedDecl* Target,
bool IsVirtual)
static clang::ConstructorUsingShadowDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation Loc,
clang::UsingDecl* Using,
clang::NamedDecl* Target,
bool IsVirtual)
Declared at: clang/include/clang/AST/DeclCXX.h:3545
Parameters
- clang::ASTContext& C
- clang::DeclContext* DC
- clang::SourceLocation Loc
- clang::UsingDecl* Using
- clang::NamedDecl* Target
- bool IsVirtual
¶static clang::ConstructorUsingShadowDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
static clang::ConstructorUsingShadowDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
Declared at: clang/include/clang/AST/DeclCXX.h:3549
Parameters
- clang::ASTContext& C
- unsigned int ID
¶void anchor()
void anchor()
Declared at: clang/include/clang/AST/DeclCXX.h:3539
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/DeclCXX.h:3601
Parameters
- const clang::Decl* D
¶static bool classofKind(clang::Decl::Kind K)
static bool classofKind(clang::Decl::Kind K)
Declared at: clang/include/clang/AST/DeclCXX.h:3602
Parameters
- clang::Decl::Kind K
¶bool constructsVirtualBase() const
bool constructsVirtualBase() const
Description
Returns \c true if the constructed base class is a virtual base class subobject of this declaration's class.
Declared at: clang/include/clang/AST/DeclCXX.h:3597
¶clang::CXXRecordDecl* getConstructedBaseClass()
const
clang::CXXRecordDecl* getConstructedBaseClass()
const
Description
Get the base class whose constructor or constructor shadow declaration is passed the constructor arguments.
Declared at: clang/include/clang/AST/DeclCXX.h:3588
¶clang::ConstructorUsingShadowDecl*
getConstructedBaseClassShadowDecl() const
clang::ConstructorUsingShadowDecl*
getConstructedBaseClassShadowDecl() const
Description
Get the inheriting constructor declaration for the base class for which we don't have an explicit initializer, if there is one.
Declared at: clang/include/clang/AST/DeclCXX.h:3578
¶clang::UsingDecl* getIntroducer() const
clang::UsingDecl* getIntroducer() const
Description
Override the UsingShadowDecl's getIntroducer, returning the UsingDecl that introduced this.
Declared at: clang/include/clang/AST/DeclCXX.h:3554
¶clang::CXXRecordDecl* getNominatedBaseClass()
const
clang::CXXRecordDecl* getNominatedBaseClass()
const
Description
Get the base class that was named in the using declaration. This can be different for each redeclaration of this same shadow decl.
Declared at: clang/include/clang/AST/DeclCXX.h:3584
¶clang::ConstructorUsingShadowDecl*
getNominatedBaseClassShadowDecl() const
clang::ConstructorUsingShadowDecl*
getNominatedBaseClassShadowDecl() const
Description
Get the inheriting constructor declaration for the direct base class from which this using shadow declaration was inherited, if there is one. This can be different for each redeclaration of the same shadow decl.
Declared at: clang/include/clang/AST/DeclCXX.h:3572
¶const clang::CXXRecordDecl* getParent() const
const clang::CXXRecordDecl* getParent() const
Declared at: clang/include/clang/AST/DeclCXX.h:3561
¶clang::CXXRecordDecl* getParent()
clang::CXXRecordDecl* getParent()
Declared at: clang/include/clang/AST/DeclCXX.h:3564