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

Inherited from TypeDecl:

Inherited from NamedDecl:

Inherited from Decl:

Methods

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()

Declared at: clang/include/clang/AST/Decl.h:3230

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)

Declared at: clang/include/clang/AST/Decl.h:3310

Parameters

clang::Decl::Kind K

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()

Description

Retrieves the canonical declaration of this typedef-name.

Declared at: clang/include/clang/AST/Decl.h:3290

const clang::TypedefNameDecl* getCanonicalDecl()
    const

Declared at: clang/include/clang/AST/Decl.h:3291

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()

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()

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

Declared at: clang/include/clang/AST/Decl.h:3268

clang::QualType getUnderlyingType() const

Declared at: clang/include/clang/AST/Decl.h:3273

bool isModed() const

Declared at: clang/include/clang/AST/Decl.h:3264

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

Declared at: clang/include/clang/AST/Decl.h:3315

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)

Declared at: clang/include/clang/AST/Decl.h:3280

Parameters

clang::TypeSourceInfo* newType