clang
3.9.0
|
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 |
![]() | |
enum | ExplicitVisibilityKind { VisibilityForType, VisibilityForValue } |
Kinds of explicit visibility. More... | |
![]() | |
typedef llvm::iterator_range < redecl_iterator > | redecl_range |
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. More... | |
const TypedefNameDecl * | getCanonicalDecl () const |
TagDecl * | getAnonDeclWithTypedefName (bool AnyRedecl=false) const |
Retrieves the tag declaration for which this is the typedef name for linkage purposes, if any. More... | |
![]() | |
const Type * | getTypeForDecl () const |
void | setTypeForDecl (const Type *TD) |
SourceLocation | getLocStart () const LLVM_READONLY |
void | setLocStart (SourceLocation L) |
SourceRange | getSourceRange () const override LLVM_READONLY |
![]() | |
IdentifierInfo * | getIdentifier () const |
getIdentifier - Get the identifier that names this declaration, if there is one. More... | |
StringRef | getName () const |
getName - Get the name of identifier for this declaration as a StringRef. More... | |
std::string | getNameAsString () const |
getNameAsString - 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... | |
void | printName (raw_ostream &os) const |
DeclarationName | getDeclName () const |
getDeclName - 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 |
printQualifiedName - Returns human-readable qualified name for 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 |
getNameForDiagnostic - 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 | isHidden () const |
Determine whether this declaration is hidden from name lookup. More... | |
void | setHidden (bool Hide) |
Set whether this declaration is hidden from name lookup. 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 |
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 |
![]() | |
Redeclarable (const ASTContext &Ctx) | |
TypedefNameDecl * | getPreviousDecl () |
Return the previous declaration of this declaration or NULL if this is the first declaration. More... | |
const TypedefNameDecl * | getPreviousDecl () const |
TypedefNameDecl * | getFirstDecl () |
Return the first declaration of this declaration or itself if this is the only declaration. More... | |
const TypedefNameDecl * | 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... | |
TypedefNameDecl * | getMostRecentDecl () |
Returns the most recent (re)declaration of this declaration. More... | |
const TypedefNameDecl * | getMostRecentDecl () const |
Returns the most recent (re)declaration of this declaration. More... | |
void | setPreviousDecl (TypedefNameDecl *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 bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
![]() | |
static bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
![]() | |
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 |
TypedefNameDecl * | getPreviousDeclImpl () override |
TypedefNameDecl * | getMostRecentDeclImpl () override |
![]() | |
TypeDecl (Kind DK, DeclContext *DC, SourceLocation L, IdentifierInfo *Id, SourceLocation StartL=SourceLocation()) | |
![]() | |
NamedDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N) | |
![]() | |
TypedefNameDecl * | getNextRedeclaration () const |
Additional Inherited Members | |
![]() | |
static DeclLink | PreviousDeclLink (TypedefNameDecl *D) |
static DeclLink | LatestDeclLink (const ASTContext &Ctx) |
![]() | |
DeclLink | RedeclLink |
Points to the next redeclaration in the chain. More... | |
TypedefNameDecl * | First |
typedef redeclarable_base::redecl_iterator clang::TypedefNameDecl::redecl_iterator |
|
protected |
|
inlineprotected |
Definition at line 2673 of file Decl.h.
References clang::ParmVarDecl::classofKind().
Retrieves the tag declaration for which this is the typedef name for linkage purposes, if any.
AnyRedecl | Look for the tag declaration in any redeclaration of this typedef declaration. |
Definition at line 4137 of file Decl.cpp.
References getCanonicalDecl(), clang::TagDecl::getTypedefNameForAnonDecl(), and getTypeSourceInfo().
Referenced by filterNonConflictingPreviousTypedefDecls(), and clang::Sema::MergeTypedefNameDecl().
|
inlineoverride |
Retrieves the canonical declaration of this typedef-name.
Definition at line 2662 of file Decl.h.
References clang::Redeclarable< VarDecl >::getFirstDecl().
Referenced by getAnonDeclWithTypedefName().
|
inline |
Definition at line 2663 of file Decl.h.
References clang::Redeclarable< VarDecl >::getFirstDecl().
|
inlineoverrideprotected |
Definition at line 2628 of file Decl.h.
References clang::Redeclarable< VarDecl >::getMostRecentDecl().
|
inlineoverrideprotected |
Definition at line 2622 of file Decl.h.
References clang::Redeclarable< VarDecl >::getNextRedeclaration().
|
inlineoverrideprotected |
Definition at line 2625 of file Decl.h.
References clang::Redeclarable< VarDecl >::getPreviousDecl().
|
inline |
Definition at line 2644 of file Decl.h.
Referenced by clang::Sema::CheckTypedefForVariablyModifiedType(), checkTypeParamListConsistency(), clang::comments::DeclInfo::fill(), getAnonDeclWithTypedefName(), clang::ObjCTypeParamDecl::getSourceRange(), clang::TypedefDecl::getSourceRange(), clang::TypeAliasDecl::getSourceRange(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), IsTailPaddedMemberArray(), clang::ASTNodeImporter::VisitObjCTypeParamDecl(), clang::ASTDeclWriter::VisitTypedefNameDecl(), and clang::ASTNodeImporter::VisitTypedefNameDecl().
|
inline |
Definition at line 2649 of file Decl.h.
References clang::TypeSourceInfo::getType().
Referenced by clang::Sema::ActOnAliasDeclaration(), clang::Sema::ActOnForwardClassDeclaration(), applyObjCTypeArgs(), clang::Sema::checkNullabilityTypeSpecifier(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::Sema::CheckTemplateIdType(), checkTypeParamListConsistency(), 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::ASTContext::setCFConstantStringType(), clang::Sema::setTagNameForLinkagePurposes(), clang::ASTDeclWriter::VisitTypedefNameDecl(), and clang::ASTNodeImporter::VisitTypedefNameDecl().
|
inline |
Definition at line 2642 of file Decl.h.
Referenced by clang::ASTDeclWriter::VisitTypedefNameDecl().
|
inline |
Definition at line 2657 of file Decl.h.
Referenced by clang::Sema::MergeTypedefNameDecl(), and clang::ASTDeclReader::VisitTypedefNameDecl().
|
inline |
Definition at line 2654 of file Decl.h.
Referenced by clang::Sema::CheckTypedefForVariablyModifiedType(), checkTypeParamListConsistency(), clang::Sema::MergeTypedefNameDecl(), and clang::ASTDeclReader::VisitTypedefNameDecl().