class CXXMethodDecl
Declaration
class CXXMethodDecl : public FunctionDecl { /* full declaration omitted */ };
Description
Represents a static or instance method of a struct/union/class. In the terminology of the C++ Standard, these are the (static and non-static) member functions, whether virtual or not.
Declared at: clang/include/clang/AST/DeclCXX.h:1981
Inherits from: FunctionDecl
Member Variables
Inherited from DeclContext:
- protected
- protected FirstDecl = nullptr
- protected LastDecl = nullptr
Inherited from Decl:
- protected NextInContextAndBits
- protected Access
- protected FromASTFile
- protected IdentifierNamespace
- protected CacheValidAndLinkage
Method Overview
- protected CXXMethodDecl(clang::Decl::Kind DK, clang::ASTContext & C, clang::CXXRecordDecl * RD, clang::SourceLocation StartLoc, const clang::DeclarationNameInfo & NameInfo, clang::QualType T, clang::TypeSourceInfo * TInfo, clang::StorageClass SC, bool UsesFPIntrin, bool isInline, clang::ConstexprSpecKind ConstexprKind, clang::SourceLocation EndLocation, clang::Expr * TrailingRequiresClause = nullptr)
- public static clang::CXXMethodDecl * Create(clang::ASTContext & C, clang::CXXRecordDecl * RD, clang::SourceLocation StartLoc, const clang::DeclarationNameInfo & NameInfo, clang::QualType T, clang::TypeSourceInfo * TInfo, clang::StorageClass SC, bool UsesFPIntrin, bool isInline, clang::ConstexprSpecKind ConstexprKind, clang::SourceLocation EndLocation, clang::Expr * TrailingRequiresClause = nullptr)
- public static clang::CXXMethodDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
- public void addOverriddenMethod(const clang::CXXMethodDecl * MD)
- private void anchor()
- public clang::CXXMethodDecl::method_iterator begin_overridden_methods() const
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public clang::CXXMethodDecl::method_iterator end_overridden_methods() const
- public clang::CXXMethodDecl * getCanonicalDecl()
- public const clang::CXXMethodDecl * getCanonicalDecl() const
- public const clang::CXXMethodDecl * getCorrespondingMethodDeclaredInClass(const clang::CXXRecordDecl * RD, bool MayBeBase = false) const
- public clang::CXXMethodDecl * getCorrespondingMethodDeclaredInClass(const clang::CXXRecordDecl * RD, bool MayBeBase = false)
- public const clang::CXXMethodDecl * getCorrespondingMethodInClass(const clang::CXXRecordDecl * RD, bool MayBeBase = false) const
- public clang::CXXMethodDecl * getCorrespondingMethodInClass(const clang::CXXRecordDecl * RD, bool MayBeBase = false)
- public clang::CXXMethodDecl * getDevirtualizedMethod(const clang::Expr * Base, bool IsAppleKext)
- public const clang::CXXMethodDecl * getDevirtualizedMethod(const clang::Expr * Base, bool IsAppleKext) const
- public clang::Qualifiers getMethodQualifiers() const
- public clang::CXXMethodDecl * getMostRecentDecl()
- public const clang::CXXMethodDecl * getMostRecentDecl() const
- public const clang::CXXRecordDecl * getParent() const
- public clang::CXXRecordDecl * getParent()
- public clang::RefQualifierKind getRefQualifier() const
- public static clang::QualType getThisObjectType(const clang::FunctionProtoType * FPT, const clang::CXXRecordDecl * Decl)
- public clang::QualType getThisObjectType() const
- public clang::QualType getThisType() const
- public static clang::QualType getThisType(const clang::FunctionProtoType * FPT, const clang::CXXRecordDecl * Decl)
- public bool hasInlineBody() const
- public bool isConst() const
- public bool isCopyAssignmentOperator() const
- public bool isInstance() const
- public bool isLambdaStaticInvoker() const
- public bool isMoveAssignmentOperator() const
- public bool isStatic() const
- public static bool isStaticOverloadedOperator(clang::OverloadedOperatorKind OOK)
- public bool isUsualDeallocationFunction(SmallVectorImpl<const clang::FunctionDecl *> & PreventedBy) const
- public bool isVirtual() const
- public bool isVolatile() const
- public clang::CXXMethodDecl::overridden_method_range overridden_methods() const
- public unsigned int size_overridden_methods() const
Inherited from FunctionDecl:
- public Create
- public Create
- public CreateDeserialized
- public UsesFPIntrin
- public castFromDeclContext
- public castToDeclContext
- public classof
- public classofKind
- public doesDeclarationForceExternallyVisibleDefinition
- public doesThisDeclarationHaveABody
- public getAssociatedConstraints
- public getBody
- public getBody
- public getBuiltinID
- public getCallResultType
- public getCanonicalDecl
- public getCanonicalDecl
- public getConstexprKind
- public getDeclaredReturnType
- public getDefaultedFunctionInfo
- public getDefinition
- public getDefinition
- public getDependentSpecializationInfo
- public getDescribedFunctionTemplate
- public getEllipsisLoc
- public getExceptionSpecSourceRange
- public getExceptionSpecType
- public getFunctionTypeLoc
- public getInstantiatedFromDecl
- public getInstantiatedFromMemberFunction
- public getLanguageLinkage
- public getLiteralIdentifier
- public getMemberSpecializationInfo
- public getMemoryFunctionKind
- public getMinRequiredArguments
- protected getMostRecentDeclImpl
- public getMultiVersionKind
- public getNameForDiagnostic
- public getNameInfo
- protected getNextRedeclarationImpl
- public getNumParams
- public getODRHash
- public getODRHash
- public getOverloadedOperator
- public getParamDecl
- public getParamDecl
- public getParametersSourceRange
- public getPointOfInstantiation
- protected getPreviousDeclImpl
- public getPrimaryTemplate
- public getReturnType
- public getReturnTypeSourceRange
- public getSourceRange
- public getStorageClass
- public getTemplateInstantiationPattern
- public getTemplateSpecializationArgs
- public getTemplateSpecializationArgsAsWritten
- public getTemplateSpecializationInfo
- public getTemplateSpecializationKind
- public getTemplateSpecializationKindForInstantiation
- public getTemplatedKind
- public hasBody
- public hasBody
- public hasImplicitReturnZero
- public hasInheritedPrototype
- public hasOneParamOrDefaultArgs
- public hasPrototype
- public hasSkippedBody
- public hasTrivialBody
- public hasWrittenPrototype
- public instantiationIsPending
- public isCPUDispatchMultiVersion
- public isCPUSpecificMultiVersion
- public isConsteval
- public isConstexpr
- public isConstexprSpecified
- public isDefaulted
- public isDefined
- public isDefined
- public isDeleted
- public isDeletedAsWritten
- public isDestroyingOperatorDelete
- public isExplicitlyDefaulted
- public isExternC
- public isFunctionTemplateSpecialization
- public isGlobal
- public isImplicitlyInstantiable
- public isInExternCContext
- public isInExternCXXContext
- public isIneligibleOrNotSelected
- public isInlineBuiltinDeclaration
- public isInlineDefinitionExternallyVisible
- public isInlineSpecified
- public isInlined
- public isLateTemplateParsed
- public isMSExternInline
- public isMSVCRTEntryPoint
- public isMain
- public isMultiVersion
- public isNoReturn
- public isOutOfLine
- public isOverloadedOperator
- public isPure
- public isReplaceableGlobalAllocationFunction
- public isReservedGlobalPlacementOperator
- public isStatic
- public isTargetClonesMultiVersion
- public isTargetMultiVersion
- public isTemplateInstantiation
- public isThisDeclarationADefinition
- public isThisDeclarationInstantiatedFromAFriendDefinition
- public isTrivial
- public isTrivialForCall
- public isUserProvided
- public isVariadic
- public isVirtualAsWritten
- public param_begin
- public param_begin
- public param_empty
- public param_end
- public param_end
- public param_size
- public parameters
- public parameters
- public setBody
- public setConstexprKind
- public setDefaulted
- public setDefaultedFunctionInfo
- public setDeletedAsWritten
- public setDependentTemplateSpecialization
- public setDescribedFunctionTemplate
- public setExplicitlyDefaulted
- public setFunctionTemplateSpecialization
- public setHasImplicitReturnZero
- public setHasInheritedPrototype
- public setHasSkippedBody
- public setHasWrittenPrototype
- public setImplicitlyInline
- public setIneligibleOrNotSelected
- public setInlineSpecified
- public setInstantiatedFromDecl
- public setInstantiationIsPending
- public setInstantiationOfMemberFunction
- public setIsMultiVersion
- public setLateTemplateParsed
- public setLazyBody
- public setParams
- public setPreviousDeclaration
- public setPure
- public setRangeEnd
- public setStorageClass
- public setTemplateSpecializationKind
- public setTrivial
- public setTrivialForCall
- public setUsesFPIntrin
- public setUsesSEHTry
- public setVirtualAsWritten
- public setWillHaveBody
- public usesSEHTry
- public willHaveBody
Inherited from DeclContext:
- protected BuildDeclChain
- public Encloses
- public Equals
- public InEnclosingNamespaceSetOf
- public addDecl
- public addDeclInternal
- public addHiddenDecl
- public buildLookup
- public classof
- public classof
- public collectAllContexts
- public containsDecl
- public containsDeclAndLoad
- public ddiags
- public decls
- public decls_begin
- public decls_empty
- public decls_end
- public dumpDeclContext
- public dumpLookups
- public dumpLookups
- public getDeclKind
- public getDeclKindName
- public getEnclosingNamespaceContext
- public getEnclosingNamespaceContext
- public getExternCContext
- public getInnermostBlockDecl
- public getLexicalParent
- public getLexicalParent
- public getLookupParent
- public getLookupParent
- public getLookupPtr
- public getNonClosureAncestor
- public getNonClosureAncestor
- public getNonTransparentContext
- public getNonTransparentContext
- public getOuterLexicalRecordContext
- public getOuterLexicalRecordContext
- public getParent
- public getParent
- public getParentASTContext
- public getPrimaryContext
- public getPrimaryContext
- public getRedeclContext
- public getRedeclContext
- public hasExternalLexicalStorage
- public hasExternalVisibleStorage
- public isClosure
- public isDeclInLexicalTraversal
- public isDependentContext
- public isExternCContext
- public isExternCXXContext
- public isFileContext
- public isFunctionOrMethod
- public isInlineNamespace
- public isLookupContext
- public isNamespace
- public isObjCContainer
- public isRecord
- public isStdNamespace
- public isTranslationUnit
- public isTransparentContext
- public localUncachedLookup
- public lookup
- public lookups
- public lookups_begin
- public lookups_end
- public makeDeclVisibleInContext
- public noload_decls
- public noload_decls_begin
- public noload_decls_end
- public noload_lookup
- public noload_lookups
- public noload_lookups_begin
- public noload_lookups_end
- public removeDecl
- public setHasExternalLexicalStorage
- public setHasExternalVisibleStorage
- public setMustBuildLookupTable
- public setUseQualifiedLookup
- public shouldUseQualifiedLookup
- public using_directives
Inherited from DeclaratorDecl:
- public classof
- public classofKind
- public getBeginLoc
- public getInnerLocStart
- public getNumTemplateParameterLists
- public getOuterLocStart
- public getQualifier
- public getQualifierLoc
- public getSourceRange
- public getTemplateParameterList
- public getTrailingRequiresClause
- public getTrailingRequiresClause
- public getTypeSourceInfo
- public getTypeSpecEndLoc
- public getTypeSpecStartLoc
- public setInnerLocStart
- public setQualifierInfo
- public setTemplateParameterListsInfo
- public setTrailingRequiresClause
- public setTypeSourceInfo
Inherited from ValueDecl:
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
¶CXXMethodDecl(
clang::Decl::Kind DK,
clang::ASTContext& C,
clang::CXXRecordDecl* RD,
clang::SourceLocation StartLoc,
const clang::DeclarationNameInfo& NameInfo,
clang::QualType T,
clang::TypeSourceInfo* TInfo,
clang::StorageClass SC,
bool UsesFPIntrin,
bool isInline,
clang::ConstexprSpecKind ConstexprKind,
clang::SourceLocation EndLocation,
clang::Expr* TrailingRequiresClause = nullptr)
CXXMethodDecl(
clang::Decl::Kind DK,
clang::ASTContext& C,
clang::CXXRecordDecl* RD,
clang::SourceLocation StartLoc,
const clang::DeclarationNameInfo& NameInfo,
clang::QualType T,
clang::TypeSourceInfo* TInfo,
clang::StorageClass SC,
bool UsesFPIntrin,
bool isInline,
clang::ConstexprSpecKind ConstexprKind,
clang::SourceLocation EndLocation,
clang::Expr* TrailingRequiresClause = nullptr)
Declared at: clang/include/clang/AST/DeclCXX.h:1985
Parameters
- clang::Decl::Kind DK
- clang::ASTContext& C
- clang::CXXRecordDecl* RD
- clang::SourceLocation StartLoc
- const clang::DeclarationNameInfo& NameInfo
- clang::QualType T
- clang::TypeSourceInfo* TInfo
- clang::StorageClass SC
- bool UsesFPIntrin
- bool isInline
- clang::ConstexprSpecKind ConstexprKind
- clang::SourceLocation EndLocation
- clang::Expr* TrailingRequiresClause = nullptr
¶static clang::CXXMethodDecl* Create(
clang::ASTContext& C,
clang::CXXRecordDecl* RD,
clang::SourceLocation StartLoc,
const clang::DeclarationNameInfo& NameInfo,
clang::QualType T,
clang::TypeSourceInfo* TInfo,
clang::StorageClass SC,
bool UsesFPIntrin,
bool isInline,
clang::ConstexprSpecKind ConstexprKind,
clang::SourceLocation EndLocation,
clang::Expr* TrailingRequiresClause = nullptr)
static clang::CXXMethodDecl* Create(
clang::ASTContext& C,
clang::CXXRecordDecl* RD,
clang::SourceLocation StartLoc,
const clang::DeclarationNameInfo& NameInfo,
clang::QualType T,
clang::TypeSourceInfo* TInfo,
clang::StorageClass SC,
bool UsesFPIntrin,
bool isInline,
clang::ConstexprSpecKind ConstexprKind,
clang::SourceLocation EndLocation,
clang::Expr* TrailingRequiresClause = nullptr)
Declared at: clang/include/clang/AST/DeclCXX.h:1999
Parameters
- clang::ASTContext& C
- clang::CXXRecordDecl* RD
- clang::SourceLocation StartLoc
- const clang::DeclarationNameInfo& NameInfo
- clang::QualType T
- clang::TypeSourceInfo* TInfo
- clang::StorageClass SC
- bool UsesFPIntrin
- bool isInline
- clang::ConstexprSpecKind ConstexprKind
- clang::SourceLocation EndLocation
- clang::Expr* TrailingRequiresClause = nullptr
¶static clang::CXXMethodDecl* CreateDeserialized(
clang::ASTContext& C,
unsigned int ID)
static clang::CXXMethodDecl* CreateDeserialized(
clang::ASTContext& C,
unsigned int ID)
Declared at: clang/include/clang/AST/DeclCXX.h:2005
Parameters
- clang::ASTContext& C
- unsigned int ID
¶void addOverriddenMethod(
const clang::CXXMethodDecl* MD)
void addOverriddenMethod(
const clang::CXXMethodDecl* MD)
Declared at: clang/include/clang/AST/DeclCXX.h:2081
Parameters
- const clang::CXXMethodDecl* MD
¶void anchor()
void anchor()
Declared at: clang/include/clang/AST/DeclCXX.h:1982
¶clang::CXXMethodDecl::method_iterator
begin_overridden_methods() const
clang::CXXMethodDecl::method_iterator
begin_overridden_methods() const
Declared at: clang/include/clang/AST/DeclCXX.h:2085
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/DeclCXX.h:2184
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/DeclCXX.h:2185
Parameters
- clang::Decl::Kind K
¶clang::CXXMethodDecl::method_iterator
end_overridden_methods() const
clang::CXXMethodDecl::method_iterator
end_overridden_methods() const
Declared at: clang/include/clang/AST/DeclCXX.h:2086
¶clang::CXXMethodDecl* getCanonicalDecl()
clang::CXXMethodDecl* getCanonicalDecl()
Description
Retrieves the "canonical" declaration of the given declaration.
Declared at: clang/include/clang/AST/DeclCXX.h:2066
¶const clang::CXXMethodDecl* getCanonicalDecl()
const
const clang::CXXMethodDecl* getCanonicalDecl()
const
Declared at: clang/include/clang/AST/DeclCXX.h:2069
¶const clang::CXXMethodDecl*
getCorrespondingMethodDeclaredInClass(
const clang::CXXRecordDecl* RD,
bool MayBeBase = false) const
const clang::CXXMethodDecl*
getCorrespondingMethodDeclaredInClass(
const clang::CXXRecordDecl* RD,
bool MayBeBase = false) const
Declared at: clang/include/clang/AST/DeclCXX.h:2177
Parameters
- const clang::CXXRecordDecl* RD
- bool MayBeBase = false
¶clang::CXXMethodDecl*
getCorrespondingMethodDeclaredInClass(
const clang::CXXRecordDecl* RD,
bool MayBeBase = false)
clang::CXXMethodDecl*
getCorrespondingMethodDeclaredInClass(
const clang::CXXRecordDecl* RD,
bool MayBeBase = false)
Description
Find if \p RD declares a function that overrides this function, and if so, return it. Does not search base classes.
Declared at: clang/include/clang/AST/DeclCXX.h:2174
Parameters
- const clang::CXXRecordDecl* RD
- bool MayBeBase = false
¶const clang::CXXMethodDecl*
getCorrespondingMethodInClass(
const clang::CXXRecordDecl* RD,
bool MayBeBase = false) const
const clang::CXXMethodDecl*
getCorrespondingMethodInClass(
const clang::CXXRecordDecl* RD,
bool MayBeBase = false) const
Declared at: clang/include/clang/AST/DeclCXX.h:2166
Parameters
- const clang::CXXRecordDecl* RD
- bool MayBeBase = false
¶clang::CXXMethodDecl*
getCorrespondingMethodInClass(
const clang::CXXRecordDecl* RD,
bool MayBeBase = false)
clang::CXXMethodDecl*
getCorrespondingMethodInClass(
const clang::CXXRecordDecl* RD,
bool MayBeBase = false)
Description
Find the method in \p RD that corresponds to this one. Find if \p RD or one of the classes it inherits from override this method. If so, return it. \p RD is assumed to be a subclass of the class defining this method (or be the class itself), unless \p MayBeBase is set to true.
Declared at: clang/include/clang/AST/DeclCXX.h:2162
Parameters
- const clang::CXXRecordDecl* RD
- bool MayBeBase = false
¶clang::CXXMethodDecl* getDevirtualizedMethod(
const clang::Expr* Base,
bool IsAppleKext)
clang::CXXMethodDecl* getDevirtualizedMethod(
const clang::Expr* Base,
bool IsAppleKext)
Declared at: clang/include/clang/AST/DeclCXX.h:2041
Parameters
- const clang::Expr* Base
- The object on which this virtual function is called.
- bool IsAppleKext
- True if we are compiling for Apple kext.
¶const clang::CXXMethodDecl*
getDevirtualizedMethod(const clang::Expr* Base,
bool IsAppleKext) const
const clang::CXXMethodDecl*
getDevirtualizedMethod(const clang::Expr* Base,
bool IsAppleKext) const
Declared at: clang/include/clang/AST/DeclCXX.h:2043
Parameters
- const clang::Expr* Base
- bool IsAppleKext
¶clang::Qualifiers getMethodQualifiers() const
clang::Qualifiers getMethodQualifiers() const
Declared at: clang/include/clang/AST/DeclCXX.h:2126
¶clang::CXXMethodDecl* getMostRecentDecl()
clang::CXXMethodDecl* getMostRecentDecl()
Declared at: clang/include/clang/AST/DeclCXX.h:2073
¶const clang::CXXMethodDecl* getMostRecentDecl()
const
const clang::CXXMethodDecl* getMostRecentDecl()
const
Declared at: clang/include/clang/AST/DeclCXX.h:2077
¶const clang::CXXRecordDecl* getParent() const
const clang::CXXRecordDecl* getParent() const
Description
Return the parent of this method declaration, which is the class in which this method is defined.
Declared at: clang/include/clang/AST/DeclCXX.h:2096
¶clang::CXXRecordDecl* getParent()
clang::CXXRecordDecl* getParent()
Description
Return the parent of this method declaration, which is the class in which this method is defined.
Declared at: clang/include/clang/AST/DeclCXX.h:2102
¶clang::RefQualifierKind getRefQualifier() const
clang::RefQualifierKind getRefQualifier() const
Description
Retrieve the ref-qualifier associated with this method. In the following example, \c f() has an lvalue ref-qualifier, \c g() has an rvalue ref-qualifier, and \c h() has no ref-qualifier.
Declared at: clang/include/clang/AST/DeclCXX.h:2141
¶static clang::QualType getThisObjectType(
const clang::FunctionProtoType* FPT,
const clang::CXXRecordDecl* Decl)
static clang::QualType getThisObjectType(
const clang::FunctionProtoType* FPT,
const clang::CXXRecordDecl* Decl)
Declared at: clang/include/clang/AST/DeclCXX.h:2123
Parameters
- const clang::FunctionProtoType* FPT
- const clang::CXXRecordDecl* Decl
¶clang::QualType getThisObjectType() const
clang::QualType getThisObjectType() const
Description
Return the type of the object pointed by \c this. See getThisType() for usage restriction.
Declared at: clang/include/clang/AST/DeclCXX.h:2118
¶clang::QualType getThisType() const
clang::QualType getThisType() const
Description
Return the type of the \c this pointer. Should only be called for instance (i.e., non-static) methods. Note that for the call operator of a lambda closure type, this returns the desugared 'this' type (a pointer to the closure type), not the captured 'this' type.
Declared at: clang/include/clang/AST/DeclCXX.h:2113
¶static clang::QualType getThisType(
const clang::FunctionProtoType* FPT,
const clang::CXXRecordDecl* Decl)
static clang::QualType getThisType(
const clang::FunctionProtoType* FPT,
const clang::CXXRecordDecl* Decl)
Declared at: clang/include/clang/AST/DeclCXX.h:2120
Parameters
- const clang::FunctionProtoType* FPT
- const clang::CXXRecordDecl* Decl
¶bool hasInlineBody() const
bool hasInlineBody() const
Declared at: clang/include/clang/AST/DeclCXX.h:2145
¶bool isConst() const
bool isConst() const
Declared at: clang/include/clang/AST/DeclCXX.h:2022
¶bool isCopyAssignmentOperator() const
bool isCopyAssignmentOperator() const
Description
Determine whether this is a copy-assignment operator, regardless of whether it was declared implicitly or explicitly.
Declared at: clang/include/clang/AST/DeclCXX.h:2061
¶bool isInstance() const
bool isInstance() const
Declared at: clang/include/clang/AST/DeclCXX.h:2008
¶bool isLambdaStaticInvoker() const
bool isLambdaStaticInvoker() const
Description
Determine whether this is a lambda closure type's static member function that is used for the result of the lambda's conversion to function pointer (for a lambda with no captures). The function itself, if used, will have a placeholder body that will be supplied by IR generation to either forward to the function call operator or clone the function call operator.
Declared at: clang/include/clang/AST/DeclCXX.h:2154
¶bool isMoveAssignmentOperator() const
bool isMoveAssignmentOperator() const
Description
Determine whether this is a move assignment operator.
Declared at: clang/include/clang/AST/DeclCXX.h:2064
¶bool isStatic() const
bool isStatic() const
Declared at: clang/include/clang/AST/DeclCXX.h:2007
¶static bool isStaticOverloadedOperator(
clang::OverloadedOperatorKind OOK)
static bool isStaticOverloadedOperator(
clang::OverloadedOperatorKind OOK)
Description
Returns true if the given operator is implicitly static in a record context.
Declared at: clang/include/clang/AST/DeclCXX.h:2012
Parameters
- clang::OverloadedOperatorKind OOK
¶bool isUsualDeallocationFunction(
SmallVectorImpl<const clang::FunctionDecl*>&
PreventedBy) const
bool isUsualDeallocationFunction(
SmallVectorImpl<const clang::FunctionDecl*>&
PreventedBy) const
Description
Determine whether this is a usual deallocation function (C++ [basic.stc.dynamic.deallocation]p2), which is an overloaded delete or delete[] operator with a particular signature. Populates \p PreventedBy with the declarations of the functions of the same kind if they were the reason for this function returning false. This is used by Sema::isUsualDeallocationFunction to reconsider the answer based on the context.
Declared at: clang/include/clang/AST/DeclCXX.h:2056
Parameters
- SmallVectorImpl<const clang::FunctionDecl*>& PreventedBy
¶bool isVirtual() const
bool isVirtual() const
Declared at: clang/include/clang/AST/DeclCXX.h:2025
¶bool isVolatile() const
bool isVolatile() const
Declared at: clang/include/clang/AST/DeclCXX.h:2023
¶clang::CXXMethodDecl::overridden_method_range
overridden_methods() const
clang::CXXMethodDecl::overridden_method_range
overridden_methods() const
Declared at: clang/include/clang/AST/DeclCXX.h:2092
¶unsigned int size_overridden_methods() const
unsigned int size_overridden_methods() const
Declared at: clang/include/clang/AST/DeclCXX.h:2087