|
clang
5.0.0
|
Represents a C++ constructor within a class. More...
#include "clang/AST/DeclCXX.h"
Public Member Functions | |
| init_range | inits () |
| init_const_range | inits () const |
| init_iterator | init_begin () |
| Retrieve an iterator to the first initializer. More... | |
| init_const_iterator | init_begin () const |
| Retrieve an iterator to the first initializer. More... | |
| init_iterator | init_end () |
| Retrieve an iterator past the last initializer. More... | |
| init_const_iterator | init_end () const |
| Retrieve an iterator past the last initializer. More... | |
| init_reverse_iterator | init_rbegin () |
| init_const_reverse_iterator | init_rbegin () const |
| init_reverse_iterator | init_rend () |
| init_const_reverse_iterator | init_rend () const |
| unsigned | getNumCtorInitializers () const |
| Determine the number of arguments used to initialize the member or base. More... | |
| void | setNumCtorInitializers (unsigned numCtorInitializers) |
| void | setCtorInitializers (CXXCtorInitializer **Initializers) |
| bool | isExplicitSpecified () const |
| Whether this function is marked as explicit explicitly. More... | |
| bool | isExplicit () const |
| Whether this function is explicit. More... | |
| bool | isDelegatingConstructor () const |
| Determine whether this constructor is a delegating constructor. More... | |
| CXXConstructorDecl * | getTargetConstructor () const |
| When this constructor delegates to another, retrieve the target. More... | |
| bool | isDefaultConstructor () const |
| Whether this constructor is a default constructor (C++ [class.ctor]p5), which can be used to default-initialize a class of this type. More... | |
| bool | isCopyConstructor (unsigned &TypeQuals) const |
| Whether this constructor is a copy constructor (C++ [class.copy]p2, which can be used to copy the class. More... | |
| bool | isCopyConstructor () const |
| Whether this constructor is a copy constructor (C++ [class.copy]p2, which can be used to copy the class. More... | |
| bool | isMoveConstructor (unsigned &TypeQuals) const |
| Determine whether this constructor is a move constructor (C++11 [class.copy]p3), which can be used to move values of the class. More... | |
| bool | isMoveConstructor () const |
| Determine whether this constructor is a move constructor (C++11 [class.copy]p3), which can be used to move values of the class. More... | |
| bool | isCopyOrMoveConstructor (unsigned &TypeQuals) const |
| Determine whether this is a copy or move constructor. More... | |
| bool | isCopyOrMoveConstructor () const |
| Determine whether this a copy or move constructor. More... | |
| bool | isConvertingConstructor (bool AllowExplicit) const |
| Whether this constructor is a converting constructor (C++ [class.conv.ctor]), which can be used for user-defined conversions. More... | |
| bool | isSpecializationCopyingObject () const |
| Determine whether this is a member template specialization that would copy the object to itself. More... | |
| bool | isInheritingConstructor () const |
| Determine whether this is an implicit constructor synthesized to model a call to a constructor inherited from a base class. More... | |
| InheritedConstructor | getInheritedConstructor () const |
| Get the constructor that this inheriting constructor is based on. More... | |
| CXXConstructorDecl * | getCanonicalDecl () override |
| Retrieves the "canonical" declaration of the given declaration. More... | |
| const CXXConstructorDecl * | getCanonicalDecl () const |
Public Member Functions inherited from clang::CXXMethodDecl | |
| bool | isStatic () const |
| bool | isInstance () const |
| 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. More... | |
| const CXXMethodDecl * | getDevirtualizedMethod (const Expr *Base, bool IsAppleKext) const |
| bool | isUsualDeallocationFunction () 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. More... | |
| bool | isCopyAssignmentOperator () const |
| Determine whether this is a copy-assignment operator, regardless of whether it was declared implicitly or explicitly. More... | |
| bool | isMoveAssignmentOperator () const |
| Determine whether this is a move assignment operator. More... | |
| const CXXMethodDecl * | getCanonicalDecl () const |
| CXXMethodDecl * | getMostRecentDecl () |
| const CXXMethodDecl * | getMostRecentDecl () const |
| bool | isUserProvided () const |
| True if this method is user-declared and was not deleted or defaulted on its first declaration. More... | |
| 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 |
| Returns the parent of this method declaration, which is the class in which this method is defined. More... | |
| CXXRecordDecl * | getParent () |
| Returns the parent of this method declaration, which is the class in which this method is defined. More... | |
| QualType | getThisType (ASTContext &C) const |
Returns the type of the this pointer. More... | |
| unsigned | getTypeQualifiers () const |
| RefQualifierKind | getRefQualifier () const |
| Retrieve the ref-qualifier associated with this method. More... | |
| 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). More... | |
| CXXMethodDecl * | getCorrespondingMethodInClass (const CXXRecordDecl *RD, bool MayBeBase=false) |
Find the method in RD that corresponds to this one. More... | |
| const CXXMethodDecl * | getCorrespondingMethodInClass (const CXXRecordDecl *RD, bool MayBeBase=false) const |
Public Member Functions inherited from clang::FunctionDecl | |
| DeclarationNameInfo | getNameInfo () const |
| void | getNameForDiagnostic (raw_ostream &OS, const PrintingPolicy &Policy, bool Qualified) const override |
| getNameForDiagnostic - Appends a human-readable name for this declaration into the given stream. More... | |
| void | setRangeEnd (SourceLocation E) |
| SourceRange | getSourceRange () const override LLVM_READONLY |
| Source range that this declaration covers. More... | |
| bool | hasBody (const FunctionDecl *&Definition) const |
| Returns true if the function has a body (definition). More... | |
| bool | hasBody () const override |
Returns true if this Decl represents a declaration for a body of code, such as a function or method definition. More... | |
| bool | hasTrivialBody () const |
| hasTrivialBody - Returns whether the function has a trivial body that does not require any specific codegen. More... | |
| bool | isDefined (const FunctionDecl *&Definition) const |
| isDefined - Returns true if the function is defined at all, including a deleted definition. More... | |
| virtual bool | isDefined () const |
| FunctionDecl * | getDefinition () |
| Get the definition for this declaration. More... | |
| const FunctionDecl * | getDefinition () const |
| Stmt * | getBody (const FunctionDecl *&Definition) const |
| getBody - Retrieve the body (definition) of the function. More... | |
| 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. More... | |
| bool | isThisDeclarationADefinition () const |
| Returns whether this specific declaration of the function is also a definition that does not contain uninstantiated body. More... | |
| bool | doesThisDeclarationHaveABody () const |
| doesThisDeclarationHaveABody - Returns whether this specific declaration of the function has a body - that is, if it is a non- deleted definition. More... | |
| void | setBody (Stmt *B) |
| void | setLazyBody (uint64_t Offset) |
| bool | isVariadic () const |
| Whether this function is variadic. More... | |
| bool | isVirtualAsWritten () const |
| Whether this function is marked as virtual explicitly. More... | |
| void | setVirtualAsWritten (bool V) |
| bool | isPure () const |
| Whether this virtual function is pure, i.e. More... | |
| void | setPure (bool P=true) |
| bool | isLateTemplateParsed () const |
| Whether this templated function will be late parsed. More... | |
| void | setLateTemplateParsed (bool ILT=true) |
| bool | isTrivial () const |
| Whether this function is "trivial" in some specialized C++ senses. More... | |
| void | setTrivial (bool IT) |
| bool | isDefaulted () const |
| Whether this function is defaulted per C++0x. More... | |
| void | setDefaulted (bool D=true) |
| bool | isExplicitlyDefaulted () const |
| Whether this function is explicitly defaulted per C++0x. More... | |
| void | setExplicitlyDefaulted (bool ED=true) |
| bool | hasImplicitReturnZero () const |
| Whether falling off this function implicitly returns null/zero. More... | |
| void | setHasImplicitReturnZero (bool IRZ) |
| 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. More... | |
| bool | hasWrittenPrototype () const |
| bool | hasInheritedPrototype () const |
| Whether this function inherited its prototype from a previous declaration. More... | |
| void | setHasInheritedPrototype (bool P=true) |
| bool | isConstexpr () const |
| Whether this is a (C++11) constexpr function or constexpr constructor. More... | |
| void | setConstexpr (bool IC) |
| bool | instantiationIsPending () const |
| Whether the instantiation of this function is pending. More... | |
| void | setInstantiationIsPending (bool IC) |
| bool | usesSEHTry () const |
| Indicates the function uses __try. More... | |
| void | setUsesSEHTry (bool UST) |
| bool | isDeleted () const |
| Whether this function has been deleted. More... | |
| bool | isDeletedAsWritten () const |
| void | setDeletedAsWritten (bool D=true) |
| bool | isMain () const |
| Determines whether this function is "main", which is the entry point into an executable program. More... | |
| bool | isMSVCRTEntryPoint () const |
| Determines whether this function is a MSVCRT user defined entry point. More... | |
| 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. More... | |
| bool | isReplaceableGlobalAllocationFunction (bool *IsAligned=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. More... | |
| LanguageLinkage | getLanguageLinkage () const |
| Compute the language linkage. More... | |
| bool | isExternC () const |
| Determines whether this function is a function with external, C linkage. More... | |
| bool | isInExternCContext () const |
| Determines whether this function's context is, or is nested within, a C++ extern "C" linkage spec. More... | |
| bool | isInExternCXXContext () const |
| Determines whether this function's context is, or is nested within, a C++ extern "C++" linkage spec. More... | |
| bool | isGlobal () const |
| Determines whether this is a global function. More... | |
| bool | isNoReturn () const |
| Determines whether this function is known to be 'noreturn', through an attribute on its declaration or its type. More... | |
| bool | hasSkippedBody () const |
| True if the function was a definition but its body was skipped. More... | |
| void | setHasSkippedBody (bool Skipped=true) |
| bool | willHaveBody () const |
| True if this function will eventually have a body, once it's fully parsed. More... | |
| void | setWillHaveBody (bool V=true) |
| void | setPreviousDeclaration (FunctionDecl *PrevDecl) |
| const FunctionDecl * | getCanonicalDecl () const |
| unsigned | getBuiltinID () const |
| Returns a value indicating whether this function corresponds to a builtin function. More... | |
| 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 |
| getNumParams - Return the number of parameters this function must have based on its FunctionType. More... | |
| const ParmVarDecl * | getParamDecl (unsigned i) const |
| ParmVarDecl * | getParamDecl (unsigned i) |
| void | setParams (ArrayRef< ParmVarDecl * > NewParamInfo) |
| unsigned | getMinRequiredArguments () const |
| getMinRequiredArguments - Returns the minimum number of arguments needed to call this function. More... | |
| QualType | getReturnType () const |
| SourceRange | getReturnTypeSourceRange () const |
| Attempt to compute an informative source range covering the function return type. More... | |
| SourceRange | getExceptionSpecSourceRange () const |
| Attempt to compute an informative source range covering the function exception specification, if any. More... | |
| QualType | getCallResultType () const |
| Determine the type of an expression that calls this function. More... | |
| const Attr * | getUnusedResultAttr () const |
| Returns the WarnUnusedResultAttr that is either declared on this function, or its return type declaration. More... | |
| bool | hasUnusedResultAttr () const |
| Returns true if this function or its return type has the warn_unused_result attribute. More... | |
| StorageClass | getStorageClass () const |
| Returns the storage class as written in the source. More... | |
| bool | isInlineSpecified () const |
| Determine whether the "inline" keyword was specified for this function. More... | |
| void | setInlineSpecified (bool I) |
| Set whether the "inline" keyword was specified for this function. More... | |
| void | setImplicitlyInline () |
| Flag that this function is implicitly inline. More... | |
| 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. More... | |
| 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. More... | |
| bool | isMSExternInline () const |
| The combination of the extern and inline keywords under MSVC forces the function to be required. More... | |
| bool | doesDeclarationForceExternallyVisibleDefinition () const |
| For a function declaration in C or C++, determine whether this declaration causes the definition to be externally visible. More... | |
| bool | isOverloadedOperator () const |
| isOverloadedOperator - Whether this function declaration represents an C++ overloaded operator, e.g., "operator+". More... | |
| OverloadedOperatorKind | getOverloadedOperator () const |
| getOverloadedOperator - Which C++ overloaded operator this function represents, if any. More... | |
| const IdentifierInfo * | getLiteralIdentifier () const |
| getLiteralIdentifier - The literal suffix identifier this function represents, if any. More... | |
| 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. More... | |
| TemplatedKind | getTemplatedKind () const |
| What kind of templated function this is. More... | |
| MemberSpecializationInfo * | getMemberSpecializationInfo () const |
| If this function is an instantiation of a member function of a class template specialization, retrieves the member specialization information. More... | |
| void | setInstantiationOfMemberFunction (FunctionDecl *FD, TemplateSpecializationKind TSK) |
| Specify that this record is an instantiation of the member function FD. More... | |
| FunctionTemplateDecl * | getDescribedFunctionTemplate () const |
| Retrieves the function template that is described by this function declaration. More... | |
| void | setDescribedFunctionTemplate (FunctionTemplateDecl *Template) |
| bool | isFunctionTemplateSpecialization () const |
| Determine whether this function is a function template specialization. More... | |
| FunctionDecl * | getClassScopeSpecializationPattern () const |
| Retrieve the class scope template pattern that this function template specialization is instantiated from. More... | |
| FunctionTemplateSpecializationInfo * | getTemplateSpecializationInfo () const |
| If this function is actually a function template specialization, retrieve information about this function template specialization. More... | |
| 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. More... | |
| bool | isTemplateInstantiation () const |
| Determines if the given function was instantiated from a function template. More... | |
| FunctionDecl * | getTemplateInstantiationPattern () 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). More... | |
| FunctionTemplateDecl * | getPrimaryTemplate () const |
| Retrieve the primary template that this function template specialization either specializes or was instantiated from. More... | |
| const TemplateArgumentList * | getTemplateSpecializationArgs () const |
| Retrieve the template arguments used to produce this function template specialization from the primary template. More... | |
| const ASTTemplateArgumentListInfo * | getTemplateSpecializationArgsAsWritten () const |
| Retrieve the template argument list as written in the sources, if any. More... | |
| void | setFunctionTemplateSpecialization (FunctionTemplateDecl *Template, const TemplateArgumentList *TemplateArgs, void *InsertPos, TemplateSpecializationKind TSK=TSK_ImplicitInstantiation, const TemplateArgumentListInfo *TemplateArgsAsWritten=nullptr, SourceLocation PointOfInstantiation=SourceLocation()) |
| Specify that this function declaration is actually a function template specialization. More... | |
| void | setDependentTemplateSpecialization (ASTContext &Context, const UnresolvedSetImpl &Templates, const TemplateArgumentListInfo &TemplateArgs) |
| Specifies that this function declaration is actually a dependent function template specialization. More... | |
| DependentFunctionTemplateSpecializationInfo * | getDependentSpecializationInfo () const |
| TemplateSpecializationKind | getTemplateSpecializationKind () const |
| Determine what kind of template instantiation this function represents. More... | |
| void | setTemplateSpecializationKind (TemplateSpecializationKind TSK, SourceLocation PointOfInstantiation=SourceLocation()) |
| Determine what kind of template instantiation this function represents. More... | |
| SourceLocation | getPointOfInstantiation () const |
| Retrieve the (first) point of instantiation of a function template specialization or a member of a class template specialization. More... | |
| bool | isOutOfLine () const override |
| Determine whether this is or was instantiated from an out-of-line definition of a member function. More... | |
| unsigned | getMemoryFunctionKind () const |
| Identify a memory copying or setting function. More... | |
Public Member Functions inherited from clang::DeclaratorDecl | |
| TypeSourceInfo * | getTypeSourceInfo () const |
| void | setTypeSourceInfo (TypeSourceInfo *TI) |
| SourceLocation | getInnerLocStart () const |
| getInnerLocStart - Return SourceLocation representing start of source range ignoring outer template declarations. More... | |
| void | setInnerLocStart (SourceLocation L) |
| SourceLocation | getOuterLocStart () const |
| getOuterLocStart - Return SourceLocation representing start of source range taking into account any outer template declarations. More... | |
| SourceLocation | getLocStart () 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. More... | |
| 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. More... | |
| void | setQualifierInfo (NestedNameSpecifierLoc QualifierLoc) |
| unsigned | getNumTemplateParameterLists () const |
| TemplateParameterList * | getTemplateParameterList (unsigned index) const |
| void | setTemplateParameterListsInfo (ASTContext &Context, ArrayRef< TemplateParameterList * > TPLists) |
| SourceLocation | getTypeSpecStartLoc () const |
Public Member Functions inherited from clang::ValueDecl | |
| QualType | getType () const |
| void | setType (QualType newType) |
| bool | isWeak () const |
| Determine whether this symbol is weakly-imported, or declared with the weak or weak-ref attr. More... | |
Public Member Functions inherited from clang::NamedDecl | |
| 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... | |
| virtual 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 |
| 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 | 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 |
Public Member Functions inherited from clang::Decl | |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| SourceLocation | getLocation () const |
| void | setLocation (SourceLocation L) |
| Kind | getKind () const |
| const char * | getDeclKindName () const |
| Decl * | getNextDeclInContext () |
| const Decl * | getNextDeclInContext () const |
| DeclContext * | getDeclContext () |
| const DeclContext * | getDeclContext () const |
| Decl * | getNonClosureContext () |
| Find the innermost non-closure ancestor of this declaration, walking up through blocks, lambdas, etc. More... | |
| const Decl * | getNonClosureContext () const |
| TranslationUnitDecl * | getTranslationUnitDecl () |
| const TranslationUnitDecl * | getTranslationUnitDecl () const |
| bool | isInAnonymousNamespace () const |
| bool | isInStdNamespace () const |
| ASTContext & | getASTContext () const LLVM_READONLY |
| void | setAccess (AccessSpecifier AS) |
| AccessSpecifier | getAccess () const |
| AccessSpecifier | getAccessUnsafe () const |
| Retrieve the access specifier for this declaration, even though it may not yet have been properly set. More... | |
| bool | hasAttrs () const |
| void | setAttrs (const AttrVec &Attrs) |
| AttrVec & | getAttrs () |
| const AttrVec & | getAttrs () const |
| void | dropAttrs () |
| void | addAttr (Attr *A) |
| attr_range | attrs () const |
| attr_iterator | attr_begin () const |
| attr_iterator | attr_end () const |
| template<typename T > | |
| void | dropAttr () |
| template<typename T > | |
| llvm::iterator_range < specific_attr_iterator< T > > | specific_attrs () const |
| template<typename T > | |
| specific_attr_iterator< T > | specific_attr_begin () const |
| template<typename T > | |
| specific_attr_iterator< T > | specific_attr_end () const |
| template<typename T > | |
| T * | getAttr () const |
| template<typename T > | |
| bool | hasAttr () const |
| unsigned | getMaxAlignment () const |
| getMaxAlignment - return the maximum alignment specified by attributes on this decl, 0 if there are none. More... | |
| void | setInvalidDecl (bool Invalid=true) |
| setInvalidDecl - Indicates the Decl had a semantic error. More... | |
| bool | isInvalidDecl () const |
| bool | isImplicit () const |
| isImplicit - Indicates whether the declaration was implicitly generated by the implementation. More... | |
| void | setImplicit (bool I=true) |
| bool | isUsed (bool CheckUsedAttr=true) const |
| Whether any (re-)declaration of the entity was used, meaning that a definition is required. More... | |
| void | setIsUsed () |
| Set whether the declaration is used, in the sense of odr-use. More... | |
| void | markUsed (ASTContext &C) |
| Mark the declaration used, in the sense of odr-use. More... | |
| bool | isReferenced () const |
| Whether any declaration of this entity was referenced. More... | |
| bool | isThisDeclarationReferenced () const |
| Whether this declaration was referenced. More... | |
| void | setReferenced (bool R=true) |
| bool | isTopLevelDeclInObjCContainer () const |
| Whether this declaration is a top-level declaration (function, global variable, etc.) that is lexically inside an objc container definition. More... | |
| void | setTopLevelDeclInObjCContainer (bool V=true) |
| ExternalSourceSymbolAttr * | getExternalSourceSymbolAttr () const |
| Looks on this and related declarations for an applicable external source symbol attribute. More... | |
| bool | isModulePrivate () const |
| Whether this declaration was marked as being private to the module in which it was defined. More... | |
| bool | isExported () const |
| Whether this declaration is exported (by virtue of being lexically within an ExportDecl or by being a NamespaceDecl). More... | |
| bool | hasDefiningAttr () const |
| Return true if this declaration has an attribute which acts as definition of the entity, such as 'alias' or 'ifunc'. More... | |
| const Attr * | getDefiningAttr () const |
| Return this declaration's defining attribute if it has one. More... | |
| AvailabilityResult | getAvailability (std::string *Message=nullptr, VersionTuple EnclosingVersion=VersionTuple()) const |
| Determine the availability of the given declaration. More... | |
| VersionTuple | getVersionIntroduced () const |
| Retrieve the version of the target platform in which this declaration was introduced. More... | |
| bool | isDeprecated (std::string *Message=nullptr) const |
| Determine whether this declaration is marked 'deprecated'. More... | |
| bool | isUnavailable (std::string *Message=nullptr) const |
| Determine whether this declaration is marked 'unavailable'. More... | |
| bool | isWeakImported () const |
| Determine whether this is a weak-imported symbol. More... | |
| bool | canBeWeakImported (bool &IsDefinition) const |
| Determines whether this symbol can be weak-imported, e.g., whether it would be well-formed to add the weak_import attribute. More... | |
| bool | isFromASTFile () const |
| Determine whether this declaration came from an AST file (such as a precompiled header or module) rather than having been parsed. More... | |
| unsigned | getGlobalID () const |
| Retrieve the global declaration ID associated with this declaration, which specifies where this Decl was loaded from. More... | |
| unsigned | getOwningModuleID () const |
| Retrieve the global ID of the module that owns this particular declaration. More... | |
| Module * | getImportedOwningModule () const |
| Get the imported owning module, if this decl is from an imported (non-local) module. More... | |
| Module * | getLocalOwningModule () const |
| Get the local owning module, if known. More... | |
| void | setLocalOwningModule (Module *M) |
| bool | hasOwningModule () const |
| Is this declaration owned by some module? More... | |
| Module * | getOwningModule () const |
| Get the module that owns this declaration. More... | |
| bool | isHidden () const |
| Determine whether this declaration might be hidden from name lookup. More... | |
| void | setVisibleDespiteOwningModule () |
| Set that this declaration is globally visible, even if it came from a module that is not visible. More... | |
| ModuleOwnershipKind | getModuleOwnershipKind () const |
| Get the kind of module ownership for this declaration. More... | |
| void | setModuleOwnershipKind (ModuleOwnershipKind MOK) |
| Set whether this declaration is hidden from name lookup. More... | |
| unsigned | getIdentifierNamespace () const |
| bool | isInIdentifierNamespace (unsigned NS) const |
| bool | hasTagIdentifierNamespace () const |
| DeclContext * | getLexicalDeclContext () |
| getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC). More... | |
| const DeclContext * | getLexicalDeclContext () const |
| void | setDeclContext (DeclContext *DC) |
| setDeclContext - Set both the semantic and lexical DeclContext to DC. More... | |
| void | setLexicalDeclContext (DeclContext *DC) |
| bool | isDefinedOutsideFunctionOrMethod () const |
| isDefinedOutsideFunctionOrMethod - This predicate returns true if this scoped decl is defined outside the current function or method. More... | |
| bool | isLexicallyWithinFunctionOrMethod () const |
| Returns true if this declaration lexically is inside a function. More... | |
| const DeclContext * | getParentFunctionOrMethod () const |
| If this decl is defined inside a function/method/block it returns the corresponding DeclContext, otherwise it returns null. More... | |
| DeclContext * | getParentFunctionOrMethod () |
| const Decl * | getCanonicalDecl () const |
| bool | isCanonicalDecl () const |
| Whether this particular Decl is a canonical one. 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 |
| Decl * | getPreviousDecl () |
| Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. More... | |
| const Decl * | getPreviousDecl () const |
| Retrieve the most recent declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. More... | |
| bool | isFirstDecl () const |
| True if this is the first declaration in its redeclaration chain. More... | |
| Decl * | getMostRecentDecl () |
| Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). More... | |
| const Decl * | getMostRecentDecl () const |
| Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). More... | |
| SourceLocation | getBodyRBrace () const |
| getBodyRBrace - Gets the right brace of the body, if a body exists. More... | |
| bool | isTemplateParameter () const |
| isTemplateParameter - Determines whether this declaration is a template parameter. More... | |
| bool | isTemplateParameterPack () const |
| isTemplateParameter - Determines whether this declaration is a template parameter pack. More... | |
| bool | isParameterPack () const |
| Whether this declaration is a parameter pack. More... | |
| bool | isTemplateDecl () const |
| returns true if this declaration is a template More... | |
| bool | isFunctionOrFunctionTemplate () const |
| Whether this declaration is a function or function template. More... | |
| TemplateDecl * | getDescribedTemplate () const |
| If this is a declaration that describes some template, this method returns that template declaration. More... | |
| FunctionDecl * | getAsFunction () LLVM_READONLY |
| Returns the function itself, or the templated function if this is a function template. More... | |
| const FunctionDecl * | getAsFunction () const |
| void | setLocalExternDecl () |
| Changes the namespace of this declaration to reflect that it's a function-local extern declaration. More... | |
| bool | isLocalExternDecl () |
| Determine whether this is a block-scope declaration with linkage. More... | |
| void | setObjectOfFriendDecl (bool PerformFriendInjection=false) |
| Changes the namespace of this declaration to reflect that it's the object of a friend declaration. More... | |
| FriendObjectKind | getFriendObjectKind () const |
| Determines whether this declaration is the object of a friend declaration and, if so, what kind. More... | |
| void | setNonMemberOperator () |
| Specifies that this declaration is a C++ overloaded non-member. More... | |
| void | print (raw_ostream &Out, unsigned Indentation=0, bool PrintInstantiation=false) const |
| void | print (raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0, bool PrintInstantiation=false) const |
| void | dump () const |
| void | dumpColor () const |
| void | dump (raw_ostream &Out, bool Deserialize=false) const |
| const FunctionType * | getFunctionType (bool BlocksToo=true) const |
| Looks through the Decl's underlying type to extract a FunctionType when possible. More... | |
Public Member Functions inherited from clang::DeclContext | |
| ~DeclContext () | |
| Decl::Kind | getDeclKind () const |
| const char * | getDeclKindName () const |
| DeclContext * | getParent () |
| getParent - Returns the containing DeclContext. More... | |
| const DeclContext * | getParent () const |
| DeclContext * | getLexicalParent () |
| getLexicalParent - Returns the containing lexical DeclContext. More... | |
| const DeclContext * | getLexicalParent () const |
| DeclContext * | getLookupParent () |
| Find the parent context of this context that will be used for unqualified name lookup. More... | |
| const DeclContext * | getLookupParent () const |
| ASTContext & | getParentASTContext () const |
| bool | isClosure () const |
| bool | isObjCContainer () const |
| bool | isFunctionOrMethod () const |
| bool | isLookupContext () const |
| Test whether the context supports looking up names. More... | |
| bool | isFileContext () const |
| bool | isTranslationUnit () const |
| bool | isRecord () const |
| bool | isNamespace () const |
| bool | isStdNamespace () const |
| bool | isInlineNamespace () const |
| bool | isDependentContext () const |
| Determines whether this context is dependent on a template parameter. More... | |
| bool | isTransparentContext () const |
| isTransparentContext - Determines whether this context is a "transparent" context, meaning that the members declared in this context are semantically declared in the nearest enclosing non-transparent (opaque) context but are lexically declared in this context. More... | |
| bool | isExternCContext () const |
| Determines whether this context or some of its ancestors is a linkage specification context that specifies C linkage. More... | |
| const LinkageSpecDecl * | getExternCContext () const |
| Retrieve the nearest enclosing C linkage specification context. More... | |
| bool | isExternCXXContext () const |
| Determines whether this context or some of its ancestors is a linkage specification context that specifies C++ linkage. More... | |
| bool | Equals (const DeclContext *DC) const |
| Determine whether this declaration context is equivalent to the declaration context DC. More... | |
| bool | Encloses (const DeclContext *DC) const |
| Determine whether this declaration context encloses the declaration context DC. More... | |
| Decl * | getNonClosureAncestor () |
| Find the nearest non-closure ancestor of this context, i.e. More... | |
| const Decl * | getNonClosureAncestor () const |
| DeclContext * | getPrimaryContext () |
| getPrimaryContext - There may be many different declarations of the same entity (including forward declarations of classes, multiple definitions of namespaces, etc.), each with a different set of declarations. More... | |
| const DeclContext * | getPrimaryContext () const |
| DeclContext * | getRedeclContext () |
| getRedeclContext - Retrieve the context in which an entity conflicts with other entities of the same name, or where it is a redeclaration if the two entities are compatible. More... | |
| const DeclContext * | getRedeclContext () const |
| DeclContext * | getEnclosingNamespaceContext () |
| Retrieve the nearest enclosing namespace context. More... | |
| const DeclContext * | getEnclosingNamespaceContext () const |
| RecordDecl * | getOuterLexicalRecordContext () |
| Retrieve the outermost lexically enclosing record context. More... | |
| const RecordDecl * | getOuterLexicalRecordContext () const |
| bool | InEnclosingNamespaceSetOf (const DeclContext *NS) const |
| Test if this context is part of the enclosing namespace set of the context NS, as defined in C++0x [namespace.def]p9. More... | |
| void | collectAllContexts (SmallVectorImpl< DeclContext * > &Contexts) |
| Collects all of the declaration contexts that are semantically connected to this declaration context. More... | |
| decl_range | decls () const |
| decls_begin/decls_end - Iterate over the declarations stored in this context. More... | |
| decl_iterator | decls_begin () const |
| decl_iterator | decls_end () const |
| bool | decls_empty () const |
| decl_range | noload_decls () const |
| noload_decls_begin/end - Iterate over the declarations stored in this context that are currently loaded; don't attempt to retrieve anything from an external source. More... | |
| decl_iterator | noload_decls_begin () const |
| decl_iterator | noload_decls_end () const |
| void | addDecl (Decl *D) |
| Add the declaration D into this context. More... | |
| void | addDeclInternal (Decl *D) |
| Add the declaration D into this context, but suppress searches for external declarations with the same name. More... | |
| void | addHiddenDecl (Decl *D) |
| Add the declaration D to this context without modifying any lookup tables. More... | |
| void | removeDecl (Decl *D) |
| Removes a declaration from this context. More... | |
| bool | containsDecl (Decl *D) const |
| Checks whether a declaration is in this context. More... | |
| lookup_result | lookup (DeclarationName Name) const |
| lookup - Find the declarations (if any) with the given Name in this context. More... | |
| lookup_result | noload_lookup (DeclarationName Name) |
| Find the declarations with the given name that are visible within this context; don't attempt to retrieve anything from an external source. More... | |
| void | localUncachedLookup (DeclarationName Name, SmallVectorImpl< NamedDecl * > &Results) |
| A simplistic name lookup mechanism that performs name lookup into this declaration context without consulting the external source. More... | |
| void | makeDeclVisibleInContext (NamedDecl *D) |
| Makes a declaration visible within this context. More... | |
| lookups_range | lookups () const |
| lookups_range | noload_lookups () const |
| all_lookups_iterator | lookups_begin () const |
| Iterators over all possible lookups within this context. More... | |
| all_lookups_iterator | lookups_end () const |
| all_lookups_iterator | noload_lookups_begin () const |
| Iterators over all possible lookups within this context that are currently loaded; don't attempt to retrieve anything from an external source. More... | |
| all_lookups_iterator | noload_lookups_end () const |
| udir_range | using_directives () const |
| Returns iterator range [First, Last) of UsingDirectiveDecls stored within this context. More... | |
| ddiag_range | ddiags () const |
| void | setMustBuildLookupTable () |
| Mark that there are external lexical declarations that we need to include in our lookup table (and that are not available as external visible lookups). More... | |
| StoredDeclsMap * | getLookupPtr () const |
| Retrieve the internal representation of the lookup structure. More... | |
| StoredDeclsMap * | buildLookup () |
| Ensure the lookup structure is fully-built and return it. More... | |
| bool | hasExternalLexicalStorage () const |
| Whether this DeclContext has external storage containing additional declarations that are lexically in this context. More... | |
| void | setHasExternalLexicalStorage (bool ES=true) |
| State whether this DeclContext has external storage for declarations lexically in this context. More... | |
| bool | hasExternalVisibleStorage () const |
| Whether this DeclContext has external storage containing additional declarations that are visible in this context. More... | |
| void | setHasExternalVisibleStorage (bool ES=true) |
| State whether this DeclContext has external storage for declarations visible in this context. More... | |
| bool | isDeclInLexicalTraversal (const Decl *D) const |
| Determine whether the given declaration is stored in the list of declarations lexically within this context. More... | |
| bool | setUseQualifiedLookup (bool use=true) |
| bool | shouldUseQualifiedLookup () const |
| void | dumpDeclContext () const |
| void | dumpLookups () const |
| void | dumpLookups (llvm::raw_ostream &OS, bool DumpDecls=false, bool Deserialize=false) const |
Public Member Functions inherited from clang::Redeclarable< FunctionDecl > | |
| Redeclarable (const ASTContext &Ctx) | |
| FunctionDecl * | getPreviousDecl () |
| Return the previous declaration of this declaration or NULL if this is the first declaration. More... | |
| const FunctionDecl * | getPreviousDecl () const |
| FunctionDecl * | getFirstDecl () |
| Return the first declaration of this declaration or itself if this is the only declaration. More... | |
| const FunctionDecl * | 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... | |
| FunctionDecl * | getMostRecentDecl () |
| Returns the most recent (re)declaration of this declaration. More... | |
| const FunctionDecl * | getMostRecentDecl () const |
| Returns the most recent (re)declaration of this declaration. More... | |
| void | setPreviousDecl (FunctionDecl *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 |
Public Attributes | |
| friend | TrailingObjects |
Friends | |
| class | ASTDeclReader |
| class | ASTDeclWriter |
Additional Inherited Members | |
Protected Types inherited from clang::FunctionDecl | |
| typedef Redeclarable < FunctionDecl > | redeclarable_base |
Protected Member Functions inherited from clang::CXXMethodDecl | |
| CXXMethodDecl (Kind DK, ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc, const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo, StorageClass SC, bool isInline, bool isConstexpr, SourceLocation EndLocation) | |
Protected Member Functions inherited from clang::FunctionDecl | |
| FunctionDecl (Kind DK, ASTContext &C, DeclContext *DC, SourceLocation StartLoc, const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo, StorageClass S, bool isInlineSpecified, bool isConstexprSpecified) | |
| FunctionDecl * | getNextRedeclarationImpl () override |
| Returns the next redeclaration or itself if this is the only decl. More... | |
| FunctionDecl * | getPreviousDeclImpl () override |
| Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain. More... | |
| FunctionDecl * | getMostRecentDeclImpl () override |
| Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain. More... | |
Protected Member Functions inherited from clang::DeclaratorDecl | |
| DeclaratorDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N, QualType T, TypeSourceInfo *TInfo, SourceLocation StartL) | |
Protected Member Functions inherited from clang::ValueDecl | |
| ValueDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N, QualType T) | |
Protected Member Functions inherited from clang::NamedDecl | |
| NamedDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N) | |
Protected Member Functions inherited from clang::Decl | |
| void * | operator new (std::size_t Size, const ASTContext &Ctx, unsigned ID, std::size_t Extra=0) |
| Allocate memory for a deserialized declaration. More... | |
| void * | operator new (std::size_t Size, const ASTContext &Ctx, DeclContext *Parent, std::size_t Extra=0) |
| Allocate memory for a non-deserialized declaration. More... | |
| Decl (Kind DK, DeclContext *DC, SourceLocation L) | |
| Decl (Kind DK, EmptyShell Empty) | |
| virtual | ~Decl () |
| void | updateOutOfDate (IdentifierInfo &II) const |
| Update a potentially out-of-date declaration. More... | |
| Linkage | getCachedLinkage () const |
| void | setCachedLinkage (Linkage L) const |
| bool | hasCachedLinkage () const |
| void | setModulePrivate () |
| Specify that this declaration was marked as being private to the module in which it was defined. More... | |
| void | setOwningModuleID (unsigned ID) |
| Set the owning module ID. More... | |
| bool | hasLocalOwningModuleStorage () const |
| ASTMutationListener * | getASTMutationListener () const |
Protected Member Functions inherited from clang::DeclContext | |
| DeclContext (Decl::Kind K) | |
Protected Member Functions inherited from clang::Redeclarable< FunctionDecl > | |
| FunctionDecl * | getNextRedeclaration () const |
Static Protected Member Functions inherited from clang::DeclContext | |
| static std::pair< Decl *, Decl * > | BuildDeclChain (ArrayRef< Decl * > Decls, bool FieldsAlreadyLoaded) |
| Build up a chain of declarations. More... | |
Static Protected Member Functions inherited from clang::Redeclarable< FunctionDecl > | |
| static DeclLink | PreviousDeclLink (FunctionDecl *D) |
| static DeclLink | LatestDeclLink (const ASTContext &Ctx) |
Protected Attributes inherited from clang::FunctionDecl | |
| unsigned | IsExplicitSpecified: 1 |
Protected Attributes inherited from clang::Decl | |
| llvm::PointerIntPair< Decl *, 2, ModuleOwnershipKind > | NextInContextAndBits |
| The next declaration within the same lexical DeclContext. More... | |
| unsigned | Access: 2 |
| Access - Used by C++ decls for the access specifier. More... | |
| unsigned | FromASTFile: 1 |
| Whether this declaration was loaded from an AST file. More... | |
| unsigned | IdentifierNamespace: 13 |
| IdentifierNamespace - This specifies what IDNS_* namespace this lives in. More... | |
| unsigned | CacheValidAndLinkage: 3 |
| If 0, we have not computed the linkage of this declaration. More... | |
Protected Attributes inherited from clang::DeclContext | |
| Decl * | FirstDecl |
| FirstDecl - The first declaration stored within this declaration context. More... | |
| Decl * | LastDecl |
| LastDecl - The last declaration stored within this declaration context. More... | |
Protected Attributes inherited from clang::Redeclarable< FunctionDecl > | |
| DeclLink | RedeclLink |
| Points to the next redeclaration in the chain. More... | |
| FunctionDecl * | First |
Represents a C++ constructor within a class.
For example:
| typedef CXXCtorInitializer* const* clang::CXXConstructorDecl::init_const_iterator |
| typedef llvm::iterator_range<init_const_iterator> clang::CXXConstructorDecl::init_const_range |
| typedef std::reverse_iterator<init_const_iterator> clang::CXXConstructorDecl::init_const_reverse_iterator |
| typedef llvm::iterator_range<init_iterator> clang::CXXConstructorDecl::init_range |
| typedef std::reverse_iterator<init_iterator> clang::CXXConstructorDecl::init_reverse_iterator |
Definition at line 2533 of file DeclCXX.h.
References classofKind(), and clang::Decl::getKind().
|
static |
Definition at line 1979 of file DeclCXX.cpp.
References AttributeLangSupport::C, clang::DeclarationName::CXXConstructorName, clang::DeclarationNameInfo::getName(), and clang::DeclarationName::getNameKind().
Referenced by CreateNewFunctionDecl(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitMoveConstructor(), clang::Sema::findInheritingConstructor(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), and clang::ASTNodeImporter::VisitFunctionDecl().
|
static |
Definition at line 1967 of file DeclCXX.cpp.
References AttributeLangSupport::C, ID, and clang::Result.
|
inlineoverridevirtual |
Retrieves the "canonical" declaration of the given declaration.
Reimplemented from clang::CXXMethodDecl.
Definition at line 2525 of file DeclCXX.h.
References clang::FunctionDecl::getCanonicalDecl().
Referenced by DelegatingCycleHelper(), getCanonicalDecl(), isExplicit(), and TryValueInitialization().
|
inline |
Definition at line 2528 of file DeclCXX.h.
References getCanonicalDecl().
|
inline |
Get the constructor that this inheriting constructor is based on.
Definition at line 2520 of file DeclCXX.h.
Referenced by CheckConstexprFunction(), clang::Sema::DefineInheritingConstructor(), clang::InitializationSequence::Diagnose(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), isSameEntity(), clang::Sema::NoteDeletedInheritingConstructor(), and clang::ASTDeclWriter::VisitCXXConstructorDecl().
|
inline |
Determine the number of arguments used to initialize the member or base.
Definition at line 2422 of file DeclCXX.h.
Referenced by isDelegatingConstructor().
| CXXConstructorDecl * CXXConstructorDecl::getTargetConstructor | ( | ) | const |
When this constructor delegates to another, retrieve the target.
Definition at line 2000 of file DeclCXX.cpp.
References E, init_begin(), and isDelegatingConstructor().
Referenced by DelegatingCycleHelper().
|
inline |
Retrieve an iterator to the first initializer.
Definition at line 2386 of file DeclCXX.h.
Referenced by DelegatingCycleHelper(), clang::CodeGen::CodeGenFunction::EmitCtorPrologue(), clang::CodeGen::CodeGenFunction::EmitDelegatingCXXConstructorCall(), getTargetConstructor(), HandleConstructorCall(), init_end(), init_rend(), inits(), and isDelegatingConstructor().
| CXXConstructorDecl::init_const_iterator CXXConstructorDecl::init_begin | ( | ) | const |
Retrieve an iterator to the first initializer.
Definition at line 1996 of file DeclCXX.cpp.
References clang::LazyOffsetPtr< T, OffsT, Get >::get(), and clang::Decl::getASTContext().
|
inline |
Retrieve an iterator past the last initializer.
Definition at line 2394 of file DeclCXX.h.
References init_begin().
Referenced by clang::CodeGen::CodeGenFunction::EmitCtorPrologue(), init_rbegin(), and inits().
|
inline |
Retrieve an iterator past the last initializer.
Definition at line 2398 of file DeclCXX.h.
References init_begin().
|
inline |
Definition at line 2406 of file DeclCXX.h.
References init_end().
|
inline |
Definition at line 2409 of file DeclCXX.h.
References init_end().
|
inline |
Definition at line 2413 of file DeclCXX.h.
References init_begin().
|
inline |
Definition at line 2416 of file DeclCXX.h.
References init_begin().
|
inline |
Definition at line 2380 of file DeclCXX.h.
References init_begin(), and init_end().
Referenced by HandleConstructorCall(), clang::Sema::InstantiateMemInitializers(), clang::Sema::isEmptyCudaConstructor(), and clang::tooling::RecursiveSymbolVisitor< T >::VisitCXXConstructorDecl().
|
inline |
Definition at line 2381 of file DeclCXX.h.
References init_begin(), and init_end().
Whether this constructor is a converting constructor (C++ [class.conv.ctor]), which can be used for user-defined conversions.
Definition at line 2070 of file DeclCXX.cpp.
References clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::ValueDecl::getType(), clang::ParmVarDecl::hasDefaultArg(), isExplicit(), clang::ParmVarDecl::isParameterPack(), and clang::FunctionDecl::isVariadic().
Whether this constructor is a copy constructor (C++ [class.copy]p2, which can be used to copy the class.
TypeQuals will be set to the qualifiers on the argument type. For example, TypeQuals would be set to Qualifiers::Const for the following copy constructor:
Definition at line 2018 of file DeclCXX.cpp.
References clang::FunctionDecl::getParamDecl(), clang::ValueDecl::getType(), isCopyOrMoveConstructor(), and clang::Type::isLValueReferenceType().
Referenced by clang::Sema::DefineImplicitCopyConstructor(), and clang::consumed::ConsumedStmtVisitor::VisitCXXConstructExpr().
|
inline |
Determine whether this is a copy or move constructor.
| TypeQuals | Will be set to the type qualifiers on the reference parameter, if in fact this is a copy or move constructor. |
Definition at line 2029 of file DeclCXX.cpp.
References clang::Type::getAs(), clang::Decl::getASTContext(), clang::ASTContext::getCanonicalType(), clang::CanQual< T >::getCVRQualifiers(), clang::FunctionDecl::getDescribedFunctionTemplate(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::CXXMethodDecl::getParent(), clang::ReferenceType::getPointeeType(), clang::FunctionDecl::getPrimaryTemplate(), clang::ASTContext::getTagDeclType(), clang::ValueDecl::getType(), and clang::CanQual< T >::getUnqualifiedType().
Referenced by clang::Sema::BuildCXXConstructExpr(), CheckMoveOnConstruction(), EmitMemberInitializer(), HandleConstructorCall(), and clang::ento::ExprEngine::VisitCXXConstructExpr().
|
inline |
Determine whether this a copy or move constructor.
Definition at line 2500 of file DeclCXX.h.
Referenced by isCopyConstructor(), and isMoveConstructor().
| bool CXXConstructorDecl::isDefaultConstructor | ( | ) | const |
Whether this constructor is a default constructor (C++ [class.ctor]p5), which can be used to default-initialize a class of this type.
Definition at line 2009 of file DeclCXX.cpp.
References clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), and clang::ParmVarDecl::hasDefaultArg().
Referenced by CheckTrivialDefaultConstructor(), clang::Sema::DefineImplicitDefaultConstructor(), clang::CodeGen::CodeGenModule::EmitConstantInit(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), GetDiagForGotoScopeDecl(), InstantiateDefaultCtorDefaultArgs(), PerformConstructorInitialization(), and clang::consumed::ConsumedStmtVisitor::VisitCXXConstructExpr().
|
inline |
Determine whether this constructor is a delegating constructor.
Definition at line 2443 of file DeclCXX.h.
References getNumCtorInitializers(), init_begin(), and clang::CXXCtorInitializer::isDelegatingInitializer().
Referenced by DelegatingCycleHelper(), clang::CodeGen::CodeGenFunction::EmitCtorPrologue(), clang::CodeGen::CodeGenFunction::EmitDelegatingCXXConstructorCall(), getTargetConstructor(), HandleConstructorCall(), and clang::CodeGen::CodeGenFunction::IsConstructorDelegationValid().
|
inline |
Whether this function is explicit.
Definition at line 2438 of file DeclCXX.h.
References getCanonicalDecl(), and isExplicitSpecified().
Referenced by clang::Sema::findInheritingConstructor(), isConvertingConstructor(), and TryConstructorInitialization().
|
inline |
Whether this function is marked as explicit explicitly.
Definition at line 2435 of file DeclCXX.h.
References clang::FunctionDecl::IsExplicitSpecified.
Referenced by isExplicit().
|
inline |
Determine whether this is an implicit constructor synthesized to model a call to a constructor inherited from a base class.
Definition at line 2517 of file DeclCXX.h.
Referenced by clang::ASTDeclWriter::VisitCXXConstructorDecl(), and clang::ASTDeclReader::VisitCXXConstructorDecl().
Determine whether this constructor is a move constructor (C++11 [class.copy]p3), which can be used to move values of the class.
| TypeQuals | If this constructor is a move constructor, will be set to the type qualifiers on the referent of the first parameter's type. |
Definition at line 2023 of file DeclCXX.cpp.
References clang::FunctionDecl::getParamDecl(), clang::ValueDecl::getType(), isCopyOrMoveConstructor(), and clang::Type::isRValueReferenceType().
Referenced by clang::Sema::AddOverloadCandidate(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::DefineImplicitMoveConstructor(), and clang::consumed::ConsumedStmtVisitor::VisitCXXConstructExpr().
|
inline |
| bool CXXConstructorDecl::isSpecializationCopyingObject | ( | ) | const |
Determine whether this is a member template specialization that would copy the object to itself.
Such constructors are never used to copy an object.
Definition at line 2088 of file DeclCXX.cpp.
References clang::Decl::getASTContext(), clang::ASTContext::getCanonicalType(), clang::FunctionDecl::getDescribedFunctionTemplate(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::CXXMethodDecl::getParent(), clang::ASTContext::getTagDeclType(), clang::ValueDecl::getType(), and clang::CanQual< T >::getUnqualifiedType().
Referenced by clang::Sema::AddOverloadCandidate().
|
inline |
Definition at line 2430 of file DeclCXX.h.
Referenced by clang::Sema::SetCtorInitializers(), clang::Sema::SetDelegatingInitializer(), and clang::ASTNodeImporter::VisitFunctionDecl().
|
inline |
Definition at line 2426 of file DeclCXX.h.
Referenced by clang::Sema::SetCtorInitializers(), and clang::Sema::SetDelegatingInitializer().
|
friend |
|
friend |
1.8.6