clang 20.0.0git
|
Represents a static or instance method of a struct/union/class. More...
#include "clang/AST/DeclCXX.h"
Public Types | |
using | method_iterator = const CXXMethodDecl *const * |
using | overridden_method_range = llvm::iterator_range< llvm::TinyPtrVector< const CXXMethodDecl * >::const_iterator > |
![]() | |
enum | TemplatedKind { TK_NonTemplate , TK_FunctionTemplate , TK_MemberSpecialization , TK_FunctionTemplateSpecialization , TK_DependentFunctionTemplateSpecialization , TK_DependentNonTemplate } |
The kind of templated function a FunctionDecl can be. More... | |
using | redecl_range = redeclarable_base::redecl_range |
using | redecl_iterator = redeclarable_base::redecl_iterator |
using | param_iterator = MutableArrayRef< ParmVarDecl * >::iterator |
using | param_const_iterator = ArrayRef< ParmVarDecl * >::const_iterator |
![]() | |
enum | ExplicitVisibilityKind { VisibilityForType , VisibilityForValue } |
Kinds of explicit visibility. More... | |
![]() | |
enum | Kind |
Lists the kind of concrete classes of Decl. More... | |
enum | IdentifierNamespace { IDNS_Label = 0x0001 , IDNS_Tag = 0x0002 , IDNS_Type = 0x0004 , IDNS_Member = 0x0008 , IDNS_Namespace = 0x0010 , IDNS_Ordinary = 0x0020 , IDNS_ObjCProtocol = 0x0040 , IDNS_OrdinaryFriend = 0x0080 , IDNS_TagFriend = 0x0100 , IDNS_Using = 0x0200 , IDNS_NonMemberOperator = 0x0400 , IDNS_LocalExtern = 0x0800 , IDNS_OMPReduction = 0x1000 , IDNS_OMPMapper = 0x2000 } |
IdentifierNamespace - The different namespaces in which declarations may appear. More... | |
enum | ObjCDeclQualifier { OBJC_TQ_None = 0x0 , OBJC_TQ_In = 0x1 , OBJC_TQ_Inout = 0x2 , OBJC_TQ_Out = 0x4 , OBJC_TQ_Bycopy = 0x8 , OBJC_TQ_Byref = 0x10 , OBJC_TQ_Oneway = 0x20 , OBJC_TQ_CSNullability = 0x40 } |
ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declarations. More... | |
enum class | ModuleOwnershipKind : unsigned char { Unowned , Visible , VisibleWhenImported , ReachableWhenImported , ModulePrivate } |
The kind of ownership a declaration has, for visibility purposes. More... | |
enum | FriendObjectKind { FOK_None , FOK_Declared , FOK_Undeclared } |
using | attr_iterator = AttrVec::const_iterator |
using | attr_range = llvm::iterator_range< attr_iterator > |
using | redecl_range = llvm::iterator_range< redecl_iterator > |
![]() | |
using | decl_range = llvm::iterator_range< decl_iterator > |
using | lookup_result = DeclContextLookupResult |
using | lookup_iterator = lookup_result::iterator |
using | lookups_range = llvm::iterator_range< all_lookups_iterator > |
using | udir_iterator_base = llvm::iterator_adaptor_base< udir_iterator, lookup_iterator, typename lookup_iterator::iterator_category, UsingDirectiveDecl * > |
using | udir_range = llvm::iterator_range< udir_iterator > |
using | ddiag_range = llvm::iterator_range< DeclContext::ddiag_iterator > |
![]() | |
using | redecl_range = llvm::iterator_range< redecl_iterator > |
Public Member Functions | |
bool | isStatic () const |
bool | isInstance () const |
bool | isExplicitObjectMemberFunction () const |
[C++2b][dcl.fct]/p7 An explicit object member function is a non-static member function with an explicit object parameter. | |
bool | isImplicitObjectMemberFunction () const |
[C++2b][dcl.fct]/p7 An implicit object member function is a non-static member function without an explicit object parameter. | |
bool | isConst () const |
bool | isVolatile () const |
bool | isVirtual () const |
CXXMethodDecl * | getDevirtualizedMethod (const Expr *Base, bool IsAppleKext) |
If it's possible to devirtualize a call to this method, return the called function. | |
const CXXMethodDecl * | getDevirtualizedMethod (const Expr *Base, bool IsAppleKext) const |
bool | isUsualDeallocationFunction (SmallVectorImpl< const FunctionDecl * > &PreventedBy) const |
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. | |
bool | isCopyAssignmentOperator () const |
Determine whether this is a copy-assignment operator, regardless of whether it was declared implicitly or explicitly. | |
bool | isMoveAssignmentOperator () const |
Determine whether this is a move assignment operator. | |
CXXMethodDecl * | getCanonicalDecl () override |
Retrieves the "canonical" declaration of the given declaration. | |
const CXXMethodDecl * | getCanonicalDecl () const |
CXXMethodDecl * | getMostRecentDecl () |
const CXXMethodDecl * | getMostRecentDecl () const |
void | addOverriddenMethod (const CXXMethodDecl *MD) |
method_iterator | begin_overridden_methods () const |
method_iterator | end_overridden_methods () const |
unsigned | size_overridden_methods () const |
overridden_method_range | overridden_methods () const |
const CXXRecordDecl * | getParent () const |
Return the parent of this method declaration, which is the class in which this method is defined. | |
CXXRecordDecl * | getParent () |
Return the parent of this method declaration, which is the class in which this method is defined. | |
QualType | getThisType () const |
Return the type of the this pointer. | |
QualType | getFunctionObjectParameterReferenceType () const |
Return the type of the object pointed by this . | |
QualType | getFunctionObjectParameterType () const |
unsigned | getNumExplicitParams () const |
Qualifiers | getMethodQualifiers () const |
RefQualifierKind | getRefQualifier () const |
Retrieve the ref-qualifier associated with this method. | |
bool | hasInlineBody () const |
bool | isLambdaStaticInvoker () const |
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). | |
CXXMethodDecl * | getCorrespondingMethodInClass (const CXXRecordDecl *RD, bool MayBeBase=false) |
Find the method in RD that corresponds to this one. | |
const CXXMethodDecl * | getCorrespondingMethodInClass (const CXXRecordDecl *RD, bool MayBeBase=false) const |
CXXMethodDecl * | getCorrespondingMethodDeclaredInClass (const CXXRecordDecl *RD, bool MayBeBase=false) |
Find if RD declares a function that overrides this function, and if so, return it. | |
const CXXMethodDecl * | getCorrespondingMethodDeclaredInClass (const CXXRecordDecl *RD, bool MayBeBase=false) const |
![]() | |
DeclarationNameInfo | getNameInfo () const |
void | getNameForDiagnostic (raw_ostream &OS, const PrintingPolicy &Policy, bool Qualified) const override |
Appends a human-readable name for this declaration into the given stream. | |
void | setRangeEnd (SourceLocation E) |
void | setDeclarationNameLoc (DeclarationNameLoc L) |
SourceLocation | getEllipsisLoc () const |
Returns the location of the ellipsis of a variadic function. | |
SourceRange | getSourceRange () const override LLVM_READONLY |
Source range that this declaration covers. | |
bool | hasBody (const FunctionDecl *&Definition) const |
Returns true if the function has a body. | |
bool | hasBody () const override |
Returns true if this Decl represents a declaration for a body of code, such as a function or method definition. | |
bool | hasTrivialBody () const |
Returns whether the function has a trivial body that does not require any specific codegen. | |
bool | isDefined (const FunctionDecl *&Definition, bool CheckForPendingFriendDefinition=false) const |
Returns true if the function has a definition that does not need to be instantiated. | |
bool | isDefined () const |
FunctionDecl * | getDefinition () |
Get the definition for this declaration. | |
const FunctionDecl * | getDefinition () const |
Stmt * | getBody (const FunctionDecl *&Definition) const |
Retrieve the body (definition) of the function. | |
Stmt * | getBody () const override |
getBody - If this Decl represents a declaration for a body of code, such as a function or method definition, this method returns the top-level Stmt* of that body. | |
bool | isThisDeclarationADefinition () const |
Returns whether this specific declaration of the function is also a definition that does not contain uninstantiated body. | |
bool | isThisDeclarationInstantiatedFromAFriendDefinition () const |
Determine whether this specific declaration of the function is a friend declaration that was instantiated from a function definition. | |
bool | doesThisDeclarationHaveABody () const |
Returns whether this specific declaration of the function has a body. | |
void | setBody (Stmt *B) |
void | setLazyBody (uint64_t Offset) |
void | setDefaultedOrDeletedInfo (DefaultedOrDeletedFunctionInfo *Info) |
DefaultedOrDeletedFunctionInfo * | getDefalutedOrDeletedInfo () const |
bool | isVariadic () const |
Whether this function is variadic. | |
bool | isVirtualAsWritten () const |
Whether this function is marked as virtual explicitly. | |
void | setVirtualAsWritten (bool V) |
State that this function is marked as virtual explicitly. | |
bool | isPureVirtual () const |
Whether this virtual function is pure, i.e. | |
void | setIsPureVirtual (bool P=true) |
bool | isLateTemplateParsed () const |
Whether this templated function will be late parsed. | |
void | setLateTemplateParsed (bool ILT=true) |
State that this templated function will be late parsed. | |
bool | isTrivial () const |
Whether this function is "trivial" in some specialized C++ senses. | |
void | setTrivial (bool IT) |
bool | isTrivialForCall () const |
void | setTrivialForCall (bool IT) |
bool | isDefaulted () const |
Whether this function is defaulted. | |
void | setDefaulted (bool D=true) |
bool | isExplicitlyDefaulted () const |
Whether this function is explicitly defaulted. | |
void | setExplicitlyDefaulted (bool ED=true) |
State that this function is explicitly defaulted. | |
SourceLocation | getDefaultLoc () const |
void | setDefaultLoc (SourceLocation NewLoc) |
bool | isUserProvided () const |
True if this method is user-declared and was not deleted or defaulted on its first declaration. | |
bool | isIneligibleOrNotSelected () const |
void | setIneligibleOrNotSelected (bool II) |
bool | hasImplicitReturnZero () const |
Whether falling off this function implicitly returns null/zero. | |
void | setHasImplicitReturnZero (bool IRZ) |
State that falling off this function implicitly returns null/zero. | |
bool | hasPrototype () const |
Whether this function has a prototype, either because one was explicitly written or because it was "inherited" by merging a declaration without a prototype with a declaration that has a prototype. | |
bool | hasWrittenPrototype () const |
Whether this function has a written prototype. | |
void | setHasWrittenPrototype (bool P=true) |
State that this function has a written prototype. | |
bool | hasInheritedPrototype () const |
Whether this function inherited its prototype from a previous declaration. | |
void | setHasInheritedPrototype (bool P=true) |
State that this function inherited its prototype from a previous declaration. | |
bool | isConstexpr () const |
Whether this is a (C++11) constexpr function or constexpr constructor. | |
void | setConstexprKind (ConstexprSpecKind CSK) |
ConstexprSpecKind | getConstexprKind () const |
bool | isConstexprSpecified () const |
bool | isConsteval () const |
void | setBodyContainsImmediateEscalatingExpressions (bool Set) |
bool | BodyContainsImmediateEscalatingExpressions () const |
bool | isImmediateEscalating () const |
bool | isImmediateFunction () const |
bool | instantiationIsPending () const |
Whether the instantiation of this function is pending. | |
void | setInstantiationIsPending (bool IC) |
State that the instantiation of this function is pending. | |
bool | usesSEHTry () const |
Indicates the function uses __try. | |
void | setUsesSEHTry (bool UST) |
bool | isDeleted () const |
Whether this function has been deleted. | |
bool | isDeletedAsWritten () const |
void | setDeletedAsWritten (bool D=true, StringLiteral *Message=nullptr) |
bool | isMain () const |
Determines whether this function is "main", which is the entry point into an executable program. | |
bool | isMSVCRTEntryPoint () const |
Determines whether this function is a MSVCRT user defined entry point. | |
bool | isReservedGlobalPlacementOperator () const |
Determines whether this operator new or delete is one of the reserved global placement operators: void *operator new(size_t, void *); void *operator new[](size_t, void *); void operator delete(void *, void *); void operator delete[](void *, void *); These functions have special behavior under [new.delete.placement]: These functions are reserved, a C++ program may not define functions that displace the versions in the Standard C++ library. | |
bool | isReplaceableGlobalAllocationFunction (std::optional< unsigned > *AlignmentParam=nullptr, bool *IsNothrow=nullptr) const |
Determines whether this function is one of the replaceable global allocation functions: void *operator new(size_t); void *operator new(size_t, const std::nothrow_t &) noexcept; void *operator new[](size_t); void *operator new[](size_t, const std::nothrow_t &) noexcept; void operator delete(void *) noexcept; void operator delete(void *, std::size_t) noexcept; [C++1y] void operator delete(void *, const std::nothrow_t &) noexcept; void operator delete[](void *) noexcept; void operator delete[](void *, std::size_t) noexcept; [C++1y] void operator delete[](void *, const std::nothrow_t &) noexcept; These functions have special behavior under C++1y [expr.new]: An implementation is allowed to omit a call to a replaceable global allocation function. | |
bool | isInlineBuiltinDeclaration () const |
Determine if this function provides an inline implementation of a builtin. | |
bool | isDestroyingOperatorDelete () const |
Determine whether this is a destroying operator delete. | |
LanguageLinkage | getLanguageLinkage () const |
Compute the language linkage. | |
bool | isExternC () const |
Determines whether this function is a function with external, C linkage. | |
bool | isInExternCContext () const |
Determines whether this function's context is, or is nested within, a C++ extern "C" linkage spec. | |
bool | isInExternCXXContext () const |
Determines whether this function's context is, or is nested within, a C++ extern "C++" linkage spec. | |
bool | isGlobal () const |
Determines whether this is a global function. | |
bool | isNoReturn () const |
Determines whether this function is known to be 'noreturn', through an attribute on its declaration or its type. | |
bool | hasSkippedBody () const |
True if the function was a definition but its body was skipped. | |
void | setHasSkippedBody (bool Skipped=true) |
bool | willHaveBody () const |
True if this function will eventually have a body, once it's fully parsed. | |
void | setWillHaveBody (bool V=true) |
bool | isMultiVersion () const |
True if this function is considered a multiversioned function. | |
void | setIsMultiVersion (bool V=true) |
Sets the multiversion state for this declaration and all of its redeclarations. | |
void | setFriendConstraintRefersToEnclosingTemplate (bool V=true) |
bool | FriendConstraintRefersToEnclosingTemplate () const |
bool | isMemberLikeConstrainedFriend () const |
Determine whether a function is a friend function that cannot be redeclared outside of its class, per C++ [temp.friend]p9. | |
MultiVersionKind | getMultiVersionKind () const |
Gets the kind of multiversioning attribute this declaration has. | |
bool | isCPUDispatchMultiVersion () const |
True if this function is a multiversioned dispatch function as a part of the cpu_specific/cpu_dispatch functionality. | |
bool | isCPUSpecificMultiVersion () const |
True if this function is a multiversioned processor specific function as a part of the cpu_specific/cpu_dispatch functionality. | |
bool | isTargetMultiVersion () const |
True if this function is a multiversioned dispatch function as a part of the target functionality. | |
bool | isTargetMultiVersionDefault () const |
True if this function is the default version of a multiversioned dispatch function as a part of the target functionality. | |
bool | isTargetClonesMultiVersion () const |
True if this function is a multiversioned dispatch function as a part of the target-clones functionality. | |
bool | isTargetVersionMultiVersion () const |
True if this function is a multiversioned dispatch function as a part of the target-version functionality. | |
void | getAssociatedConstraints (SmallVectorImpl< const Expr * > &AC) const |
Get the associated-constraints of this function declaration. | |
StringLiteral * | getDeletedMessage () const |
Get the message that indicates why this function was deleted. | |
void | setPreviousDeclaration (FunctionDecl *PrevDecl) |
FunctionDecl * | getCanonicalDecl () override |
Retrieves the "canonical" declaration of the given declaration. | |
const FunctionDecl * | getCanonicalDecl () const |
unsigned | getBuiltinID (bool ConsiderWrapperFunctions=false) const |
Returns a value indicating whether this function corresponds to a builtin function. | |
ArrayRef< ParmVarDecl * > | parameters () const |
MutableArrayRef< ParmVarDecl * > | parameters () |
bool | param_empty () const |
param_iterator | param_begin () |
param_iterator | param_end () |
param_const_iterator | param_begin () const |
param_const_iterator | param_end () const |
size_t | param_size () const |
unsigned | getNumParams () const |
Return the number of parameters this function must have based on its FunctionType. | |
const ParmVarDecl * | getParamDecl (unsigned i) const |
ParmVarDecl * | getParamDecl (unsigned i) |
void | setParams (ArrayRef< ParmVarDecl * > NewParamInfo) |
unsigned | getMinRequiredArguments () const |
Returns the minimum number of arguments needed to call this function. | |
unsigned | getMinRequiredExplicitArguments () const |
Returns the minimum number of non-object arguments needed to call this function. | |
bool | hasCXXExplicitFunctionObjectParameter () const |
unsigned | getNumNonObjectParams () const |
const ParmVarDecl * | getNonObjectParameter (unsigned I) const |
ParmVarDecl * | getNonObjectParameter (unsigned I) |
bool | hasOneParamOrDefaultArgs () const |
Determine whether this function has a single parameter, or multiple parameters where all but the first have default arguments. | |
FunctionTypeLoc | getFunctionTypeLoc () const |
Find the source location information for how the type of this function was written. | |
QualType | getReturnType () const |
SourceRange | getReturnTypeSourceRange () const |
Attempt to compute an informative source range covering the function return type. | |
SourceRange | getParametersSourceRange () const |
Attempt to compute an informative source range covering the function parameters, including the ellipsis of a variadic function. | |
QualType | getDeclaredReturnType () const |
Get the declared return type, which may differ from the actual return type if the return type is deduced. | |
ExceptionSpecificationType | getExceptionSpecType () const |
Gets the ExceptionSpecificationType as declared. | |
SourceRange | getExceptionSpecSourceRange () const |
Attempt to compute an informative source range covering the function exception specification, if any. | |
QualType | getCallResultType () const |
Determine the type of an expression that calls this function. | |
StorageClass | getStorageClass () const |
Returns the storage class as written in the source. | |
void | setStorageClass (StorageClass SClass) |
Sets the storage class as written in the source. | |
bool | isInlineSpecified () const |
Determine whether the "inline" keyword was specified for this function. | |
void | setInlineSpecified (bool I) |
Set whether the "inline" keyword was specified for this function. | |
bool | UsesFPIntrin () const |
Determine whether the function was declared in source context that requires constrained FP intrinsics. | |
void | setUsesFPIntrin (bool I) |
Set whether the function was declared in source context that requires constrained FP intrinsics. | |
void | setImplicitlyInline (bool I=true) |
Flag that this function is implicitly inline. | |
bool | isInlined () const |
Determine whether this function should be inlined, because it is either marked "inline" or "constexpr" or is a member function of a class that was defined in the class body. | |
bool | isInlineDefinitionExternallyVisible () const |
For an inline function definition in C, or for a gnu_inline function in C++, determine whether the definition will be externally visible. | |
bool | isMSExternInline () const |
The combination of the extern and inline keywords under MSVC forces the function to be required. | |
bool | doesDeclarationForceExternallyVisibleDefinition () const |
For a function declaration in C or C++, determine whether this declaration causes the definition to be externally visible. | |
bool | isStatic () const |
bool | isOverloadedOperator () const |
Whether this function declaration represents an C++ overloaded operator, e.g., "operator+". | |
OverloadedOperatorKind | getOverloadedOperator () const |
getOverloadedOperator - Which C++ overloaded operator this function represents, if any. | |
const IdentifierInfo * | getLiteralIdentifier () const |
getLiteralIdentifier - The literal suffix identifier this function represents, if any. | |
FunctionDecl * | getInstantiatedFromMemberFunction () const |
If this function is an instantiation of a member function of a class template specialization, retrieves the function from which it was instantiated. | |
TemplatedKind | getTemplatedKind () const |
What kind of templated function this is. | |
MemberSpecializationInfo * | getMemberSpecializationInfo () const |
If this function is an instantiation of a member function of a class template specialization, retrieves the member specialization information. | |
void | setInstantiationOfMemberFunction (FunctionDecl *FD, TemplateSpecializationKind TSK) |
Specify that this record is an instantiation of the member function FD. | |
void | setInstantiatedFromDecl (FunctionDecl *FD) |
Specify that this function declaration was instantiated from a FunctionDecl FD. | |
FunctionDecl * | getInstantiatedFromDecl () const |
FunctionTemplateDecl * | getDescribedFunctionTemplate () const |
Retrieves the function template that is described by this function declaration. | |
void | setDescribedFunctionTemplate (FunctionTemplateDecl *Template) |
bool | isFunctionTemplateSpecialization () const |
Determine whether this function is a function template specialization. | |
FunctionTemplateSpecializationInfo * | getTemplateSpecializationInfo () const |
If this function is actually a function template specialization, retrieve information about this function template specialization. | |
bool | isImplicitlyInstantiable () const |
Determines whether this function is a function template specialization or a member of a class template specialization that can be implicitly instantiated. | |
bool | isTemplateInstantiation () const |
Determines if the given function was instantiated from a function template. | |
FunctionDecl * | getTemplateInstantiationPattern (bool ForDefinition=true) const |
Retrieve the function declaration from which this function could be instantiated, if it is an instantiation (rather than a non-template or a specialization, for example). | |
FunctionTemplateDecl * | getPrimaryTemplate () const |
Retrieve the primary template that this function template specialization either specializes or was instantiated from. | |
const TemplateArgumentList * | getTemplateSpecializationArgs () const |
Retrieve the template arguments used to produce this function template specialization from the primary template. | |
const ASTTemplateArgumentListInfo * | getTemplateSpecializationArgsAsWritten () const |
Retrieve the template argument list as written in the sources, if any. | |
void | setFunctionTemplateSpecialization (FunctionTemplateDecl *Template, TemplateArgumentList *TemplateArgs, void *InsertPos, TemplateSpecializationKind TSK=TSK_ImplicitInstantiation, TemplateArgumentListInfo *TemplateArgsAsWritten=nullptr, SourceLocation PointOfInstantiation=SourceLocation()) |
Specify that this function declaration is actually a function template specialization. | |
void | setDependentTemplateSpecialization (ASTContext &Context, const UnresolvedSetImpl &Templates, const TemplateArgumentListInfo *TemplateArgs) |
Specifies that this function declaration is actually a dependent function template specialization. | |
DependentFunctionTemplateSpecializationInfo * | getDependentSpecializationInfo () const |
TemplateSpecializationKind | getTemplateSpecializationKind () const |
Determine what kind of template instantiation this function represents. | |
TemplateSpecializationKind | getTemplateSpecializationKindForInstantiation () const |
Determine the kind of template specialization this function represents for the purpose of template instantiation. | |
void | setTemplateSpecializationKind (TemplateSpecializationKind TSK, SourceLocation PointOfInstantiation=SourceLocation()) |
Determine what kind of template instantiation this function represents. | |
SourceLocation | getPointOfInstantiation () const |
Retrieve the (first) point of instantiation of a function template specialization or a member of a class template specialization. | |
bool | isOutOfLine () const override |
Determine whether this is or was instantiated from an out-of-line definition of a member function. | |
unsigned | getMemoryFunctionKind () const |
Identify a memory copying or setting function. | |
unsigned | getODRHash () |
Returns ODRHash of the function. | |
unsigned | getODRHash () const |
Returns cached ODRHash of the function. | |
FunctionEffectsRef | getFunctionEffects () const |
![]() | |
TypeSourceInfo * | getTypeSourceInfo () const |
void | setTypeSourceInfo (TypeSourceInfo *TI) |
SourceLocation | getInnerLocStart () const |
Return start of source range ignoring outer template declarations. | |
void | setInnerLocStart (SourceLocation L) |
SourceLocation | getOuterLocStart () const |
Return start of source range taking into account any outer template declarations. | |
SourceRange | getSourceRange () const override LLVM_READONLY |
Source range that this declaration covers. | |
SourceLocation | getBeginLoc () const LLVM_READONLY |
NestedNameSpecifier * | getQualifier () const |
Retrieve the nested-name-specifier that qualifies the name of this declaration, if it was present in the source. | |
NestedNameSpecifierLoc | getQualifierLoc () const |
Retrieve the nested-name-specifier (with source-location information) that qualifies the name of this declaration, if it was present in the source. | |
void | setQualifierInfo (NestedNameSpecifierLoc QualifierLoc) |
Expr * | getTrailingRequiresClause () |
Get the constraint-expression introduced by the trailing requires-clause in the function/member declaration, or null if no requires-clause was provided. | |
const Expr * | getTrailingRequiresClause () const |
void | setTrailingRequiresClause (Expr *TrailingRequiresClause) |
unsigned | getNumTemplateParameterLists () const |
TemplateParameterList * | getTemplateParameterList (unsigned index) const |
void | setTemplateParameterListsInfo (ASTContext &Context, ArrayRef< TemplateParameterList * > TPLists) |
SourceLocation | getTypeSpecStartLoc () const |
SourceLocation | getTypeSpecEndLoc () const |
![]() | |
QualType | getType () const |
void | setType (QualType newType) |
bool |