class ObjCTypeParamDecl
Declaration
class ObjCTypeParamDecl : public TypedefNameDecl { /* full declaration omitted */ };
Description
Represents the declaration of an Objective-C type parameter. In the example above, both \c Key and \c Value are represented by\c ObjCTypeParamDecl. \c Key has an explicit bound of \c id<NSCopying>, while \c Value gets an implicit bound of \c id. Objective-C type parameters are typedef-names in the grammar,
Declared at: clang/include/clang/AST/DeclObjC.h:582
Inherits from: TypedefNameDecl
Member Variables
- private unsigned int Index
- Index of this type parameter in the type parameter list.
- private unsigned int Variance
- The variance of the type parameter.
- private clang::SourceLocation VarianceLoc
- The location of the variance, if any.
- private clang::SourceLocation ColonLoc
- The location of the ':', which will be valid when the bound was explicitly specified.
Inherited from Decl:
- protected NextInContextAndBits
- protected Access
- protected FromASTFile
- protected IdentifierNamespace
- protected CacheValidAndLinkage
Method Overview
- public static clang::ObjCTypeParamDecl * Create(clang::ASTContext & ctx, clang::DeclContext * dc, clang::ObjCTypeParamVariance variance, clang::SourceLocation varianceLoc, unsigned int index, clang::SourceLocation nameLoc, clang::IdentifierInfo * name, clang::SourceLocation colonLoc, clang::TypeSourceInfo * boundInfo)
- public static clang::ObjCTypeParamDecl * CreateDeserialized(clang::ASTContext & ctx, unsigned int ID)
- private ObjCTypeParamDecl(clang::ASTContext & ctx, clang::DeclContext * dc, clang::ObjCTypeParamVariance variance, clang::SourceLocation varianceLoc, unsigned int index, clang::SourceLocation nameLoc, clang::IdentifierInfo * name, clang::SourceLocation colonLoc, clang::TypeSourceInfo * boundInfo)
- private void anchor()
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public clang::SourceLocation getColonLoc() const
- public unsigned int getIndex() const
- public clang::SourceRange getSourceRange() const
- public clang::ObjCTypeParamVariance getVariance() const
- public clang::SourceLocation getVarianceLoc() const
- public bool hasExplicitBound() const
- public void setVariance(clang::ObjCTypeParamVariance variance)
Inherited from TypedefNameDecl:
- public classof
- public classofKind
- public getAnonDeclWithTypedefName
- public getCanonicalDecl
- public getCanonicalDecl
- protected getMostRecentDeclImpl
- protected getNextRedeclarationImpl
- protected getPreviousDeclImpl
- public getTypeSourceInfo
- public getUnderlyingType
- public isModed
- public isTransparentTag
- public setModedTypeSourceInfo
- public setTypeSourceInfo
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
¶static clang::ObjCTypeParamDecl* Create(
clang::ASTContext& ctx,
clang::DeclContext* dc,
clang::ObjCTypeParamVariance variance,
clang::SourceLocation varianceLoc,
unsigned int index,
clang::SourceLocation nameLoc,
clang::IdentifierInfo* name,
clang::SourceLocation colonLoc,
clang::TypeSourceInfo* boundInfo)
static clang::ObjCTypeParamDecl* Create(
clang::ASTContext& ctx,
clang::DeclContext* dc,
clang::ObjCTypeParamVariance variance,
clang::SourceLocation varianceLoc,
unsigned int index,
clang::SourceLocation nameLoc,
clang::IdentifierInfo* name,
clang::SourceLocation colonLoc,
clang::TypeSourceInfo* boundInfo)
Declared at: clang/include/clang/AST/DeclObjC.h:612
Parameters
- clang::ASTContext& ctx
- clang::DeclContext* dc
- clang::ObjCTypeParamVariance variance
- clang::SourceLocation varianceLoc
- unsigned int index
- clang::SourceLocation nameLoc
- clang::IdentifierInfo* name
- clang::SourceLocation colonLoc
- clang::TypeSourceInfo* boundInfo
¶static clang::ObjCTypeParamDecl*
CreateDeserialized(clang::ASTContext& ctx,
unsigned int ID)
static clang::ObjCTypeParamDecl*
CreateDeserialized(clang::ASTContext& ctx,
unsigned int ID)
Declared at: clang/include/clang/AST/DeclObjC.h:620
Parameters
- clang::ASTContext& ctx
- unsigned int ID
¶ObjCTypeParamDecl(
clang::ASTContext& ctx,
clang::DeclContext* dc,
clang::ObjCTypeParamVariance variance,
clang::SourceLocation varianceLoc,
unsigned int index,
clang::SourceLocation nameLoc,
clang::IdentifierInfo* name,
clang::SourceLocation colonLoc,
clang::TypeSourceInfo* boundInfo)
ObjCTypeParamDecl(
clang::ASTContext& ctx,
clang::DeclContext* dc,
clang::ObjCTypeParamVariance variance,
clang::SourceLocation varianceLoc,
unsigned int index,
clang::SourceLocation nameLoc,
clang::IdentifierInfo* name,
clang::SourceLocation colonLoc,
clang::TypeSourceInfo* boundInfo)
Declared at: clang/include/clang/AST/DeclObjC.h:596
Parameters
- clang::ASTContext& ctx
- clang::DeclContext* dc
- clang::ObjCTypeParamVariance variance
- clang::SourceLocation varianceLoc
- unsigned int index
- clang::SourceLocation nameLoc
- clang::IdentifierInfo* name
- clang::SourceLocation colonLoc
- clang::TypeSourceInfo* boundInfo
¶void anchor()
void anchor()
Declared at: clang/include/clang/AST/DeclObjC.h:606
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/DeclObjC.h:649
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/DeclObjC.h:650
Parameters
- clang::Decl::Kind K
¶clang::SourceLocation getColonLoc() const
clang::SourceLocation getColonLoc() const
Description
Retrieve the location of the ':' separating the type parameter name from the explicitly-specified bound.
Declared at: clang/include/clang/AST/DeclObjC.h:646
¶unsigned int getIndex() const
unsigned int getIndex() const
Description
Retrieve the index into its type parameter list.
Declared at: clang/include/clang/AST/DeclObjC.h:638
¶clang::SourceRange getSourceRange() const
clang::SourceRange getSourceRange() const
Description
Source range that this declaration covers.
Declared at: clang/include/clang/AST/DeclObjC.h:622
¶clang::ObjCTypeParamVariance getVariance() const
clang::ObjCTypeParamVariance getVariance() const
Description
Determine the variance of this type parameter.
Declared at: clang/include/clang/AST/DeclObjC.h:625
¶clang::SourceLocation getVarianceLoc() const
clang::SourceLocation getVarianceLoc() const
Description
Retrieve the location of the variance keyword.
Declared at: clang/include/clang/AST/DeclObjC.h:635
¶bool hasExplicitBound() const
bool hasExplicitBound() const
Description
Whether this type parameter has an explicitly-written type bound, e.g., "T : NSView".
Declared at: clang/include/clang/AST/DeclObjC.h:642
¶void setVariance(
clang::ObjCTypeParamVariance variance)
void setVariance(
clang::ObjCTypeParamVariance variance)
Description
Set the variance of this type parameter.
Declared at: clang/include/clang/AST/DeclObjC.h:630
Parameters
- clang::ObjCTypeParamVariance variance