class TypedefNameDecl
Declaration
class TypedefNameDecl : public TypeDecl, public Redeclarable { /* full declaration omitted */ };
Description
Base class for declarations which introduce a typedef-name.
Declared at: clang/include/clang/AST/Decl.h:3218
Inherits from: TypeDecl, Redeclarable
Member Variables
- private llvm::PointerIntPair< llvm::PointerUnion<TypeSourceInfo*, ModedTInfo*>, 2> MaybeModedTInfo
- If int part is 0, we have not computed IsTransparentTag. Otherwise, IsTransparentTag is (getInt() >> 1).
Inherited from Decl:
- protected NextInContextAndBits
- protected Access
- protected FromASTFile
- protected IdentifierNamespace
- protected CacheValidAndLinkage
Method Overview
- protected TypedefNameDecl(clang::Decl::Kind DK, clang::ASTContext & C, clang::DeclContext * DC, clang::SourceLocation StartLoc, clang::SourceLocation IdLoc, clang::IdentifierInfo * Id, clang::TypeSourceInfo * TInfo)
- private void anchor()
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public clang::TagDecl * getAnonDeclWithTypedefName(bool AnyRedecl = false) const
- public clang::TypedefNameDecl * getCanonicalDecl()
- public const clang::TypedefNameDecl * getCanonicalDecl() const
- protected clang::TypedefNameDecl * getMostRecentDeclImpl()
- protected clang::TypedefNameDecl * getNextRedeclarationImpl()
- protected clang::TypedefNameDecl * getPreviousDeclImpl()
- public clang::TypeSourceInfo * getTypeSourceInfo() const
- public clang::QualType getUnderlyingType() const
- public bool isModed() const
- public bool isTransparentTag() const
- private bool isTransparentTagSlow() const
- public void setModedTypeSourceInfo(clang::TypeSourceInfo * unmodedTSI, clang::QualType modedTy)
- public void setTypeSourceInfo(clang::TypeSourceInfo * newType)
Inherited from TypeDecl:
- public classof
- public classofKind
- public getBeginLoc
- public getSourceRange
- public getTypeForDecl
- public setLocStart
- public setTypeForDecl
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
¶TypedefNameDecl(clang::Decl::Kind DK,
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::SourceLocation IdLoc,
clang::IdentifierInfo* Id,
clang::TypeSourceInfo* TInfo)
TypedefNameDecl(clang::Decl::Kind DK,
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::SourceLocation IdLoc,
clang::IdentifierInfo* Id,
clang::TypeSourceInfo* TInfo)
Declared at: clang/include/clang/AST/Decl.h:3233
Parameters
- clang::Decl::Kind DK
- clang::ASTContext& C
- clang::DeclContext* DC
- clang::SourceLocation StartLoc
- clang::SourceLocation IdLoc
- clang::IdentifierInfo* Id
- clang::TypeSourceInfo* TInfo
¶void anchor()
void anchor()
Declared at: clang/include/clang/AST/Decl.h:3230
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/Decl.h:3309
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/Decl.h:3310
Parameters
- clang::Decl::Kind K
¶clang::TagDecl* getAnonDeclWithTypedefName(
bool AnyRedecl = false) const
clang::TagDecl* getAnonDeclWithTypedefName(
bool AnyRedecl = false) const
Description
Retrieves the tag declaration for which this is the typedef name for linkage purposes, if any.
Declared at: clang/include/clang/AST/Decl.h:3298
Parameters
- bool AnyRedecl = false
- Look for the tag declaration in any redeclaration of this typedef declaration.
¶clang::TypedefNameDecl* getCanonicalDecl()
clang::TypedefNameDecl* getCanonicalDecl()
Description
Retrieves the canonical declaration of this typedef-name.
Declared at: clang/include/clang/AST/Decl.h:3290
¶const clang::TypedefNameDecl* getCanonicalDecl()
const
const clang::TypedefNameDecl* getCanonicalDecl()
const
Declared at: clang/include/clang/AST/Decl.h:3291
¶clang::TypedefNameDecl* getMostRecentDeclImpl()
clang::TypedefNameDecl* getMostRecentDeclImpl()
Description
Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain.
Declared at: clang/include/clang/AST/Decl.h:3249
¶clang::TypedefNameDecl* getNextRedeclarationImpl()
clang::TypedefNameDecl* getNextRedeclarationImpl()
Description
Returns the next redeclaration or itself if this is the only decl. Decl subclasses that can be redeclared should override this method so that Decl::redecl_iterator can iterate over them.
Declared at: clang/include/clang/AST/Decl.h:3241
¶clang::TypedefNameDecl* getPreviousDeclImpl()
clang::TypedefNameDecl* getPreviousDeclImpl()
Description
Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain.
Declared at: clang/include/clang/AST/Decl.h:3245
¶clang::TypeSourceInfo* getTypeSourceInfo() const
clang::TypeSourceInfo* getTypeSourceInfo() const
Declared at: clang/include/clang/AST/Decl.h:3268
¶clang::QualType getUnderlyingType() const
clang::QualType getUnderlyingType() const
Declared at: clang/include/clang/AST/Decl.h:3273
¶bool isModed() const
bool isModed() const
Declared at: clang/include/clang/AST/Decl.h:3264
¶bool isTransparentTag() const
bool isTransparentTag() const
Description
Determines if this typedef shares a name and spelling location with its underlying tag type, as is the case with the NS_ENUM macro.
Declared at: clang/include/clang/AST/Decl.h:3302
¶bool isTransparentTagSlow() const
bool isTransparentTagSlow() const
Declared at: clang/include/clang/AST/Decl.h:3315
¶void setModedTypeSourceInfo(
clang::TypeSourceInfo* unmodedTSI,
clang::QualType modedTy)
void setModedTypeSourceInfo(
clang::TypeSourceInfo* unmodedTSI,
clang::QualType modedTy)
Declared at: clang/include/clang/AST/Decl.h:3284
Parameters
- clang::TypeSourceInfo* unmodedTSI
- clang::QualType modedTy
¶void setTypeSourceInfo(
clang::TypeSourceInfo* newType)
void setTypeSourceInfo(
clang::TypeSourceInfo* newType)
Declared at: clang/include/clang/AST/Decl.h:3280
Parameters
- clang::TypeSourceInfo* newType