clang API Documentation
Base class for declarations which introduce a typedef-name. More...
#include <Decl.h>
Public Types | |
typedef redeclarable_base::redecl_range | redecl_range |
typedef redeclarable_base::redecl_iterator | redecl_iterator |
Public Member Functions | |
bool | isModed () const |
TypeSourceInfo * | getTypeSourceInfo () const |
QualType | getUnderlyingType () const |
void | setTypeSourceInfo (TypeSourceInfo *newType) |
void | setModedTypeSourceInfo (TypeSourceInfo *unmodedTSI, QualType modedTy) |
TypedefNameDecl * | getCanonicalDecl () override |
Retrieves the canonical declaration of this typedef-name. | |
const TypedefNameDecl * | getCanonicalDecl () const |
Static Public Member Functions | |
static bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
Protected Types | |
typedef Redeclarable < TypedefNameDecl > | redeclarable_base |
Protected Member Functions | |
TypedefNameDecl (Kind DK, ASTContext &C, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, IdentifierInfo *Id, TypeSourceInfo *TInfo) | |
TypedefNameDecl * | getNextRedeclarationImpl () override |
Returns the next redeclaration or itself if this is the only decl. | |
TypedefNameDecl * | getPreviousDeclImpl () override |
Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain. | |
TypedefNameDecl * | getMostRecentDeclImpl () override |
Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain. |
typedef redeclarable_base::redecl_iterator clang::TypedefNameDecl::redecl_iterator |
Reimplemented from clang::Redeclarable< TypedefNameDecl >.
typedef Redeclarable<TypedefNameDecl> clang::TypedefNameDecl::redeclarable_base [protected] |
clang::TypedefNameDecl::TypedefNameDecl | ( | Kind | DK, |
ASTContext & | C, | ||
DeclContext * | DC, | ||
SourceLocation | StartLoc, | ||
SourceLocation | IdLoc, | ||
IdentifierInfo * | Id, | ||
TypeSourceInfo * | TInfo | ||
) | [inline, protected] |
static bool clang::TypedefNameDecl::classof | ( | const Decl * | D | ) | [inline, static] |
Reimplemented from clang::TypeDecl.
Reimplemented in clang::TypeAliasDecl, and clang::TypedefDecl.
Definition at line 2536 of file Decl.h.
References clang::Decl::getKind().
static bool clang::TypedefNameDecl::classofKind | ( | Kind | K | ) | [inline, static] |
Reimplemented from clang::TypeDecl.
Reimplemented in clang::TypeAliasDecl, and clang::TypedefDecl.
TypedefNameDecl* clang::TypedefNameDecl::getCanonicalDecl | ( | ) | [inline, override, virtual] |
Retrieves the canonical declaration of this typedef-name.
Reimplemented from clang::Decl.
const TypedefNameDecl* clang::TypedefNameDecl::getCanonicalDecl | ( | ) | const [inline] |
Reimplemented from clang::Decl.
TypedefNameDecl* clang::TypedefNameDecl::getMostRecentDeclImpl | ( | ) | [inline, override, protected, virtual] |
Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain.
Reimplemented from clang::Decl.
TypedefNameDecl* clang::TypedefNameDecl::getNextRedeclarationImpl | ( | ) | [inline, override, protected, virtual] |
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.
Reimplemented from clang::Decl.
TypedefNameDecl* clang::TypedefNameDecl::getPreviousDeclImpl | ( | ) | [inline, override, protected, virtual] |
Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain.
Reimplemented from clang::Decl.
TypeSourceInfo* clang::TypedefNameDecl::getTypeSourceInfo | ( | ) | const [inline] |
Definition at line 2514 of file Decl.h.
Referenced by clang::Sema::CheckTypedefForVariablyModifiedType(), clang::comments::DeclInfo::fill(), clang::TypedefDecl::getSourceRange(), clang::TypeAliasDecl::getSourceRange(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), IsTailPaddedMemberArray(), clang::ASTDeclWriter::VisitTypedefNameDecl(), and clang::ASTNodeImporter::VisitTypedefNameDecl().
QualType clang::TypedefNameDecl::getUnderlyingType | ( | ) | const [inline] |
Definition at line 2519 of file Decl.h.
References clang::TypeSourceInfo::getType().
Referenced by clang::Sema::ActOnAliasDeclaration(), clang::Sema::ActOnForwardClassDeclaration(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::Sema::CheckTemplateIdType(), clang::TypedefType::desugar(), clang::CodeGen::CodeGenFunction::EmitDecl(), filterNonConflictingPreviousTypedefDecls(), getObjCBridgeAttr(), clang::ASTContext::getTypedefType(), handleTransparentUnionAttr(), handleX86ForceAlignArgPointerAttr(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::isIncompatibleTypedef(), clang::Sema::MergeTypedefNameDecl(), clang::analyze_format_string::FormatSpecifier::namedTypeToLengthModifier(), ObjCBridgeRelatedAttrFromType(), clang::ASTDeclWriter::VisitTypedefNameDecl(), and clang::ASTNodeImporter::VisitTypedefNameDecl().
bool clang::TypedefNameDecl::isModed | ( | ) | const [inline] |
Definition at line 2512 of file Decl.h.
Referenced by clang::ASTDeclWriter::VisitTypedefNameDecl().
void clang::TypedefNameDecl::setModedTypeSourceInfo | ( | TypeSourceInfo * | unmodedTSI, |
QualType | modedTy | ||
) | [inline] |
Definition at line 2527 of file Decl.h.
Referenced by clang::ASTDeclReader::VisitTypedefNameDecl().
void clang::TypedefNameDecl::setTypeSourceInfo | ( | TypeSourceInfo * | newType | ) | [inline] |
Definition at line 2524 of file Decl.h.
Referenced by clang::Sema::CheckTypedefForVariablyModifiedType(), and clang::ASTDeclReader::VisitTypedefNameDecl().