A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1Decl.html below:

clang: clang::Decl Class Reference

Decl - This represents one declaration (or definition), e.g. More...

#include "clang/AST/DeclBase.h"

struct   EmptyShell   A placeholder type used to construct an empty shell of a decl-derived type that will be filled in later (e.g., by some deserialization method). More...
  class   redecl_iterator   Iterates through all the redeclarations of the same decl. 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 >     Decl ()=delete     Decl (const Decl &)=delete     Decl (Decl &&)=delete   Decloperator= (const Decl &)=delete   Decloperator= (Decl &&)=delete   virtual SourceRange  getSourceRange () const LLVM_READONLY   Source range that this declaration covers.
  SourceLocation  getBeginLoc () const LLVM_READONLY   SourceLocation  getEndLoc () const LLVM_READONLY   SourceLocation  getLocation () const   void  setLocation (SourceLocation L)   Kind  getKind () const   const char *  getDeclKindName () const   DeclgetNextDeclInContext ()   const DeclgetNextDeclInContext () const   DeclContextgetDeclContext ()   const DeclContextgetDeclContext () const   DeclContextgetNonTransparentDeclContext ()   Return the non transparent context.
  const DeclContextgetNonTransparentDeclContext () const   DeclgetNonClosureContext ()   Find the innermost non-closure ancestor of this declaration, walking up through blocks, lambdas, etc.
  const DeclgetNonClosureContext () const   TranslationUnitDeclgetTranslationUnitDecl ()   const TranslationUnitDeclgetTranslationUnitDecl () const   bool  isInAnonymousNamespace () const   bool  isInStdNamespace () const   bool  isFileContextDecl () const   ASTContextgetASTContext () const LLVM_READONLY   const LangOptionsgetLangOpts () const LLVM_READONLY   Helper to get the language options from the ASTContext.
  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.
  bool  hasAttrs () const   void  setAttrs (const AttrVec &Attrs)   AttrVecgetAttrs ()   const AttrVecgetAttrs () const   void  dropAttrs ()   void  addAttr (Attr *A)   attr_range  attrs () const   attr_iterator  attr_begin () const   attr_iterator  attr_end () const   template<typename... Ts> void  dropAttrs ()   template<typename T > void  dropAttr ()   template<typename T > llvm::iterator_range< specific_attr_iterator< T > >  specific_attrs () const   template<typename T > specific_attr_iterator< Tspecific_attr_begin () const   template<typename T > specific_attr_iterator< Tspecific_attr_end () const   template<typename T > TgetAttr () 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.
  void  setInvalidDecl (bool Invalid=true)   setInvalidDecl - Indicates the Decl had a semantic error.
  bool  isInvalidDecl () const   bool  isImplicit () const   isImplicit - Indicates whether the declaration was implicitly generated by the implementation.
  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.
  void  setIsUsed ()   Set whether the declaration is used, in the sense of odr-use.
  void  markUsed (ASTContext &C)   Mark the declaration used, in the sense of odr-use.
  bool  isReferenced () const   Whether any declaration of this entity was referenced.
  bool  isThisDeclarationReferenced () const   Whether this declaration was referenced.
  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.
  void  setTopLevelDeclInObjCContainer (bool V=true)   ExternalSourceSymbolAttr *  getExternalSourceSymbolAttr () const   Looks on this and related declarations for an applicable external source symbol attribute.
  bool  isModulePrivate () const   Whether this declaration was marked as being private to the module in which it was defined.
  bool  isInExportDeclContext () const   Whether this declaration was exported in a lexical context.
  bool  isInvisibleOutsideTheOwningModule () const   bool  isInAnotherModuleUnit () const   Whether this declaration comes from another module unit.
  bool  isInCurrentModuleUnit () const   Whether this declaration comes from the same module unit being compiled.
  bool  shouldEmitInExternalSource () const   Whether the definition of the declaration should be emitted in external sources.
  bool  isFromExplicitGlobalModule () const   Whether this declaration comes from explicit global module.
  bool  isFromGlobalModule () const   Whether this declaration comes from global module.
  bool  isInNamedModule () const   Whether this declaration comes from a named module.
  bool  isFromHeaderUnit () const   Whether this declaration comes from a header unit.
  bool  hasDefiningAttr () const   Return true if this declaration has an attribute which acts as definition of the entity, such as 'alias' or 'ifunc'.
  const AttrgetDefiningAttr () const   Return this declaration's defining attribute if it has one.
  void  setFromASTFile ()   Set the FromASTFile flag.
  void  setOwningModuleID (unsigned ID)   Set the owning module ID.
  AvailabilityResult  getAvailability (std::string *Message=nullptr, VersionTuple EnclosingVersion=VersionTuple(), StringRef *RealizedPlatform=nullptr) const   Determine the availability of the given declaration.
  VersionTuple  getVersionIntroduced () const   Retrieve the version of the target platform in which this declaration was introduced.
  bool  isDeprecated (std::string *Message=nullptr) const   Determine whether this declaration is marked 'deprecated'.
  bool  isUnavailable (std::string *Message=nullptr) const   Determine whether this declaration is marked 'unavailable'.
  bool  isWeakImported () const   Determine whether this is a weak-imported symbol.
  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.
  bool  isFromASTFile () const   Determine whether this declaration came from an AST file (such as a precompiled header or module) rather than having been parsed.
  GlobalDeclID  getGlobalID () const   Retrieve the global declaration ID associated with this declaration, which specifies where this Decl was loaded from.
  unsigned  getOwningModuleID () const   Retrieve the global ID of the module that owns this particular declaration.
  ModulegetImportedOwningModule () const   Get the imported owning module, if this decl is from an imported (non-local) module.
  ModulegetLocalOwningModule () const   Get the local owning module, if known.
  void  setLocalOwningModule (Module *M)   bool  hasOwningModule () const   Is this declaration owned by some module?
  ModulegetOwningModule () const   Get the module that owns this declaration (for visibility purposes).
  ModulegetTopLevelOwningNamedModule () const   Get the top level owning named module that owns this declaration if any.
  ModulegetOwningModuleForLinkage () const   Get the module that owns this declaration for linkage purposes.
  bool  isUnconditionallyVisible () const   Determine whether this declaration is definitely visible to name lookup, independent of whether the owning module is visible.
  bool  isReachable () const   void  setVisibleDespiteOwningModule ()   Set that this declaration is globally visible, even if it came from a module that is not visible.
  ModuleOwnershipKind  getModuleOwnershipKind () const   Get the kind of module ownership for this declaration.
  void  setModuleOwnershipKind (ModuleOwnershipKind MOK)   Set whether this declaration is hidden from name lookup.
  unsigned  getIdentifierNamespace () const   bool  isInIdentifierNamespace (unsigned NS) const   bool  hasTagIdentifierNamespace () const   DeclContextgetLexicalDeclContext ()   getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC).
  const DeclContextgetLexicalDeclContext () const   virtual bool  isOutOfLine () const   Determine whether this declaration is declared out of line (outside its semantic context).
  void  setDeclContext (DeclContext *DC)   setDeclContext - Set both the semantic and lexical DeclContext to DC.
  void  setLexicalDeclContext (DeclContext *DC)   bool  isTemplated () const   Determine whether this declaration is a templated entity (whether it is.
  unsigned  getTemplateDepth () const   Determine the number of levels of template parameter surrounding this declaration.
  bool  isDefinedOutsideFunctionOrMethod () const   isDefinedOutsideFunctionOrMethod - This predicate returns true if this scoped decl is defined outside the current function or method.
  bool  isInLocalScopeForInstantiation () const   Determine whether a substitution into this declaration would occur as part of a substitution into a dependent local scope.
  const DeclContextgetParentFunctionOrMethod (bool LexicalParent=false) const   If this decl is defined inside a function/method/block it returns the corresponding DeclContext, otherwise it returns null.
  DeclContextgetParentFunctionOrMethod (bool LexicalParent=false)   virtual DeclgetCanonicalDecl ()   Retrieves the "canonical" declaration of the given declaration.
  const DeclgetCanonicalDecl () const   bool  isCanonicalDecl () const   Whether this particular Decl is a canonical one.
  redecl_range  redecls () const   Returns an iterator range for all the redeclarations of the same decl.
  redecl_iterator  redecls_begin () const   redecl_iterator  redecls_end () const   DeclgetPreviousDecl ()   Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration.
  const DeclgetPreviousDecl () const   Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration.
  bool  isFirstDecl () const   True if this is the first declaration in its redeclaration chain.
  DeclgetMostRecentDecl ()   Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration).
  const DeclgetMostRecentDecl () const   Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration).
  virtual StmtgetBody () const   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.
  virtual bool  hasBody () const   Returns true if this Decl represents a declaration for a body of code, such as a function or method definition.
  SourceLocation  getBodyRBrace () const   getBodyRBrace - Gets the right brace of the body, if a body exists.
  bool  isTemplateParameter () const   isTemplateParameter - Determines whether this declaration is a template parameter.
  bool  isTemplateParameterPack () const   isTemplateParameter - Determines whether this declaration is a template parameter pack.
  bool  isParameterPack () const   Whether this declaration is a parameter pack.
  bool  isTemplateDecl () const   returns true if this declaration is a template
  bool  isFunctionOrFunctionTemplate () const   Whether this declaration is a function or function template.
  TemplateDeclgetDescribedTemplate () const   If this is a declaration that describes some template, this method returns that template declaration.
  const TemplateParameterListgetDescribedTemplateParams () const   If this is a declaration that describes some template or partial specialization, this returns the corresponding template parameter list.
  FunctionDeclgetAsFunction () LLVM_READONLY   Returns the function itself, or the templated function if this is a function template.
  const FunctionDeclgetAsFunction () const   void  setLocalExternDecl ()   Changes the namespace of this declaration to reflect that it's a function-local extern declaration.
  bool  isLocalExternDecl () const   Determine whether this is a block-scope declaration with linkage.
  void  setObjectOfFriendDecl (bool PerformFriendInjection=false)   Changes the namespace of this declaration to reflect that it's the object of a friend declaration.
  void  clearIdentifierNamespace ()   Clears the namespace of this declaration.
  FriendObjectKind  getFriendObjectKind () const   Determines whether this declaration is the object of a friend declaration and, if so, what kind.
  void  setNonMemberOperator ()   Specifies that this declaration is a C++ overloaded non-member.
  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, ASTDumpOutputFormat OutputFormat=ADOF_Default) const   int64_t  getID () const   const FunctionTypegetFunctionType (bool BlocksToo=true) const   Looks through the Decl's underlying type to extract a FunctionType when possible.
  bool  isFunctionPointerType () const   void *  operator new (std::size_t Size, const ASTContext &Ctx, GlobalDeclID ID, std::size_t Extra=0)   Allocate memory for a deserialized declaration.
  void *  operator new (std::size_t Size, const ASTContext &Ctx, DeclContext *Parent, std::size_t Extra=0)   Allocate memory for a non-deserialized declaration.
    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.
  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.
  bool  hasLocalOwningModuleStorage () const   virtual DeclgetNextRedeclarationImpl ()   Returns the next redeclaration or itself if this is the only decl.
  virtual DeclgetPreviousDeclImpl ()   Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain.
  virtual DeclgetMostRecentDeclImpl ()   Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain.
  ASTMutationListenergetASTMutationListener () const  

Decl - This represents one declaration (or definition), e.g.

a variable, typedef, function, struct, etc.

Note: There are objects tacked on before the beginning of Decl (and its subclasses) in its Decl::operator new(). Proper alignment of all subclasses (not requiring more than the alignment of Decl) is asserted in DeclBase.cpp.

Definition at line 86 of file DeclBase.h.

◆ attr_iterator ◆ attr_range ◆ redecl_range ◆ FriendObjectKind Enumerator FOK_None 

Not a friend object.

FOK_Declared 

A friend of a previously-declared entity.

FOK_Undeclared 

A friend of a previously-undeclared entity.

Definition at line 1209 of file DeclBase.h.

◆ IdentifierNamespace

IdentifierNamespace - The different namespaces in which declarations may appear.

According to C99 6.2.3, there are four namespaces, labels, tags, members and ordinary identifiers. C++ describes lookup completely differently: certain lookups merely "ignore" certain kinds of declarations, usually based on whether the declaration is of a type, etc.

These are meant as bitmasks, so that searches in C++ can look into the "tag" namespace during ordinary lookup.

Decl currently provides 15 bits of IDNS bits.

Enumerator IDNS_Label 

Labels, declared with 'x:' and referenced with 'goto x'.

IDNS_Tag 

Tags, declared with 'struct foo;' and referenced with 'struct foo'.

All tags are also types. This is what elaborated-type-specifiers look for in C. This also contains names that conflict with tags in the same scope but that are otherwise ordinary names (non-type template parameters and indirect field declarations).

IDNS_Type 

Types, declared with 'struct foo', typedefs, etc.

This is what elaborated-type-specifiers look for in C++, but note that it's ill-formed to find a non-tag.

IDNS_Member 

Members, declared with object declarations within tag definitions.

In C, these can only be found by "qualified" lookup in member expressions. In C++, they're found by normal lookup.

IDNS_Namespace 

Namespaces, declared with 'namespace foo {}'.

Lookup for nested-name-specifiers find these.

IDNS_Ordinary 

Ordinary names.

In C, everything that's not a label, tag, member, or function-local extern ends up here.

IDNS_ObjCProtocol 

Objective C @protocol.

IDNS_OrdinaryFriend 

This declaration is a friend function.

A friend function declaration is always in this namespace but may also be in IDNS_Ordinary if it was previously declared.

IDNS_TagFriend 

This declaration is a friend class.

A friend class declaration is always in this namespace but may also be in IDNS_Tag|IDNS_Type if it was previously declared.

IDNS_Using 

This declaration is a using declaration.

A using declaration introduces a number of other declarations into the current scope, and those declarations use the IDNS of their targets, but the actual using declarations go in this namespace.

IDNS_NonMemberOperator 

This declaration is a C++ operator declared in a non-class context.

All such operators are also in IDNS_Ordinary. C++ lexical operator lookup looks for these.

IDNS_LocalExtern 

This declaration is a function-local extern declaration of a variable or function.

This may also be IDNS_Ordinary if it has been declared outside any function. These act mostly like invisible friend declarations, but are also visible to unqualified lookup within the scope of the declaring function.

IDNS_OMPReduction 

This declaration is an OpenMP user defined reduction construction.

IDNS_OMPMapper 

This declaration is an OpenMP user defined mapper.

Definition at line 115 of file DeclBase.h.

◆ Kind

Lists the kind of concrete classes of Decl.

Definition at line 89 of file DeclBase.h.

◆ ModuleOwnershipKind

The kind of ownership a declaration has, for visibility purposes.

This enumeration is designed such that higher values represent higher levels of name hiding.

Enumerator Unowned 

This declaration is not owned by a module.

Visible 

This declaration has an owning module, but is globally visible (typically because its owning module is visible and we know that modules cannot later become hidden in this compilation).

After serialization and deserialization, this will be converted to VisibleWhenImported.

VisibleWhenImported 

This declaration has an owning module, and is visible when that module is imported.

ReachableWhenImported 

This declaration has an owning module, and is visible to lookups that occurs within that module.

And it is reachable in other module when the owning module is transitively imported.

ModulePrivate 

This declaration has an owning module, but is only visible to lookups that occur within that module.

The discarded declarations in global module fragment belongs to this group too.

Definition at line 216 of file DeclBase.h.

◆ ObjCDeclQualifier

ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declarations.

Other than remembering them and mangling them into the method's signature string, these are ignored by the compiler; they are consumed by certain remote-messaging frameworks.

in, inout, and out are mutually exclusive and apply only to method parameters. bycopy and byref are mutually exclusive and apply only to method parameters (?). oneway applies only to results. All of these expect their corresponding parameter to have a particular type. None of this is currently enforced by clang.

This should be kept in sync with ObjCDeclSpec::ObjCDeclQualifier.

Enumerator OBJC_TQ_None  OBJC_TQ_In  OBJC_TQ_Inout  OBJC_TQ_Out  OBJC_TQ_Bycopy  OBJC_TQ_Byref  OBJC_TQ_Oneway  OBJC_TQ_CSNullability 

The nullability qualifier is set when the nullability of the result or parameter was expressed via a context-sensitive keyword.

Definition at line 198 of file DeclBase.h.

◆ Decl() [1/5] ◆ Decl() [2/5] clang::Decl::Decl ( const Decl &  ) delete ◆ Decl() [3/5] clang::Decl::Decl ( Decl &&  ) delete ◆ Decl() [4/5] ◆ Decl() [5/5] ◆ ~Decl() ◆ add() void Decl::add ( Kind  k ) static ◆ addAttr() void Decl::addAttr ( AttrA )

Definition at line 1019 of file DeclBase.cpp.

References E, getAttrs(), hasAttrs(), clang::Attr::isInherited(), and setAttrs().

Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::SemaOpenMP::ActOnFinishedFunctionDefinitionInOpenMPAssumeScope(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnMethodDeclaration(), clang::SemaOpenMP::ActOnOpenMPDeclareSimdDirective(), clang::SemaOpenMP::ActOnOpenMPDeclareTargetName(), clang::SemaOpenMP::ActOnOpenMPDeclareVariantDirective(), clang::Sema::ActOnPragmaRedefineExtname(), clang::Sema::ActOnPragmaUnused(), clang::Sema::ActOnPragmaWeakID(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::SemaHLSL::ActOnTopLevelFunction(), clang::Sema::ActOnTypedefNameDecl(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddAlignedAttr(), clang::Sema::AddAlignmentAttributesForRecord(), clang::Sema::AddAlignValueAttr(), clang::Sema::AddAllocAlignAttr(), clang::Sema::AddAssumeAlignedAttr(), clang::Sema::AddImplicitMSFunctionNoBuiltinAttr(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::AddKnownFunctionAttributesForReplaceableGlobalAllocationFunction(), clang::Sema::AddLaunchBoundsAttr(), clang::Sema::AddModeAttr(), clang::Sema::AddMsStructLayoutForRecord(), clang::Sema::AddOptnoneAttributeIfNoConflicts(), AddPropertyAttrs(), clang::Sema::AddPushedVisibilityAttribute(), clang::Sema::AddSectionMSAllocText(), applyOMPAllocateAttribute(), assignInheritanceModel(), clang::ASTContext::buildImplicitRecord(), buildVarDecl(), clang::SemaObjC::CheckARCMethodDecl(), clang::Sema::checkClassLevelDLLAttribute(), clang::SemaOpenMP::checkDeclIsAllowedInOpenMPTarget(), checkDLLAttributeRedeclaration(), clang::Sema::CheckFunctionDeclaration(), clang::SemaObjC::checkInitMethod(), clang::Sema::CheckNontrivialField(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), clang::Sema::CheckStaticLocalForDllExport(), copyAttrFromTypedefToDecl(), copyAttrIfPresent(), clang::Sema::CreateBuiltin(), createPrivatesRecordDecl(), clang::Sema::DeclApplyPragmaWeak(), clang::Sema::FinalizeDeclaration(), handleAbiTagAttr(), handleAcquireCapabilityAttr(), handleAcquiredAfterAttr(), handleAcquiredBeforeAttr(), handleAcquireHandleAttr(), handleAliasAttr(), handleAlignedAttr(), handleAllocSizeAttr(), handleAlwaysInlineAttr(), handleAnalyzerNoReturnAttr(), handleAnnotateAttr(), handleArgumentWithTypeTagAttr(), handleAssertCapabilityAttr(), handleAssertExclusiveLockAttr(), handleAssertSharedLockAttr(), handleAttrWithMessage(), handleAvailabilityAttr(), handleBTFDeclTagAttr(), handleBuiltinAliasAttr(), handleCallableWhenAttr(), handleCallbackAttr(), handleCallConvAttr(), handleCalledOnceAttr(), handleCapabilityAttr(), handleCFGuardAttr(), handleCleanupAttr(), handleCodeModelAttr(), handleCodeSegAttr(), handleCommonAttr(), handleConstantAttr(), handleConstructorAttr(), handleConsumableAttr(), handleCPUSpecificAttr(), handleDeclspecThreadAttr(), handleDelayedForbiddenType(), handleDependencyAttr(), handleDeprecatedAttr(), handleDestructorAttr(), handleDeviceAttr(), handleDiagnoseAsBuiltinAttr(), handleDiagnoseIfAttr(), handleDLLAttr(), handleEnableIfAttr(), handleEnforceTCBAttr(), handleEnumExtensibilityAttr(), handleErrorAttr(), handleExcludeFromExplicitInstantiationAttr(), handleExclusiveTrylockFunctionAttr(), handleExternalSourceSymbolAttr(), handleFormatArgAttr(), handleFormatAttr(), handleFunctionReturnThunksAttr(), handleGlobalAttr(), handleGNUInlineAttr(), handleGridConstantAttr(), handleGuardedByAttr(), handleHandleAttr(), handleIFuncAttr(), handleInitPriorityAttr(), handleInternalLinkageAttr(), clang::SemaRISCV::handleInterruptAttr(), clang::SemaSYCL::handleKernelEntryPointAttr(), handleLayoutVersion(), handleLifetimeCaptureByAttr(), handleLockReturnedAttr(), handleLocksExcludedAttr(), handleManagedAttr(), handleMinSizeAttr(), handleMinVectorWidthAttr(), handleMSConstexprAttr(), handleMSInheritanceAttr(), handleNakedAttr(), handleNoBuiltinAttr(), handleNoDebugAttr(), handleNoEscapeAttr(), handleNoMergeAttr(), handleNonNullAttr(), handleNonNullAttrParameter(), handleNoRandomizeLayoutAttr(), handleNoReturnAttr(), handleNoSanitizeAttr(), handleNoSanitizeSpecificAttr(), handleNoSpecializations(), handleNoUniqueAddressAttr(), clang::SemaHLSL::handleNumThreadsAttr(), clang::SemaOpenMP::handleOMPAssumeAttr(), handleOptimizeNoneAttr(), handleOwnershipAttr(), handlePackedAttr(), clang::SemaHLSL::handlePackOffsetAttr(), clang::SemaHLSL::handleParamModifierAttr(), handleParamTypestateAttr(), handlePassObjectSizeAttr(), handlePatchableFunctionEntryAttr(), handlePreferredName(), handlePreferredTypeAttr(), handlePtGuardedByAttr(), handlePtGuardedVarAttr(), handleRandomizeLayoutAttr(), handleReleaseCapabilityAttr(), handleRequiresCapabilityAttr(), clang::SemaHLSL::handleResourceBindingAttr(), handleRestrictAttr(), handleReturnsNonNullAttr(), handleReturnTypestateAttr(), handleSectionAttr(), handleSentinelAttr(), handleSetTypestateAttr(), clang::SemaHLSL::handleShaderAttr(), handleSharedAttr(), handleSharedTrylockFunctionAttr(), clang::handleSimpleAttribute(), handleStandardNoReturnAttr(), handleSuppressAttr(), clang::SemaHLSL::handleSV_DispatchThreadIDAttr(), clang::SemaHLSL::handleSV_GroupIDAttr(), clang::SemaHLSL::handleSV_GroupThreadIDAttr(), handleTargetAttr(), handleTargetClonesAttr(), handleTargetVersionAttr(), handleTestTypestateAttr(), handleTLSModelAttr(), handleTransparentUnionAttr(), handleTryAcquireCapabilityAttr(), handleTypeTagForDatatypeAttr(), handleUninitializedAttr(), handleUnsafeBufferUsage(), handleUnusedAttr(), handleUuidAttr(), handleVecReturnAttr(), handleVecTypeHint(), handleVisibilityAttr(), handleVTablePointerAuthentication(), handleWarnUnusedResult(), clang::SemaHLSL::handleWaveSizeAttr(), handleWeakImportAttr(), handleWeakRefAttr(), handleWorkGroupSize(), handleXRayLogArgsAttr(), handleZeroCallUsedRegsAttr(), clang::ASTImporter::Import(), clang::SemaCUDA::inferTargetForImplicitSpecialMember(), InjectAnonymousStructOrUnionMembers(), InsertOCLBuiltinDeclarationsFromTable(), clang::Sema::InstantiateAttrs(), clang::Sema::InstantiateAttrsForDecl(), instantiateDependentAnnotationAttr(), instantiateDependentDiagnoseIfAttr(), instantiateDependentEnableIfAttr(), instantiateDependentSYCLKernelAttr(), clang::Sema::makeUnavailableInSystemHeader(), clang::SemaCUDA::MaybeAddConstantAttr(), clang::SemaCUDA::maybeAddHostDeviceAttrs(), mergeAlignedAttrs(), mergeDeclAttribute(), clang::Sema::mergeDeclAttributes(), clang::Sema::MergeFunctionDecl(), mergeInterfaceMethodToImpl(), mergeObjCDirectMembers(), patchDefaultTargetVersion(), ProcessAPINotes(), clang::SemaObjC::ProcessPropertyDecl(), propagateAttribute(), clang::Sema::propagateDLLAttrToBaseClassTemplate(), clang::RecordDecl::setCapturedRecord(), clang::SemaCUDA::SetLambdaAttrs(), clang::Sema::updateAttrsForLateParsedTemplate(), clang::ASTDeclReader::UpdateDecl(), and GlobalDeclRefChecker::VisitDeclRefExpr().

◆ attr_begin() ◆ attr_end() ◆ attrs()

Definition at line 538 of file DeclBase.h.

References attr_begin(), and attr_end().

Referenced by checkNonMultiVersionCompatAttributes(), clang::Sema::checkThisInStaticMemberFunctionAttributes(), DeclHasAttr(), clang::tooling::getAssociatedRange(), getAttrForPlatform(), getAvailability(), getVersionIntroduced(), handleAPINotedRetainCountAttribute(), hasAttribute(), hasUnsupportedSpecifiers(), InjectAnonymousStructOrUnionMembers(), clang::threadSafety::BeforeSet::insertAttrExprs(), clang::Sema::InstantiateAttrs(), clang::Sema::InstantiateAttrsForDecl(), isWeakImported(), ProcessAPINotes(), and clang::Sema::updateAttrsForLateParsedTemplate().

◆ canBeWeakImported() bool Decl::canBeWeakImported ( boolIsDefinition ) const ◆ castFromDeclContext() ◆ castToDeclContext() ◆ classofKind() ◆ clearIdentifierNamespace() void clang::Decl::clearIdentifierNamespace ( ) inline

Clears the namespace of this declaration.

This is useful if we want this declaration to be available for redeclaration lookup but otherwise hidden for ordinary name lookups.

Definition at line 1207 of file DeclBase.h.

Referenced by clang::Sema::getOrCreateStdNamespace().

◆ dropAttr() void clang::Decl::dropAttr ( ) inline

Definition at line 559 of file DeclBase.h.

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnMethodDeclaration(), clang::Sema::ActOnStartOfFunctionDef(), checkDLLAttributeRedeclaration(), clang::Sema::checkIllFormedTrivialABIStruct(), clang::Sema::CheckOverrideControl(), checkSelectAnyAttr(), checkWeakAttr(), clang::Sema::FinalizeDeclaration(), handleCodeSegAttr(), handleConstantAttr(), handleDeviceAttr(), handleEnforceTCBAttr(), handleFunctionReturnThunksAttr(), handleNoBuiltinAttr(), handleZeroCallUsedRegsAttr(), clang::Sema::mergeDLLExportAttr(), mergeEnforceTCBAttrImpl(), clang::Sema::mergeErrorAttr(), clang::Sema::MergeFunctionDecl(), clang::Sema::mergeMSInheritanceAttr(), clang::Sema::mergeOptimizeNoneAttr(), clang::SemaHLSL::mergeParamModifierAttr(), clang::Sema::mergeUuidAttr(), clang::Sema::MergeVarDecl(), mergeVisibilityAttr(), and clang::Sema::ProcessDeclAttributeList().

◆ dropAttrs() [1/2] ◆ dropAttrs() [2/2]

template<typename... Ts>

void clang::Decl::dropAttrs ( ) inline ◆ dump() [1/2] LLVM_DUMP_METHOD void Decl::dump ( ) const ◆ dump() [2/2] ◆ dumpColor() LLVM_DUMP_METHOD void Decl::dumpColor ( ) const ◆ EnableStatistics() void Decl::EnableStatistics ( ) static ◆ getAccess()

Definition at line 510 of file DeclBase.h.

References Access.

Referenced by clang::Sema::ActOnEnumConstant(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnTag(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildCXXMemberCallExpr(), buildImplicitMap(), clang::Sema::BuildUsingPackDecl(), clang::Sema::BuildUsingShadowDecl(), clang::Sema::BuildVariableInstantiation(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompletedCXXClass(), clang::Sema::CheckDestructorAccess(), clang::Sema::CheckFriendAccess(), checkMemberDecomposition(), clang::MemberExpr::Create(), clang::MemberExpr::CreateImplicit(), DiagnoseAccessPath(), diagnoseBadDirectAccess(), EvaluateComparisonBinaryOperator(), clang::Sema::findInheritingConstructor(), clang::CXXRecordDecl::finishedDefaultedOrDeletedMember(), clang::extractapi::DeclarationFragmentsBuilder::getAccessControl(), clang::getConstructorInfo(), hasUnguardedAccess(), clang::TemplateDeclInstantiator::InitMethodInstantiation(), clang::TemplateDeclInstantiator::InstantiateTypeAliasTemplateDecl(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), IsAccessible(), IsMicrosoftUsingDeclarationAccessBug(), clang::SemaOpenMP::isOpenMPCapturedDecl(), IsStructurallyEquivalent(), IsUnusedPrivateField(), clang::Sema::MergeVarDecl(), processImplicitMapsWithDefaultMappers(), clang::SemaCodeCompletion::ProduceCallSignatureHelp(), clang::Sema::SetMemberAccessSpecifier(), clang::TemplateDeclInstantiator::SubstDefaultedFunction(), clang::transformOMPMappableExprListClause(), clang::ASTNodeImporter::VisitAccessSpecDecl(), clang::JSONNodeDumper::VisitAccessSpecDecl(), clang::TextNodeDumper::VisitAccessSpecDecl(), clang::ASTNodeImporter::VisitClassTemplateDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTNodeImporter::VisitEnumConstantDecl(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTNodeImporter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFriendDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ASTNodeImporter::VisitFunctionTemplateDecl(), clang::ASTNodeImporter::VisitIndirectFieldDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTNodeImporter::VisitRecordDecl(), clang::ASTNodeImporter::VisitTypeAliasTemplateDecl(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ASTNodeImporter::VisitUnresolvedUsingTypenameDecl(), clang::ASTNodeImporter::VisitUnresolvedUsingValueDecl(), clang::ASTNodeImporter::VisitUsingShadowDecl(), clang::ASTNodeImporter::VisitVarDecl(), clang::ASTNodeImporter::VisitVarTemplateDecl(), and clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl().

◆ getAccessUnsafe()

Retrieve the access specifier for this declaration, even though it may not yet have been properly set.

Definition at line 517 of file DeclBase.h.

References Access.

◆ getAsFunction() [1/2] ◆ getAsFunction() [2/2]

Returns the function itself, or the templated function if this is a function template.

Definition at line 254 of file DeclBase.cpp.

Referenced by clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnReenterFunctionContext(), clang::Sema::ActOnSkippedFunctionBody(), AddResultTypeChunk(), clang::Sema::BuildTemplateIdExpr(), clang::Sema::canSkipFunctionBody(), CheckFallThroughForBody(), clang::Sema::CheckFriendAccess(), clang::Sema::CheckFunctionDeclaration(), CheckMultiVersionAdditionalDecl(), CheckMultiVersionFunction(), clang::Sema::CheckOverload(), clang::SemaCUDA::checkTargetOverload(), clang::Sema::CheckUsingShadowDecl(), clang::Sema::DiagnoseUnguardedAvailabilityViolations(), clang::Sema::FindAssociatedClassesAndNamespaces(), clang::ASTContext::forEachMultiversionedFunctionVersion(), getAsFunction(), GetConversionType(), clang::getDeclUsageType(), clang::CallGraphNode::getDefinition(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForFunctionTemplate(), clang::ASTContext::getFunctionFeatureMap(), clang::CodeGen::CodeGenModule::getLLVMLinkageForDeclarator(), getPrintfFormatArgumentNum(), handleCallbackAttr(), clang::ADLResult::insert(), clang::NamedDecl::isCXXInstanceMember(), clang::Sema::LookupLiteralOperator(), clang::Sema::maybeAddDeclWithEffects(), clang::SemaCUDA::maybeAddHostDeviceAttrs(), clang::Sema::MergeFunctionDecl(), PreviousDeclsHaveMultiVersionAttribute(), clang::ProgramPoint::printJson(), shouldAddReversedEqEq(), SubstituteConstraintExpressionWithoutSatisfaction(), and TryDiagnoseProtectedAccess().

◆ getASTContext()

Definition at line 528 of file DeclBase.cpp.

References clang::TranslationUnitDecl::getASTContext(), and getTranslationUnitDecl().

Referenced by clang::DeclContext::addHiddenDecl(), clang::CXXMethodDecl::addOverriddenMethod(), clang::CodeGen::CodeGenTypes::addRecordTypeName(), clang::ODRHash::AddStructuralValue(), annotateConsumedSummaryMismatch(), applyGadgets(), clang::CXXMethodDecl::begin_overridden_methods(), canBeWeakImported(), clang::VarDecl::checkForConstantInitialization(), clang::checkUnsafeBufferUsage(), clang::ObjCInterfaceDecl::ClassImplementsProtocol(), CollectEnclosingNamespace(), clang::RecordDecl::completeDefinition(), clang::CXXRecordDecl::completeDefinition(), clang::ExternalASTMerger::CompleteType(), clang::LinkageComputer::computeLVForDecl(), clang::PredefinedExpr::ComputeName(), clang::ObjCObjectType::computeSuperClassTypeSlow(), clang::CXXRecordDecl::conversion_begin(), clang::CXXRecordDecl::conversion_end(), clang::LifetimeExtendedTemporaryDecl::Create(), clang::NamedDecl::declarationReplaces(), clang::Sema::DeclClonePragmaWeak(), clang::FunctionDecl::doesDeclarationForceExternallyVisibleDefinition(), dropAttrs(), dump(), dumpColor(), clang::ento::SymbolConjured::dumpToStream(), clang::CodeGen::CodeGenModule::EmitTopLevelDecl(), clang::CXXMethodDecl::end_overridden_methods(), clang::VarDecl::ensureEvaluatedStmt(), evaluateCDTSize(), clang::ExternalASTMerger::FindOriginalDecl(), clang::ClassTemplateDecl::findPartialSpecialization(), clang::RedeclarableTemplateDecl::findSpecializationLocally(), clang::StructuralEquivalenceContext::findUntaggedStructOrUnionIndex(), fixUPCAddressofArraySubscriptWithSpan(), formatBlockPlaceholder(), FormatFunctionParameter(), generateDiagnosticsForCallLike(), clang::index::generateUSRForDecl(), clang::ASTNameGenerator::Implementation::getAllManglings(), clang::MSGuidDecl::getAsAPValue(), clang::tooling::getAssociatedRange(), clang::StoredDeclsList::getASTContext(), clang::StmtSequence::getASTContext(), getASTMutationListener(), getAttrs(), getAvailability(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::getBases(), clang::ObjCMethodDecl::getBody(), clang::FunctionDecl::getBody(), clang::FunctionDecl::getBuiltinID(), clang::FunctionDecl::getCallResultType(), clang::AnalysisDeclContext::getCFG(), clang::RedeclarableTemplateDecl::getCommonPtr(), getDeclLanguageLinkage(), clang::LinkageComputer::getDeclLinkageAndVisibility(), clang::VarDecl::getDefinition(), clang::VarDecl::getDescribedVarTemplate(), clang::CXXRecordDecl::getDestructor(), clang::CXXRecordDecl::getDeviceLambdaManglingNumber(), getEnclosingStmtLocation(), DerefSimplePtrArithFixableGadget::getFixits(), UPCPreIncrementGadget::getFixits(), UUCAddAssignGadget::getFixits(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForClassTemplatePartialSpecialization(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForClassTemplateSpecialization(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForCXXMethod(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForEnum(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForObjCMethod(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForOverloadedOperator(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForTypedef(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForVar(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForVarTemplate(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForVarTemplatePartialSpecialization(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForVarTemplateSpecialization(), clang::AnalysisDeclContext::getFunctionName(), getID(), clang::ObjCInterfaceDecl::getImplementation(), clang::ObjCCategoryDecl::getImplementation(), clang::FieldDecl::getInClassInitializer(), clang::CXXRecordDecl::getIndirectPrimaryBases(), clang::VarDecl::getInit(), clang::VarDecl::getInitAddress(), clang::ClassTemplateDecl::getInjectedClassNameSpecialization(), getLambdaCallOperatorHelper(), getLambdaStaticInvokers(), getLangOpts(), clang::LinkageComputer::getLVForDecl(), getMaxAlignment(), clang::VarDecl::getMemberSpecializationInfo(), clang::FunctionDecl::getMinRequiredArguments(), clang::CXXRecordDecl::getMSVtorDispMode(), clang::interp::Record::getName(), getNDSWDS(), clang::tooling::getOccurrencesOfUSRs(), clang::LifetimeExtendedTemporaryDecl::getOrCreateValue(), getPosAsWritten(), clang::OMPDeclareReductionDecl::getPrevDeclInScope(), clang::OMPDeclareMapperDecl::getPrevDeclInScope(), clang::getPrimaryMergedDecl(), clang::NamedDecl::getQualifiedNameAsString(), clang::FunctionDecl::getReturnTypeSourceRange(), getSelfInitExpr(), clang::ObjCMethodDecl::getSendResultType(), clang::ObjCObjectPointerType::getSuperClassType(), clang::CastExpr::getTargetFieldForToUnionCast(), clang::CXXMethodDecl::getThisType(), clang::VarDecl::getTLSKind(), clang::AnalysisDeclContext::getUnoptimizedCFG(), clang::EnumDecl::getValueRange(), getVersionIntroduced(), clang::CXXRecordDecl::getVisibleConversionFunctions(), clang::VarDecl::hasConstantInitialization(), clang::VarDecl::hasDefinition(), hasLocalOwningModuleStorage(), hasSameOverloadableAttrs(), clang::Sema::hasStructuralCompatLayout(), clang::ComparisonCategoryInfo::ValueInfo::hasValidIntValue(), clang::CXXConstructorDecl::init_begin(), clang::ObjCImplementationDecl::init_begin(), clang::ento::CheckerContext::isCLibraryFunction(), clang::CXXMethodDecl::isCopyAssignmentOperator(), clang::CXXConstructorDecl::isCopyOrMoveConstructor(), isDeclExternC(), clang::ParmVarDecl::isDestroyedInCallee(), clang::ObjCMethodDecl::isDirectMethod(), clang::ObjCPropertyDecl::isDirectProperty(), IsEquivalentFriend(), isExactClass(), isGRealloc(), isImportedDeclContext(), isInAnotherModuleUnit(), clang::Type::isIncompleteType(), isInCurrentModuleUnit(), clang::FunctionDecl::isInlineBuiltinDeclaration(), clang::FunctionDecl::isInlineDefinitionExternallyVisible(), clang::VarDecl::isKnownToBeDefined(), clang::CXXRecordDecl::isLiteral(), clang::CXXMethodDecl::isMoveAssignmentOperator(), clang::FunctionDecl::isMSExternInline(), isNonViableMultiVersionOverload(), clang::sema::isNormalAssignmentOperator(), clang::Expr::isPotentialConstantExpr(), clang::Expr::isPotentialConstantExprUnevaluated(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::CXXConstructorDecl::isSpecializationCopyingObject(), isStandardDelete(), isStandardNew(), isStandardRealloc(), IsStructurallyEquivalent(), isSubclass(), clang::VarDecl::isThisDeclarationADefinition(), clang::CXXMethodDecl::isUsualDeallocationFunction(), isWeakImported(), isZeroSized(), clang::CXXRecordDecl::lambdaIsDefaultConstructibleAndAssignable(), clang::RedeclarableTemplateDecl::loadLazySpecializationsImpl(), clang::CXXRecordDecl::lookupInBases(), clang::RecordDecl::mayInsertExtraPadding(), MultiVersionTypesCompatible(), clang::CXXMethodDecl::overridden_methods(), patchDefaultTargetVersion(), print(), clang::TemplateParamObjectDecl::printAsExpr(), clang::TemplateParamObjectDecl::printAsInit(), clang::NamedDecl::printName(), clang::TagDecl::printName(), clang::NamedDecl::printNestedNameSpecifier(), clang::NamedDecl::printQualifiedName(), clang::printQuotedName(), clang::printQuotedQualifiedName(), clang::ClassTemplateSpecializationDecl::Profile(), clang::ClassTemplatePartialSpecializationDecl::Profile(), clang::VarTemplateSpecializationDecl::Profile(), clang::VarTemplatePartialSpecializationDecl::Profile(), clang::CXXRecordDecl::removeConversion(), saveHash(), clang::ObjCMethodDecl::setAsRedeclaration(), setAttrs(), clang::CXXRecordDecl::setBases(), clang::FieldDecl::setBitWidth(), clang::RecordDecl::setCapturedRecord(), clang::ObjCImplDecl::setClassInterface(), clang::DeclRefExpr::setDecl(), clang::FunctionDecl::setDeletedAsWritten(), clang::VarDecl::setDescribedVarTemplate(), clang::ObjCInterfaceDecl::setExternallyCompleted(), clang::ClassTemplateSpecializationDecl::setExternKeywordLoc(), clang::VarTemplateSpecializationDecl::setExternKeywordLoc(), clang::FunctionDecl::setFunctionTemplateSpecialization(), clang::ObjCCategoryDecl::setImplementation(), clang::ObjCInterfaceDecl::setImplementation(), clang::VarDecl::setInit(), clang::ClassTemplateSpecializationDecl::setInstantiationOf(), clang::VarTemplateSpecializationDecl::setInstantiationOf(), clang::CXXRecordDecl::setInstantiationOfMemberClass(), clang::EnumDecl::setInstantiationOfMemberEnum(), clang::FunctionDecl::setInstantiationOfMemberFunction(), clang::VarDecl::setInstantiationOfStaticDataMember(), clang::CXXRecordDecl::setLambdaNumbering(), setLexicalDeclContext(), clang::TypedefNameDecl::setModedTypeSourceInfo(), clang::LabelDecl::setMSAsmLabel(), clang::FunctionDecl::setParams(), clang::BlockDecl::setParams(), clang::DeclaratorDecl::setQualifierInfo(), clang::TagDecl::setQualifierInfo(), clang::ClassTemplateSpecializationDecl::setTemplateArgsAsWritten(), clang::VarTemplateSpecializationDecl::setTemplateArgsAsWritten(), clang::ClassTemplateSpecializationDecl::setTemplateKeywordLoc(), clang::VarTemplateSpecializationDecl::setTemplateKeywordLoc(), clang::DeclaratorDecl::setTemplateParameterListsInfo(), clang::TagDecl::setTemplateParameterListsInfo(), clang::VarDecl::setTemplateSpecializationKind(), clang::FunctionDecl::setTemplateSpecializationKind(), clang::DeclaratorDecl::setTrailingRequiresClause(), shouldEmitInExternalSource(), shouldOmitDefinition(), shouldRunOnFunctionOrMethod(), clang::shouldSkipCheckingODR(), clang::CXXMethodDecl::size_overridden_methods(), clang::TagDecl::startDefinition(), updateOutOfDate(), useInlineVisibilityHidden(), clang::TextNodeDumper::Visit(), clang::TextNodeDumper::VisitImportDecl(), clang::ASTDeclReader::VisitLifetimeExtendedTemporaryDecl(), clang::ASTNodeImporter::VisitRecordDecl(), clang::TextNodeDumper::VisitUnresolvedUsingTypenameDecl(), clang::TextNodeDumper::VisitUnresolvedUsingValueDecl(), clang::TextNodeDumper::VisitUsingDecl(), clang::JSONNodeDumper::VisitUsingDecl(), clang::TextNodeDumper::VisitVarDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitVarDecl(), and WarnUndefinedMethod().

◆ getASTMutationListener() ◆ getAttr() T * clang::Decl::getAttr ( ) const inline

Definition at line 576 of file DeclBase.h.

References getAttrs(), and hasAttrs().

Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnMethodDeclaration(), clang::SemaHLSL::ActOnOutParamExpr(), clang::Sema::ActOnStartNamespaceDef(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaHLSL::ActOnTopLevelFunction(), clang::Sema::ActOnVariableDeclarator(), AddVariableConstraints(), clang::CodeGen::CGHLSLRuntime::annotateHLSLResource(), clang::SemaSYCL::BuildSYCLKernelCallStmt(), clang::checkAttrMutualExclusion(), clang::Sema::checkCall(), clang::consumed::ConsumedStmtVisitor::checkCallability(), clang::SemaHLSL::CheckCompatibleParameterABI(), CheckDeclarationCausesMultiVersioning(), checkDLLAttributeRedeclaration(), clang::SemaHLSL::CheckEntryPoint(), clang::Sema::CheckFunctionDeclaration(), checkHybridPatchableAttr(), clang::Sema::CheckIfOverriddenFunctionIsMarkedFinal(), clang::Sema::checkIllFormedTrivialABIStruct(), clang::Sema::checkIncorrectVTablePointerAuthenticationAttribute(), clang::Sema::checkLifetimeCaptureBy(), CheckMultiVersionAdditionalDecl(), CheckMultiVersionFirstFunction(), CheckMultiVersionFunction(), CheckMultiVersionValue(), clang::SemaObjC::CheckObjCMethodDirectOverrides(), clang::Sema::CheckOverrideControl(), clang::Sema::CheckOverridingFunctionAttributes(), checkPreviousOMPAllocateAttribute(), checkSelectAnyAttr(), clang::SemaHLSL::CheckSemanticAnnotation(), clang::SemaARM::CheckSMEFunctionDefAttributes(), clang::Sema::CheckStaticLocalForDllExport(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), checkUndefinedButUsed(), checkWeakAttr(), checkWeakRefAttr(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), copyAttrFromTypedefToDecl(), copyAttrIfPresent(), GlobalDeclRefChecker::declareTargetInitializer(), clang::Sema::DiagnoseSentinelCalls(), DiagnoseUnusedOfDecl(), DoEmitAvailabilityWarning(), EmitGlobalNamedRegister(), emitReadOnlyPlacementAttrWarning(), extractRegisterName(), clang::Sema::FinalizeDeclaration(), clang::index::generateUSRForDecl(), clang::CodeGen::CodeGenModule::GenKernelArgMetadata(), clang::CodeGen::CGOpenMPRuntime::getAddressOfLocalVariable(), clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::getAddressOfLocalVariable(), clang::CodeGen::CGOpenMPRuntimeGPU::getAddressOfLocalVariable(), getCallingConventionForDecl(), clang::getDLLAttr(), GetFullTypeForDeclarator(), clang::CFGCleanupFunction::getFunctionDecl(), clang::ASTContext::getFunctionFeatureMap(), GetMatchingCType(), getNonNullAttr(), clang::CodeGen::CodeGenModule::getOMPAllocateAlignment(), clang::getOpenCLArgAccess(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::index::getSymbolInfo(), clang::CallExpr::getUnusedResultAttr(), getVisibilityOf(), clang::CodeGen::CodeGenModule::GetWeakRefReference(), clang::consumed::ConsumedStmtVisitor::handleCall(), handleCodeSegAttr(), handleConstantAttr(), handleCPUSpecificAttr(), handleDeviceAttr(), clang::CodeGen::CGHLSLRuntime::handleGlobalVarDefinition(), clang::SemaRISCV::handleInterruptAttr(), handleLifetimeCategoryAttr(), handleMinVectorWidthAttr(), handleNoBuiltinAttr(), handleTargetClonesAttr(), handleVecReturnAttr(), handleVecTypeHint(), handleVTablePointerAuthentication(), handleWorkGroupSize(), clang::CodeGen::CGOpenMPRuntime::hasAllocateAttributeForGlobalVar(), clang::CodeGen::CGOpenMPRuntimeGPU::hasAllocateAttributeForGlobalVar(), clang::hasArmZAState(), clang::hasArmZT0State(), hasExplicitAttr(), hasIdenticalPassObjectSizeAttrs(), hasImplicitAttr(), clang::SemaCUDA::inferTargetForImplicitSpecialMember(), clang::Sema::InstantiateDefaultCtorDefaultArgs(), isAllocatableDecl(), isBetterMultiversionCandidate(), clang::SemaObjC::isCFError(), isGeneratedDecl(), isKernelDecl(), clang::MangleContext::mangleName(), mangleOverrideDiscrimination(), mapConsumableAttrState(), MaybeAddSentinel(), clang::ASTContext::mayExternalize(), clang::Sema::mergeAlwaysInlineAttr(), clang::Sema::mergeCodeSegAttr(), clang::Sema::mergeDeclAttributes(), clang::Sema::mergeDLLExportAttr(), clang::Sema::mergeErrorAttr(), clang::Sema::MergeFunctionDecl(), clang::Sema::mergeMinSizeAttr(), clang::Sema::mergeMSInheritanceAttr(), clang::SemaHLSL::mergeNumThreadsAttr(), clang::Sema::mergeOptimizeNoneAttr(), mergeParamDeclAttributes(), clang::SemaHLSL::mergeParamModifierAttr(), clang::Sema::mergeSectionAttr(), clang::SemaHLSL::mergeShaderAttr(), clang::Sema::mergeUuidAttr(), clang::Sema::MergeVarDecl(), mergeVisibilityAttr(), clang::SemaHLSL::mergeWaveSizeAttr(), noteOverloads(), clang::Sema::ProcessDeclAttributeList(), clang::SemaObjC::ProcessPropertyDecl(), recordUsesEBO(), clang::ASTContext::registerSYCLEntryPointFunction(), clang::CodeGen::CodeGenModule::setGlobalVisibility(), clang::CodeGen::CGHLSLRuntime::setHLSLEntryAttributes(), clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition(), clang::CodeGen::CodeGenModule::setTLSMode(), testsFor(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), clang::Sema::UnifySection(), clang::sema::visitFunctionCallArguments(), clang::ASTDeclReader::VisitFunctionDecl(), and clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl().

◆ getAttrs() [1/2] AttrVec & clang::Decl::getAttrs ( ) inline

Definition at line 527 of file DeclBase.h.

References getAttrs().

Referenced by actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPCopyinClause(), clang::SemaOpenMP::ActOnOpenMPCopyprivateClause(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPLastprivateClause(), clang::SemaOpenMP::ActOnOpenMPLinearClause(), clang::SemaOpenMP::ActOnOpenMPPrivateClause(), clang::SemaOpenMP::ActOnOpenMPUseDevicePtrClause(), addAttr(), addContextSensitiveTypeNullability(), attr_begin(), attr_end(), clang::Sema::BuildReturnStmt(), checkNewAttributesAfterDef(), clang::Sema::checkUnusedDeclAttributes(), createPrivatesRecordDecl(), dropAttrs(), clang::SemaOpenMP::EndOpenMPDSABlock(), getAttr(), getAttrs(), getMaxAlignment(), GetTypeSourceInfoForDeclarator(), HandleSwiftAttr(), hasAttr(), hasAttr(), clang::ASTImporter::Import(), clang::Sema::mergeAvailabilityAttr(), RedeclarePropertyAccessor(), takeDeclAttributes(), and clang::ASTDeclWriter::VisitDecl().

◆ getAttrs() [2/2] const AttrVec & Decl::getAttrs ( ) const ◆ getAvailability() AvailabilityResult Decl::getAvailability ( std::string *  Message = nullptr, VersionTuple  EnclosingVersion = VersionTuple(), StringRef *  RealizedPlatform = nullptr  ) const

Determine the availability of the given declaration.

This routine will determine the most restrictive availability of the given declaration (e.g., preferring 'unavailable' to 'deprecated').

Parameters
Message If non-NULL and the result is not AR_Available, will be set to a (possibly empty) message describing why the declaration has not been introduced, is deprecated, or is unavailable. EnclosingVersion The version to compare with. If empty, assume the deployment target version. RealizedPlatform If non-NULL and the availability result is found in an available attribute it will set to the platform which is written in the available attribute.

Definition at line 753 of file DeclBase.cpp.

References clang::AR_Available, clang::AR_Deprecated, clang::AR_Unavailable, attrs(), CheckAvailability(), getASTContext(), and clang::Result.

Referenced by clang::SemaObjC::addMethodToGlobalList(), clang::Sema::CanUseDecl(), clang::Sema::DiagnoseAvailabilityOfDecl(), DiagnoseObjCImplementedDeprecations(), clang::SemaObjC::DiagnoseUnimplementedProperties(), getDeclAvailability(), isDeprecated(), isUnavailable(), ShouldDiagnoseAvailabilityOfDecl(), and shouldWarnUndefinedMethod().

◆ getBeginLoc()

Definition at line 434 of file DeclBase.h.

References clang::SourceRange::getBegin(), and getSourceRange().

Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaOpenMP::ActOnOMPIteratorExpr(), clang::Sema::ActOnParamDeclarator(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::Sema::ActOnStartConceptDefinition(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::Sema::ActOnVariableDeclarator(), clang::CodeGen::CodeGenModule::AddDeferredUnusedCoverageMapping(), clang::Sema::BuildDeclaratorGroup(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitSharedLastprivateConditional(), clang::Sema::CheckDeductionGuideDeclarator(), checkExportedDecl(), clang::SemaObjC::CheckObjCBridgeRelatedConversions(), checkOpenMPLoop(), clang::ento::PathDiagnosticLocation::createBegin(), CreateNewFunctionDecl(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::SemaObjC::diagnoseNullResettableSynthesizedSetters(), clang::LocationContext::dumpStack(), clang::CodeGen::CGOpenMPRuntime::emitDoacrossInit(), clang::CodeGen::CGOpenMPRuntimeGPU::emitFunctionProlog(), emitParallelOrTeamsOutlinedFunction(), emitTargetCallFallback(), emitTargetCallKernelLaunch(), clang::CodeGen::CGOpenMPRuntime::emitTargetDataCalls(), clang::CodeGen::CGOpenMPRuntime::emitTargetDataStandAloneCall(), clang::CodeGen::CGOpenMPRuntime::emitTargetOutlinedFunctionHelper(), emitTargetTeamsLoopCodegenStatus(), clang::CodeGen::CGOpenMPRuntime::emitTaskOutlinedFunction(), clang::CodeGen::CGOpenMPRuntimeGPU::emitTeamsOutlinedFunction(), fixLocalVarDeclWithSpan(), fixVarDeclWithArray(), GenerateFixForUnusedDecl(), generateUniqueName(), getDeclLocsForCommentSearch(), GetFullTypeForDeclarator(), clang::interp::SourceInfo::getLoc(), getSourceRangeToTokenEnd(), clang::Sema::HandleDeclarator(), clang::Sema::HandleField(), handleMIGServerRoutineAttr(), clang::Sema::HandleMSProperty(), handlePassObjectSizeAttr(), clang::SemaHLSL::handleResourceBindingAttr(), clang::handleSimpleAttributeOrDiagnose(), clang::TemplateDeclInstantiator::InstantiateTypeAliasTemplateDecl(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::isDeclaratorFunctionLike(), clang::syntax::TreeBuilder::isResponsibleForCreatingDeclaration(), clang::sema::AnalysisBasedWarnings::IssueWarnings(), MatchTemplateParameterKind(), clang::Sema::ParseTypedefDecl(), clang::InitializationSequence::Perform(), clang::LocationContext::printJson(), clang::Sema::PrintPragmaAttributeInstantiationPoint(), clang::ento::ExprEngine::ProcessTemporaryDtor(), RedeclarePropertyAccessor(), clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), clang::TreeTransform< Derived >::TransformOMPInformationalDirective(), clang::LexicallyOrderedRecursiveASTVisitor< Derived >::TraverseDeclContextHelper(), clang::ASTNodeImporter::VisitClassTemplateSpecializationDecl(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTNodeImporter::VisitLabelDecl(), clang::ASTDeclWriter::VisitLabelDecl(), clang::ASTNodeImporter::VisitNamespaceDecl(), clang::ASTDeclWriter::VisitNamespaceDecl(), clang::ASTNodeImporter::VisitObjCPropertyImplDecl(), clang::ASTDeclWriter::VisitObjCPropertyImplDecl(), clang::ASTDeclWriter::VisitOMPDeclareReductionDecl(), clang::ASTDeclWriter::VisitPragmaCommentDecl(), clang::ASTDeclWriter::VisitPragmaDetectMismatchDecl(), clang::ASTNodeImporter::VisitRecordDecl(), clang::ASTNodeImporter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTypeDecl(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl(), and warnAboutRedundantParens().

◆ getBody() virtual Stmt * clang::Decl::getBody ( ) const inlinevirtual

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.

Otherwise this method returns null.

Reimplemented in clang::FunctionDecl, clang::BlockDecl, clang::OutlinedFunctionDecl, clang::CapturedDecl, and clang::ObjCMethodDecl.

Definition at line 1080 of file DeclBase.h.

Referenced by clang::CloneDetector::analyzeCodeBody(), CheckStringRefAssignedTemporary(), clang::checkUnsafeBufferUsage(), clang::ento::PathDiagnosticLocation::createDeclBegin(), clang::DEF_TRAVERSE_DECL(), emitDiagnostics(), getBodyRBrace(), clang::ento::getWidenedLoopState(), hasBody(), clang::TrivialFunctionAnalysisVisitor::IsFunctionTrivial(), clang::sema::AnalysisBasedWarnings::IssueWarnings(), populateExecutedLinesWithFunctionSignature(), clang::ASTDeclWriter::VisitBlockDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTDeclWriter::VisitOutlinedFunctionDecl().

◆ getBodyRBrace() ◆ getCachedLinkage() Linkage clang::Decl::getCachedLinkage ( ) const inlineprotected ◆ getCanonicalDecl() [1/2] virtual Decl * clang::Decl::getCanonicalDecl ( ) inlinevirtual

Retrieves the "canonical" declaration of the given declaration.

Reimplemented in clang::TranslationUnitDecl, clang::NamespaceDecl, clang::VarDecl, clang::FunctionDecl, clang::FieldDecl, clang::EnumConstantDecl, clang::IndirectFieldDecl, clang::TypedefNameDecl, clang::TagDecl, clang::EnumDecl, clang::CXXRecordDecl, clang::CXXMethodDecl, clang::CXXConstructorDecl, clang::CXXDestructorDecl, clang::CXXConversionDecl, clang::NamespaceAliasDecl, clang::UsingShadowDecl, clang::UsingDecl, clang::UsingEnumDecl, clang::UsingPackDecl, clang::UnresolvedUsingValueDecl, clang::UnresolvedUsingTypenameDecl, clang::ObjCMethodDecl, clang::ObjCInterfaceDecl, clang::ObjCIvarDecl, clang::ObjCProtocolDecl, clang::RedeclarableTemplateDecl, clang::FunctionTemplateDecl, clang::ClassTemplateDecl, clang::TypeAliasTemplateDecl, clang::VarTemplateDecl, clang::ConceptDecl, and clang::TemplateParamObjectDecl.

Definition at line 971 of file DeclBase.h.

Referenced by clang::SemaOpenMP::ActOnOpenMPLoopInitialization(), clang::Sema::ActOnPragmaMSAllocText(), clang::ODRHash::AddDecl(), clang::MultiLevelTemplateArgumentList::addOuterTemplateArguments(), AddTemplateParameterChunks(), clang::ASTReader::AssignedLambdaNumbering(), clang::ASTContext::attachCommentsToJustParsedDecls(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::ASTContext::cacheRawCommentForDecl(), CheckIdentityFieldAssignment(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentPointerToMember(), compareDeclarations(), clang::NamedDecl::declarationReplaces(), clang::Sema::DeclareImplicitDeductionGuides(), clang::declaresSameEntity(), clang::ASTContext::deduplicateMergedDefinitonsFor(), DiagnoseSelfAssignment(), clang::Sema::DiagnoseSelfMove(), clang::Sema::DiagnoseUseOfDecl(), diagnoseUseOfInternalDeclInInlineFunction(), clang::CodeGen::CGDebugInfo::emitFunctionStart(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::ClassTemplateDecl::findPartialSpecInstantiatedFromMember(), clang::VarTemplateDecl::findPartialSpecInstantiatedFromMember(), generateUniqueName(), clang::index::generateUSRForDecl(), clang::BodyFarm::getBody(), getCanonicalDecl(), getCanonicalDecl(), getCanonicalParmVarDecl(), clang::ASTContext::getCanonicalTemplateArgument(), clang::ASTContext::getCanonicalTemplateName(), clang::ASTContext::getCommentForDecl(), clang::DeclarationNameTable::getCXXDeductionGuideName(), clang::ObjCInterfaceType::getDecl(), getDeclForLocalLookup(), clang::ASTReader::GetExistingDecl(), clang::ASTWriter::getFirstLocalDecl(), getFirstVirtualDecl(), clang::NamedDecl::getFormalLinkage(), clang::ASTContext::getModulesWithMergedDefinition(), clang::ento::MemRegionManager::getNonParamVarRegion(), clang::Sema::getNormalizedAssociatedConstraints(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::CallGraph::getOrInsertNode(), clang::ASTContext::getRawCommentForAnyRedecl(), clang::ASTContext::getSubstTemplateTypeParmPackType(), clang::VTableContextBase::getThunkInfo(), clang::OMPClauseMappableExprCommon::getUniqueDeclarationsTotalNumber(), clang::ASTContext::getUnresolvedUsingType(), clang::ento::MemRegionManager::getVarRegion(), handleLifetimeCategoryAttr(), hasRecursiveCallInPath(), clang::ASTNodeImporter::ImportAPValue(), clang::ADLResult::insert(), isCanonicalDecl(), clang::ento::isCapturedByReference(), IsEquivalentForUsingDecl(), clang::ento::isFoundInStmt(), clang::OverloadCandidateSet::isNewCandidate(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::SemaOpenMP::isOpenMPDeclareMapperVarDeclAllowed(), clang::SemaOpenMP::isOpenMPPrivateDecl(), clang::ento::isPossiblyEscaped(), isSameDeclaration(), IsStructurallyEquivalent(), isUsed(), clang::Sema::LookupQualifiedName(), clang::Sema::LookupTemplateName(), clang::APValue::LValuePathEntry::LValuePathEntry(), MatchesFriend(), clang::ASTContext::mergeDefinitionIntoModule(), clang::ASTDeclMerger::mergeRedeclarableImpl(), clang::ASTDeclReader::mergeRedeclarableTemplate(), clang::ASTDeclWriter::RegisterTemplateSpecialization(), clang::LookupResult::resolveKind(), setIsUsed(), shouldBeHidden(), clang::Sema::tryCaptureVariable(), clang::ASTDeclReader::UpdateDecl(), clang::ASTDeclReader::Visit(), clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclReader::VisitCXXDestructorDecl(), clang::ASTDeclReader::VisitCXXMethodDecl(), clang::ASTDeclReader::VisitCXXRecordDeclImpl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ASTDeclReader::VisitMSGuidDecl(), clang::ASTDeclReader::VisitRedeclarable(), clang::ASTDeclReader::VisitRedeclarableTemplateDecl(), clang::ASTDeclReader::VisitTemplateParamObjectDecl(), clang::ASTDeclReader::VisitUnnamedGlobalConstantDecl(), ForVarDeclFinder::VisitVarDecl(), clang::ASTDeclWriter::VisitVarTemplateSpecializationDecl(), and wasDifferentDeclUsedForInlining().

◆ getCanonicalDecl() [2/2] const Decl * clang::Decl::getCanonicalDecl ( ) const inline ◆ getDeclContext() [1/2]

Definition at line 451 of file DeclBase.h.

Referenced by clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCXXEnterDeclInitializer(), clang::Sema::ActOnDeclarator(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnEnumConstant(), clang::SemaObjC::ActOnFinishObjCImplementation(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::SemaOpenMP::ActOnOpenMPIdExpression(), clang::Sema::ActOnReenterTemplateScope(), clang::SemaObjC::ActOnStartOfObjCMethodDef(), clang::Sema::ActOnTag(), clang::Sema::ActOnTypedefNameDecl(), clang::Sema::ActOnVariableDeclarator(), clang::ASTImporterLookupTable::add(), addAssociatedClassesAndNamespaces(), clang::TypoCorrectionConsumer::addCorrection(), clang::Sema::AddFunctionCandidates(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::AddMethodCandidate(), clang::SemaObjC::addMethodToGlobalList(), clang::CodeGen::CodeGenTypes::addRecordTypeName(), addRedeclaredMethods(), AddTopLevelDeclarationToHash(), adjustCVQualifiersForCXXThisWithinLambda(), adjustDeclContextForDeclaratorDecl(), clang::Sema::BuildCallToObjectOfClassType(), clang::SemaObjC::BuildClassMessage(), clang::Sema::BuildCXXConstructExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), buildImplicitMapper(), clang::SemaObjC::BuildInstanceMessage(), clang::Sema::BuildVariableInstantiation(), clang::Sema::BuildVarTemplateInstantiation(), canEmitSpuriousReferenceToVariable(), clang::Sema::CheckAddressOfOperand(), clang::SemaCUDA::checkAllowedInitializer(), checkAtomicPropertyMismatch(), CheckBindingsCount(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckConceptTemplateId(), clang::Sema::CheckCXXDefaultArgExpr(), clang::Sema::CheckDeductionGuideDeclarator(), clang::Sema::CheckDependentFunctionTemplateSpecialization(), CheckExplicitInstantiationScope(), clang::Sema::CheckExplicitlyDefaultedFunction(), clang::Sema::CheckFriendAccess(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::SemaObjC::checkInitMethod(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::CheckMain(), clang::SemaObjC::CheckMessageArgumentTypes(), CheckMethodOverrideParam(), CheckMethodOverrideReturn(), CheckMultiVersionFunction(), clang::SemaObjC::CheckObjCMethodDirectOverrides(), clang::SemaObjC::CheckObjCMethodOverride(), clang::SemaObjC::CheckObjCMethodOverrides(), checkObjCUnusedIvar(), CheckOperatorNewDeleteDeclarationScope(), clang::Sema::CheckShadow(), clang::Sema::CheckShadowingDeclModification(), CheckSimplerImplicitMovesMSVCWorkaround(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateArgumentList(), clang::Sema::CheckTemplatePartialSpecializationArgs(), CheckTemplateSpecializationScope(), checkTupleLikeDecomposition(), checkTypeParamListConsistency(), clang::Sema::CheckUsingShadowDecl(), clang::Sema::checkVarDeclRedefinition(), clang::Sema::CheckVarTemplateId(), ClassifyImplicitMemberAccess(), collectOverriddenMethodsSlow(), collectViableConversionCandidates(), compareOverloads(), clang::ASTReader::CompleteRedeclChain(), ComputeDefaultedComparisonExceptionSpec(), clang::computeDependence(), clang::LinkageComputer::computeLVForDecl(), clang::PredefinedExpr::ComputeName(), constructBufferConceptDecl(), ConvertDeducedTemplateArguments(), clang::LifetimeExtendedTemporaryDecl::Create(), clang::CodeCompletionResult::CreateCodeCompletionString(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), createFriendTagNNSFixIt(), createHostLayoutStruct(), clang::TypeName::createNestedNameSpecifierForScopeOf(), clang::NamedDecl::declarationReplaces(), clang::Sema::DeclareAggregateDeductionGuideFromInitList(), clang::Sema::DeclareImplicitDeductionGuides(), clang::Sema::DeclClonePragmaWeak(), clang::ASTContext::DeclMustBeEmitted(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::SemaObjC::DefaultSynthesizeProperties(), clang::ObjCMethodDecl::definedInNSObject(), clang::Sema::DiagnoseAmbiguousLookup(), diagnoseBadDirectAccess(), clang::Sema::DiagnoseDependentMemberLookup(), clang::Sema::DiagnoseEmptyLookup(), diagnoseInstanceReference(), DiagnoseInvalidRedeclaration(), DiagnoseLocalRegisterBinding(), diagnoseNoescape(), diagnoseOpenCLTypes(), clang::SemaObjC::DiagnoseOwningPropertyGetterSynthesis(), clang::SemaObjC::DiagnosePropertyMismatch(), clang::Sema::DiagnoseShadowingLambdaDecls(), clang::Sema::DiagnoseUninstantiableTemplate(), clang::Sema::DiagnoseUseOfDecl(), clang::Sema::DiagRedefinedPlaceholderFieldDecl(), DoMarkPotentialCapture(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CGDebugInfo::EmitNamespaceAlias(), emitPrivatesInit(), clang::CodeGen::CGDebugInfo::EmitUsingDirective(), clang::CodeGen::CGDebugInfo::EmitUsingShadowDecl(), evaluateVarDeclInit(), FilterMethodsByTypeBound(), clang::Sema::FinalizeDeclaration(), findBackingIvar(), FindConversionForRefInit(), FindDeclaringClass(), findEnumForBlockReturn(), findExplicitInstancetypeDeclarer(), clang::Sema::FindInstantiatedDecl(), clang::LocalInstantiationScope::findInstantiationOf(), findMetaClassAlloc(), clang::StructuralEquivalenceContext::findUntaggedStructOrUnionIndex(), clang::Sema::FixOverloadedFunctionReference(), clang::ASTContext::forEachMultiversionedFunctionVersion(), FormatFunctionParameter(), getAsDeclContextOrEnclosing(), getAssignmentAction(), clang::BodyFarm::getBody(), clang::ObjCMethodDecl::getCanonicalDecl(), clang::ObjCMethodDecl::getCategory(), getCategoryContext(), clang::ObjCMethodDecl::getClassInterface(), clang::ConstructorUsingShadowDecl::getConstructedBaseClass(), clang::ObjCIvarDecl::getContainingInterface(), getContextForScopeMatching(), getDeclAvailability(), getDeclContext(), clang::Sema::TemplateCompareNewDeclInfo::getDeclContext(), getDeclContextForTemplateInstationPattern(), getDeclForLocalLookup(), getDeclLanguageLinkage(), getDeclLocsForCommentSearch(), clang::TemplateArgument::getDependence(), clang::diff::getEnclosingDeclContext(), getExternalSourceSymbolAttr(), clang::ASTImporter::getFieldIndex(), getHostLayoutStructName(), clang::ASTContext::getMemberPointerPathAdjustment(), getMethodReceiverIfKnownImmutable(), getNonTransparentDeclContext(), clang::ASTContext::getObjContainingInterface(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), getOutermostFuncOrBlockContext(), clang::ObjCMethodDecl::getOverriddenMethods(), clang::FieldDecl::getParent(), clang::ConstructorUsingShadowDecl::getParent(), getParentFunctionOrMethod(), getPreviousDeclForInstantiation(), clang::diff::SyntaxTree::Impl::getRelativeName(), clang::ObjCMethodDecl::getSendResultType(), clang::Sema::getShadowedDeclaration(), clang::ParmVarDecl::getSourceRange(), getStackIndexOfNearestEnclosingCaptureReadyLambda(), getStaticDeclName(), clang::LifetimeExtendedTemporaryDecl::getStorageDuration(), clang::extractapi::DeclarationFragmentsBuilder::getSubHeading(), clang::index::getSymbolInfo(), getTemplateDepth(), getTranslationUnitDecl(), clang::ObjCPropertyDecl::getUsageType(), clang::ObjCIvarDecl::getUsageType(), clang::ento::MemRegionManager::getVarRegion(), clang::index::IndexingContext::handleDecl(), clang::Sema::HandleDelayedAccessCheck(), handleExcludeFromExplicitInstantiationAttr(), clang::SemaHLSL::handlePackOffsetAttr(), clang::SemaObjC::HandlePropertyInClassExtension(), handleWeakRefAttr(), hasAcceptableMemberSpecialization(), hasConflictingOverload(), hasCopyOrMoveCtorParam(), clang::dataflow::hasOptionalClassName(), hasWrittenStorageAttribute(), HelperToDiagnoseMismatchedMethodsInGlobalPool(), clang::Sema::HideUsingShadowDecl(), clang::SemaCUDA::IdentifyTarget(), clang::ASTImporter::Import(), clang::ASTNodeImporter::ImportDeclContext(), clang::ASTNodeImporter::ImportDeclParts(), clang::Sema::inferGslPointerAttribute(), InNamespace(), clang::TemplateDeclInstantiator::InstantiateEnumDefinition(), clang::Sema::InstantiateFunctionDefinition(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::InstantiateVariableDefinition(), clang::Sema::InstantiateVariableInitializer(), isAncestorDeclContextOf(), IsArtificial(), clang::LookupResult::isAvailableForLookup(), clang::isBetterOverloadCandidate(), isCapturingReferenceToHostVarInCUDADeviceLambda(), clang::dataflow::isCheckLikeMethod(), clang::ento::CheckerContext::isCLibraryFunction(), clang::NamedDecl::isCXXClassMember(), isDebuggingContext(), isDeclExternC(), clang::IdentifierResolver::isDeclInScope(), isDeclWithinFunction(), clang::ObjCMethodDecl::isDesignatedInitializerForTheInterface(), isFunctionLocalClass(), clang::FunctionDecl::isGlobal(), isInAnonymousNamespace(), IsInfinityFunction(), clang::RecordDecl::isInjectedClassName(), isInStdNamespace(), clang::AnalysisDeclContext::isInStdNamespace(), clang::CXXRecordDecl::isInterfaceLike(), IsInternalDeclFromFileContext(), clang::CXXRecordDecl::isLocalClass(), clang::FunctionDecl::isMain(), isMainVar(), isMethodContextSameForKindofLookup(), isMethodDeclaredInRootProtocol(), clang::FunctionDecl::isMSVCRTEntryPoint(), isObjCMethodWithTypeParams(), clang::Expr::isObjCSelfExpr(), isOutOfLine(), isOutOfScopePreviousDeclaration(), isParameterOf(), clang::NamedDecl::isPlaceholderVar(), IsRecordContextStructurallyEquivalent(), isReferenceToNonConstCapture(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::NamedDecl::isReserved(), clang::FunctionDecl::isReservedGlobalPlacementOperator(), clang::ASTContext::isSameEntity(), isSingleLineLanguageLinkage(), clang::VarDecl::isStaticDataMember(), clang::ento::smartptr::isStdSmartPtr(), IsStructurallyEquivalent(), clang::ODRHash::isSubDeclToBeProcessed(), isTemplated(), clang::index::IndexingContext::isTemplateImplicitInstantiation(), isTrackedVar(), IsUserDefinedConversion(), isUsingDeclNotAtClassScope(), clang::Sema::isUsualDeallocationFunction(), clang::CXXMethodDecl::isUsualDeallocationFunction(), clang::Sema::LazilyCreateBuiltin(), LookupMemberExpr(), clang::Sema::LookupOrCreateLabel(), clang::DeclContext::makeDeclVisibleInContext(), clang::MangleContext::mangleObjCMethodName(), clang::ASTImporter::MapImported(), MatchesFriend(), clang::Sema::MergeCXXFunctionDecl(), clang::Sema::mergeObjCMethodDecls(), mergeParamDeclAttributes(), MightInstantiateTo(), clang::Sema::PrintInstantiationStack(), clang::NamedDecl::printNestedNameSpecifier(), clang::NamedDecl::printQualifiedName(), clang::Sema::ProcessAPINotes(), clang::SemaObjC::ProcessPropertyDecl(), RecordModifiableNonNullParam(), clang::ASTImporterLookupTable::remove(), clang::DeclContext::removeDecl(), clang::tooling::replaceNestedName(), ResolveConstructorOverload(), clang::FunctionDecl::setIsPureVirtual(), setLexicalDeclContext(), shouldConsiderLinkage(), ShouldDiagnoseUnusedDecl(), clang::Sema::shouldLinkDependentDeclWithPrevious(), ShouldWarnAboutMissingPrototype(), clang::Sema::ShouldWarnIfUnusedFileScopedDecl(), clang::Sema::SubstDefaultArgument(), SubstDefaultTemplateArgument(), clang::TreeTransform< Derived >::TransformFunctionTypeParam(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), clang::IdentifierResolver::tryAddTopLevelDecl(), clang::SemaOpenMP::tryCaptureOpenMPLambdas(), clang::Sema::tryCaptureVariable(), clang::Sema::tryLookupUnambiguousFieldDecl(), TryRefInitWithConversionFunction(), TryUserDefinedConversion(), clang::ASTImporterLookupTable::update(), ValidDuplicateEnum(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::ASTNodeImporter::VisitAccessSpecDecl(), clang::ASTDeclWriter::VisitClassTemplateDecl(), clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitCXXRecordDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitFieldDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ASTNodeImporter::VisitFunctionTemplateDecl(), clang::JSONNodeDumper::VisitNamedDecl(), clang::ASTDeclReader::VisitObjCIvarDecl(), clang::ASTDeclWriter::VisitObjCIvarDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTNodeImporter::VisitStaticAssertDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTypedefDecl(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ASTDeclWriter::VisitUsingShadowDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitVarDecl(), clang::ASTDeclWriter::VisitVarDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitVarTemplateDecl(), clang::ASTNodeImporter::VisitVarTemplateDecl(), and clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl().

◆ getDeclContext() [2/2] const DeclContext * clang::Decl::getDeclContext ( ) const inline ◆ getDeclKindName() const char * Decl::getDeclKindName ( ) const ◆ getDefiningAttr() const Attr * Decl::getDefiningAttr ( ) const

Return this declaration's defining attribute if it has one.

Definition at line 620 of file DeclBase.cpp.

◆ getDescribedTemplate() ◆ getDescribedTemplateParams() ◆ getEndLoc()

Definition at line 438 of file DeclBase.h.

References clang::SourceRange::getEnd(), and getSourceRange().

Referenced by clang::Sema::ActOnCXXNew(), clang::Sema::ActOnFinishFunctionBody(), clang::TemplateDeclInstantiator::adjustForRewrite(), clang::Sema::checkFinalSuspendNoThrow(), checkTypeParamListConsistency(), ComputeDefaultedComparisonExceptionSpec(), CreateNewFunctionDecl(), clang::Sema::DefineDefaultedComparison(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::CodeGen::CGOpenMPRuntime::emitDoacrossInit(), GenerateFixForUnusedDecl(), clang::tooling::getAssociatedRange(), clang::ExportDecl::getEndLoc(), clang::LinkageSpecDecl::getEndLoc(), clang::CoroutineBodyStmt::getEndLoc(), GetFullTypeForDeclarator(), clang::UsingDecl::getSourceRange(), clang::UnresolvedUsingValueDecl::getSourceRange(), clang::ObjCTypeParamDecl::getSourceRange(), clang::OMPCapturedExprDecl::getSourceRange(), getSourceRangeToTokenEnd(), clang::ento::PathDiagnosticLocation::getValidSourceLocation(), clang::Sema::InstantiateFunctionDefinition(), maybeRecoverWithZeroInitialization(), RedeclarePropertyAccessor(), clang::CodeGen::CodeGenModule::Release(), SuggestInitializationFixit(), clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), clang::TreeTransform< Derived >::TransformOMPInformationalDirective(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitImportDecl(), clang::ASTNodeImporter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and warnAboutRedundantParens().

◆ getExternalSourceSymbolAttr() ExternalSourceSymbolAttr * Decl::getExternalSourceSymbolAttr ( ) const ◆ getFriendObjectKind()

Determines whether this declaration is the object of a friend declaration and, if so, what kind.

There is currently no direct way to find the associated FriendDecl.

Definition at line 1219 of file DeclBase.h.

References FOK_Declared, FOK_None, FOK_Undeclared, IDNS_Ordinary, IDNS_OrdinaryFriend, IDNS_Tag, and IDNS_TagFriend.

Referenced by clang::Sema::ActOnPureSpecifier(), clang::Sema::ArgumentDependentLookup(), clang::Sema::canFullyTypeCheckRedeclaration(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckDependentFunctionTemplateSpecialization(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), CheckMultiVersionAdditionalDecl(), clang::Sema::CheckOverload(), clang::Sema::CheckRedeclarationModuleOwnership(), ComputeDefaultedComparisonExceptionSpec(), clang::FriendDecl::Create(), DiagnoseInvalidRedeclaration(), clang::Sema::FindInstantiatedDecl(), clang::Sema::FinishTemplateArgumentDeduction(), clang::Sema::FriendConstraintsDependOnEnclosingTemplate(), getTemplateDepth(), clang::Sema::GetTemplateParameterList(), clang::FunctionDecl::getTemplateSpecializationKind(), clang::FunctionDecl::getTemplateSpecializationKindForInstantiation(), clang::Sema::InstantiateClass(), clang::Sema::InstantiateDefaultArgument(), clang::FunctionDecl::isMemberLikeConstrainedFriend(), isTemplated(), clang::FunctionDecl::isThisDeclarationInstantiatedFromAFriendDefinition(), clang::Sema::MergeCXXFunctionDecl(), clang::Sema::MergeFunctionDecl(), clang::serialization::needsAnonymousDeclarationNumber(), shouldBeHidden(), clang::Sema::shouldLinkDependentDeclWithPrevious(), SubstituteConstraintExpressionWithoutSatisfaction(), clang::TextNodeDumper::Visit(), clang::ASTNodeImporter::VisitClassTemplateDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitFunctionDecl(), and clang::TemplateDeclInstantiator::VisitFunctionDecl().

◆ getFunctionType()

Looks through the Decl's underlying type to extract a FunctionType when possible.

This includes direct FunctionDecls, along with various function types and typedefs. This includes function pointers/references, member function pointers, and optionally if BlocksToo is set Objective-C block pointers. Returns nullptr if the type underlying the Decl does not have a FunctionType.

Definition at line 1188 of file DeclBase.cpp.

References clang::Type::castAs(), D, clang::Type::getAs(), getPointeeType(), clang::Type::isBlockPointerType(), clang::Type::isFunctionPointerType(), clang::Type::isFunctionReferenceType(), clang::Type::isMemberFunctionPointerType(), and clang::QualType::isNull().

Referenced by clang::Sema::checkCall(), checkFormatStringExpr(), clang::Sema::FunctionNonObjectParamTypesAreEqual(), clang::getFunctionOrMethodNumParams(), clang::getFunctionOrMethodParamType(), clang::getFunctionOrMethodResultType(), clang::SemaRISCV::handleInterruptAttr(), handleNonNullAttrParameter(), handleSentinelAttr(), handleWarnUnusedResult(), clang::hasFunctionProto(), clang::isFuncOrMethodForAttrSubject(), clang::isFunctionOrMethodVariadic(), and isKernelDecl().

◆ getGlobalID() ◆ getID() int64_t Decl::getID ( ) const ◆ getIdentifierNamespace() unsigned clang::Decl::getIdentifierNamespace ( ) const inline

Definition at line 882 of file DeclBase.h.

Referenced by clang::Sema::ArgumentDependentLookup(), clang::Sema::FilterUsingLookup(), hasTagIdentifierNamespace(), isInIdentifierNamespace(), setLocalExternDecl(), setObjectOfFriendDecl(), clang::UsingShadowDecl::setTargetDecl(), shouldBeHidden(), clang::ASTDeclWriter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitRedeclarableTemplateDecl(), clang::ASTDeclWriter::VisitTagDecl(), and clang::ASTDeclWriter::VisitUsingShadowDecl().

◆ getIdentifierNamespaceForKind()

Definition at line 867 of file DeclBase.cpp.

References clang::Block, clang::Empty, clang::Enum, clang::Friend, clang::Function, IDNS_Label, IDNS_Member, IDNS_Namespace, IDNS_ObjCProtocol, IDNS_OMPMapper, IDNS_OMPReduction, IDNS_Ordinary, IDNS_Tag, IDNS_Type, IDNS_Using, and Label.

◆ getImportedOwningModule() Module * clang::Decl::getImportedOwningModule ( ) const inline ◆ getKind() Kind clang::Decl::getKind ( ) const inline

Definition at line 445 of file DeclBase.h.

Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::ActOnVarTemplateSpecialization(), clang::ODRHash::AddDecl(), clang::CodeGen::CodeGenModule::AddDeferredUnusedCoverageMapping(), clang::ASTDeclReader::attachLatestDecl(), clang::ASTDeclReader::attachPreviousDecl(), clang::Sema::BuildDeclarationNameExpr(), castToDeclContext(), clang::Sema::CheckFunctionOrTemplateParamDeclarator(), clang::Sema::CheckTemplateArgumentList(), clang::DeclContext::classof(), compareDeclarations(), clang::ASTReader::CompleteRedeclChain(), clang::LinkageComputer::computeLVForDecl(), clang::NamedDecl::declarationReplaces(), DeduceTemplateArgumentsByTypeMatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), diagnoseRedundantReturnTypeQualifiers(), dumpPreviousDecl(), clang::CodeGen::CodeGenModule::EmitDeferredUnusedCoverageMappings(), clang::CodeGen::CodeGenModule::EmitTopLevelDecl(), clang::comments::DeclInfo::fill(), clang::ASTReader::FindExternalLexicalDecls(), clang::ObjCContainerDecl::FindPropertyDeclaration(), clang::getCursorKindForDecl(), GetDeclSpecTypeForDeclarator(), clang::ASTNodeKind::getFromNode(), GetFullTypeForDeclarator(), getKind(), clang::ASTDeclReader::getMostRecentDecl(), clang::Sema::getNamedReturnInfo(), clang::getReplacedTemplateParameterList(), clang::index::getSymbolInfo(), clang::NamedDecl::getUnderlyingDecl(), clang::Sema::HandleDeclarator(), clang::VarDecl::isFileVarDecl(), clang::VarDecl::isFunctionOrMethodVarDecl(), isInstantiationOf(), clang::VarDecl::isLocalVarDecl(), clang::VarDecl::isLocalVarDeclOrParm(), clang::syntax::TreeBuilder::isResponsibleForCreatingDeclaration(), clang::ASTContext::isSameEntity(), clang::ASTContext::isSameTemplateParameter(), clang::VarDecl::isStaticDataMember(), IsStructurallyEquivalent(), clang::ODRHash::isSubDeclToBeProcessed(), isTemplateParameter(), clang::TemplateDecl::isTypeAlias(), MatchTemplateParameterKind(), clang::ento::ExprEngine::ProcessImplicitDtor(), clang::ento::CheckerManager::runCheckersOnASTDecl(), setNonMemberOperator(), clang::RecursiveASTVisitor< Derived >::TraverseDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclReader::VisitRedeclarableTemplateDecl(), and clang::ASTDeclWriter::VisitVarDecl().

◆ getLangOpts()

Helper to get the language options from the ASTContext.

Defined out of line to avoid depending on ASTContext.h.

Definition at line 534 of file DeclBase.cpp.

References getASTContext(), and clang::ASTContext::getLangOpts().

Referenced by clang::transformer::after(), canBeWeakImported(), clang::VarDecl::checkForConstantInitialization(), clang::CXXRecordDecl::defaultedDefaultConstructorIsConstexpr(), clang::CXXRecordDecl::defaultedDestructorIsConstexpr(), describeClass(), clang::FunctionDecl::getBuiltinID(), clang::FunctionDecl::getMinRequiredArguments(), clang::VarDecl::getTLSKind(), clang::VarDecl::hasConstantInitialization(), clang::CXXRecordDecl::isLiteral(), clang::FunctionDecl::isMain(), and clang::VarDecl::isUsableInConstantExpressions().

◆ getLexicalDeclContext() [1/2]

getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC).

May be different from getDeclContext() (SemanticDC). e.g.:

namespace A { void f(); // SemanticDC == LexicalDC == 'namespace A' } void A::f(); // SemanticDC == namespace 'A' // LexicalDC == global namespace

Definition at line 911 of file DeclBase.h.

Referenced by clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::ASTUnit::addFileLevelDecl(), clang::DeclContext::addHiddenDecl(), clang::Sema::AddInitializerToDecl(), adjustDeclContextForDeclaratorDecl(), clang::Sema::AreConstraintExpressionsEqual(), clang::Sema::ArgumentDependentLookup(), clang::Sema::BuildVariableInstantiation(), CalculateTemplateDepthForConstraints(), clang::Sema::canFullyTypeCheckRedeclaration(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckForFunctionRedefinition(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckRedeclarationExported(), checkTupleLikeDecomposition(), clang::Sema::CompleteLambdaCallOperator(), clang::ASTReader::CompleteRedeclChain(), ComputeDefaultedComparisonExceptionSpec(), clang::DeclContext::containsDecl(), clang::Sema::DiagnoseDeletedDefaultedFunction(), DiagUninitUse(), clang::exceptionSpecNotKnownYet(), clang::Sema::FindInstantiatedDecl(), clang::Sema::FinishTemplateArgumentDeduction(), clang::CodeGen::CodeGenModule::GetAddrOfGlobalTemporary(), clang::ASTWriter::getAnonymousDeclarationNumber(), getContextForScopeMatching(), getDefiningModule(), getEnclosingExportDecl(), getFriendCountAndPosition(), clang::ASTContext::getInlineVariableDefinitionKind(), getLexicalDeclContext(), clang::Sema::TemplateCompareNewDeclInfo::getLexicalDeclContext(), getParentFunctionOrMethod(), getPreviousDeclForInstantiation(), getTemplateDepth(), clang::Sema::HandleDelayedAccessCheck(), hasAcceptableMemberSpecialization(), clang::ASTNodeImporter::ImportDeclContext(), clang::Sema::InstantiateDefaultArgument(), clang::Sema::InstantiateExceptionSpec(), clang::Sema::InstantiateVariableDefinition(), clang::ClassTemplateSpecializationDecl::isClassScopeExplicitSpecialization(), clang::VarTemplateSpecializationDecl::isClassScopeExplicitSpecialization(), clang::VarDecl::isFileVarDecl(), clang::VarDecl::isFunctionOrMethodVarDecl(), isInExportDeclContext(), clang::VarDecl::isInExternCContext(), clang::FunctionDecl::isInExternCContext(), clang::VarDecl::isInExternCXXContext(), clang::FunctionDecl::isInExternCXXContext(), isInLocalScopeForInstantiation(), clang::VarDecl::isLocalVarDecl(), isOutOfLine(), IsOverloadOrOverrideImpl(), clang::ento::BugSuppression::isSuppressed(), isTemplated(), clang::Sema::MergeCXXFunctionDecl(), clang::Sema::MergeFunctionDecl(), mergeTypeWithPrevious(), clang::Sema::MergeVarDecl(), clang::serialization::needsAnonymousDeclarationNumber(), RedeclForcesDefC99(), clang::Sema::RegisterLocallyScopedExternCDecl(), clang::DeclContext::removeDecl(), clang::Sema::SetDeclDefaulted(), setLexicalDeclContext(), clang::Sema::shouldLinkDependentDeclWithPrevious(), clang::Sema::ShouldWarnIfUnusedFileScopedDecl(), substituteParameterMappings(), clang::Sema::UseArgumentDependentLookup(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::ASTNodeImporter::VisitClassTemplateDecl(), clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitObjCIvarDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTypedefDecl(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ASTDeclWriter::VisitUsingShadowDecl(), clang::ASTDeclWriter::VisitVarDecl(), and clang::ASTDeclReader::VisitVarDeclImpl().

◆ getLexicalDeclContext() [2/2] const DeclContext * clang::Decl::getLexicalDeclContext ( ) const inline ◆ getLocalOwningModule() Module * clang::Decl::getLocalOwningModule ( ) const inline ◆ getLocation()

Definition at line 442 of file DeclBase.h.

References Loc.

Referenced by clang::Sema::ActOnAliasDeclaration(), clang::SemaObjC::ActOnAtEnd(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnClassTemplateSpecialization(), clang::SemaObjC::ActOnCompatibilityAlias(), clang::Sema::ActOnCompoundStmt(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCXXConditionDeclaration(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXForRangeDecl(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::SemaOpenMP::ActOnFinishedFunctionDefinitionInOpenMPDeclareVariantScope(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnForStmt(), clang::SemaObjC::ActOnForwardClassDeclaration(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnInitializerError(), clang::SemaOpenACC::ActOnIntExpr(), clang::SemaObjC::ActOnIvar(), clang::Sema::ActOnLabelStmt(), clang::Sema::ActOnLambdaExpressionAfterIntroducer(), clang::SemaObjC::ActOnMethodDeclaration(), clang::SemaObjC::ActOnMethodParmDeclaration(), clang::Sema::ActOnMSAsmStmt(), clang::Sema::ActOnNamespaceAliasDef(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), clang::SemaOpenMP::ActOnOMPIteratorExpr(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPAlignedClause(), clang::SemaOpenMP::ActOnOpenMPAllocateDirective(), clang::SemaOpenMP::ActOnOpenMPCopyprivateClause(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionCombinerStart(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionInitializerStart(), clang::SemaOpenMP::ActOnOpenMPDeclareSimdDirective(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPIdExpression(), clang::SemaOpenMP::ActOnOpenMPLastprivateClause(), clang::SemaOpenMP::ActOnOpenMPPrivateClause(), clang::SemaOpenMP::ActOnOpenMPRegionEnd(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnPopScope(), clang::Sema::ActOnPragmaRedefineExtname(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::Sema::ActOnPureSpecifier(), clang::SemaObjC::ActOnStartCategoryImplementation(), clang::SemaObjC::ActOnStartCategoryInterface(), clang::SemaObjC::ActOnStartClassImplementation(), clang::SemaObjC::ActOnStartClassInterface(), clang::Sema::ActOnStartConceptDefinition(), clang::Sema::ActOnStartNamespaceDef(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaObjC::ActOnStartOfObjCMethodDef(), clang::SemaObjC::ActOnStartProtocolInterface(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), clang::Sema::ActOnTag(), clang::Sema::ActOnTagFinishDefinition(), clang::Sema::ActOnTagTemplateIdType(), clang::Sema::ActOnTemplateTemplateParameter(), clang::Sema::ActOnVariableDeclarator(), clang::SemaHLSL::ActOnVariableDeclarator(), clang::ASTUnit::addFileLevelDecl(), addFunctionPointerConversion(), clang::CodeGen::CodeGenModule::AddGlobalAnnotations(), clang::Sema::addInitCapture(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::AddKnownFunctionAttributesForReplaceableGlobalAllocationFunction(), clang::Sema::AddTemplateParametersToLambdaCallOperator(), applyNullability(), clang::applyObjCTypeArgs(), clang::Sema::areMultiversionVariantFunctionsCompatible(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), clang::SemaObjC::AtomicPropertySetterGetterRules(), clang::ASTContext::attachCommentsToJustParsedDecls(), clang::Sema::AttachTypeConstraint(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToMemberFunction(), clang::SemaObjC::BuildClassMessage(), buildCoawaitCalls(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildDeclarationNameExpr(), buildImplicitMapper(), clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::BuildIvarRefExpr(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildMemInitializer(), clang::Sema::BuildMicrosoftCAnonymousStruct(), BuildNonArrayForRange(), clang::Sema::BuildResolvedCallExpr(), clang::CodeGen::CGCXXABI::buildThisParam(), clang::Sema::BuildUsingDeclaration(), clang::Sema::BuildUsingEnumDeclaration(), clang::Sema::BuildUsingShadowDecl(), clang::Sema::BuildVariableInstantiation(), clang::Sema::BuiltinEnumUnderlyingType(), clang::ento::ObjCMethodCall::canBeOverridenInSubclass(), clang::canVarDeclThrow(), captureInBlock(), captureInLambda(), checkAddressOfFunctionIsAvailable(), clang::SemaCUDA::checkAllowedInitializer(), CheckAnonMemberRedeclaration(), clang::SemaObjC::CheckARCMethodDecl(), checkARCPropertyImpl(), checkAtomicPropertyMismatch(), clang::threadSafety::BeforeSet::checkBeforeAfter(), CheckBindingsCount(), clang::interp::CheckCallable(), clang::Sema::CheckCallReturnType(), clang::Sema::CheckClassTemplate(), clang::SemaHLSL::CheckCompatibleParameterABI(), clang::Sema::CheckCompletedCoroutineBody(), clang::Sema::CheckCompletedCXXClass(), clang::Sema::CheckCompleteDecompositionDeclaration(), clang::Sema::CheckConceptRedefinition(), clang::Sema::CheckConceptTemplateId(), clang::Sema::CheckConditionVariable(), clang::SemaObjC::CheckConflictingOverridingMethod(), clang::interp::CheckConstant(), CheckConstexprCtorInitializer(), CheckConstexprDestructorSubobjects(), CheckConstexprFunction(), CheckConstexprFunctionBody(), clang::Sema::CheckConstexprFunctionDefinition(), CheckConstexprMissingReturn(), CheckConstexprParameterTypes(), CheckConstexprReturnType(), CheckConstPureAttributesUsage(), clang::Sema::CheckCoroutineWrapper(), clang::Sema::CheckCountedByAttrOnField(), checkCUDADeviceBuiltinSurfaceClassTemplate(), checkCUDADeviceBuiltinTextureClassTemplate(), clang::Sema::CheckCXXDefaultArguments(), clang::interp::CheckDecl(), CheckDeclarationCausesMultiVersioning(), checkDeclInTargetContext(), clang::SemaOpenMP::checkDeclIsAllowedInOpenMPTarget(), CheckDeductionConsistency(), clang::Sema::CheckDeductionGuideTemplate(), clang::Sema::CheckDependentFunctionTemplateSpecialization(), clang::Sema::CheckDestructor(), checkDLLAttributeRedeclaration(), clang::SemaHLSL::CheckEntryPoint(), clang::Sema::CheckEnumRedeclaration(), clang::Sema::CheckEquivalentExceptionSpec(), checkEscapingByref(), CheckEvaluationResult(), CheckExplicitInstantiationScope(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckExplicitObjectMemberFunction(), clang::Sema::CheckExplicitObjectOverride(), clang::sema::checkExprLifetimeImpl(), clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckForFunctionRedefinition(), checkForMultipleExportedDefaultConstructors(), CheckForReference(), clang::Sema::CheckFriendAccess(), clang::Sema::CheckFunctionConstraints(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), checkGlobalOrExternCConflict(), clang::Sema::CheckIfOverriddenFunctionIsMarkedFinal(), clang::Sema::CheckImmediateEscalatingFunctionDefinition(), clang::SemaObjC::CheckImplementationIvars(), clang::Sema::checkIncorrectVTablePointerAuthenticationAttribute(), checkInheritableAttr(), clang::SemaObjC::checkInitMethod(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckLiteralOperatorDeclaration(), checkLiteralOperatorTemplateParameterList(), CheckLocalVariableDeclaration(), clang::Sema::CheckMain(), checkMemberDecomposition(), clang::Sema::CheckMemberSpecialization(), checkMethodFamilyMismatch(), CheckMethodOverrideParam(), CheckMethodOverrideReturn(), clang::Sema::checkMSInheritanceAttrOnDefinition(), clang::Sema::CheckMSVCRTEntryPoint(), clang::ASTDeclReader::checkMultipleDefinitionInNamedModules(), CheckMultiVersionAdditionalDecl(), CheckMultiVersionAdditionalRules(), CheckMultiVersionFunction(), CheckMultiVersionValue(), checkNewAttributesAfterDef(), checkNonMultiVersionCompatAttributes(), clang::Sema::CheckNontrivialField(), clang::SemaObjC::CheckObjCCircularContainer(), clang::SemaObjC::CheckObjCDeclScope(), checkObjCDirectMethodClashes(), clang::SemaObjC::CheckObjCMethodDirectOverrides(), clang::SemaObjC::CheckObjCMethodOverride(), checkObjCUnusedIvar(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), clang::SemaOpenMP::CheckOpenMPLinearDecl(), CheckOperatorDeleteDeclaration(), CheckOperatorNewDeclaration(), CheckOperatorNewDeleteDeclarationScope(), CheckOperatorNewDeleteTypes(), clang::Sema::CheckOverloadedOperatorDeclaration(), clang::Sema::CheckOverrideControl(), clang::Sema::CheckOverridingFunctionAttributes(), clang::Sema::CheckOverridingFunctionExceptionSpec(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckParameter(), clang::Sema::CheckPlaceholderExpr(), CheckPoppedLabel(), checkPropertyDeclWithOwnership(), CheckProtocolMethodDefs(), clang::interp::CheckPure(), clang::Sema::CheckPureMethod(), clang::Sema::CheckRedeclarationExported(), clang::Sema::CheckRedeclarationModuleOwnership(), clang::SemaObjC::checkRetainCycles(), clang::Sema::CheckShadow(), clang::Sema::CheckShadowingDeclModification(), CheckSimplerImplicitMovesMSVCWorkaround(), clang::SemaARM::CheckSMEFunctionDefAttributes(), clang::Sema::CheckSpecializationInstantiationRedecl(), clang::Sema::CheckSwitchCondition(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), clang::SemaCUDA::checkTargetOverload(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentPointerToMember(), clang::Sema::CheckTemplateParameterList(), CheckTemplateSpecializationScope(), clang::Sema::CheckTemplateTemplateArgument(), clang::Sema::CheckThreadLocalForLargeAlignment(), CheckTrivialDefaultConstructor(), checkTrivialSubobjectCall(), checkTupleLikeDecomposition(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckTypenameType(), checkTypeParamListConsistency(), clang::Sema::checkTypeSupport(), checkUndefinedButUsed(), clang::Sema::CheckUsingDeclRedeclaration(), clang::Sema::CheckUsingShadowDecl(), checkUsingShadowRedecl(), clang::Sema::checkVarDeclRedefinition(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVirtualDtorCall(), compare(), ComputeDefaultedComparisonExceptionSpec(), ComputeDefaultedSpecialMemberExceptionSpec(), clang::Sema::ConvertArgumentsForCall(), ConvertDeducedTemplateArgument(), ConvertDeducedTemplateArguments(), clang::Sema::ConvertParamDefaultArgument(), clang::Sema::CreateOverloadedBinOp(), clang::SemaObjC::CreatePropertyDecl(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::Sema::DeclareImplicitMoveAssignment(), clang::Sema::DeclareImplicitMoveConstructor(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), DeduceNullPtrTemplateArgument(), clang::Sema::DeduceReturnType(), clang::Sema::deduceVarTypeFromInitializer(), clang::SemaSYCL::deepTypeCheckForDevice(), clang::SemaObjC::DefaultSynthesizeProperties(), clang::Sema::DefineDefaultedComparison(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitLambdaToBlockPointerConversion(), clang::Sema::DefineImplicitLambdaToFunctionPointerConversion(), clang::Sema::DefineImplicitMoveAssignment(), clang::Sema::DefineInheritingConstructor(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseAbsenceOfOverrideControl(), clang::Sema::DiagnoseAmbiguousLookup(), clang::Sema::DiagnoseAssignmentResult(), clang::Sema::DiagnoseAutoDeductionFailure(), DiagnoseBadDeduction(), diagnoseBadDirectAccess(), DiagnoseCalleeStaticArrayParam(), DiagnoseCategoryDirectMembersProtocolConformance(), clang::SemaObjC::DiagnoseClassExtensionDupMethods(), DiagnoseConstAssignment(), clang::SemaObjC::DiagnoseCStringFormatDirectiveInCFAPI(), DiagnoseCStringFormatDirectiveInObjCAPI(), clang::Sema::DiagnoseDependentMemberLookup(), diagnoseDeprecatedCopyOperation(), DiagnoseDirectIsaAccess(), clang::SemaObjC::DiagnoseDuplicateIvars(), clang::Sema::diagnoseEquivalentInternalLinkageDeclarations(), DiagnoseForRangeConstVariableCopies(), DiagnoseForRangeReferenceVariableCopies(), clang::Sema::DiagnoseHiddenVirtualMethods(), clang::Sema::DiagnoseImmediateEscalatingReason(), clang::Sema::DiagnoseInvalidExplicitObjectParameterInLambda(), DiagnoseInvalidRedeclaration(), diagnoseListInit(), DiagnoseLocalRegisterBinding(), clang::ODRDiagsEmitter::diagnoseMismatch(), diagnoseMissingConstinit(), clang::SemaObjC::DiagnoseMissingDesignatedInitOverrides(), clang::Sema::diagnoseMissingImport(), diagnoseMissingInitializer(), DiagnoseNamespaceInlineMismatch(), diagnoseNoescape(), diagnoseNonConstVariable(), clang::Sema::DiagnoseNontrivial(), DiagnoseObjCImplementedDeprecations(), diagnoseOpenCLTypes(), clang::SemaObjC::DiagnoseOwningPropertyGetterSynthesis(), clang::SemaObjC::DiagnosePropertyAccessorMismatch(), clang::SemaObjC::DiagnosePropertyMismatch(), clang::Sema::DiagnoseSentinelCalls(), clang::Sema::DiagnoseShadowingLambdaDecls(), clang::Sema::DiagnoseSizeOfParametersAndReturnValue(), DiagnoseUnimplementedAccessor(), clang::interp::DiagnoseUninitializedSubobject(), DiagnoseUninitializedUse(), clang::Sema::DiagnoseUninstantiableTemplate(), diagnoseUnknownDecl(), clang::SemaObjC::DiagnoseUnusedBackingIvarInAccessor(), clang::Sema::DiagnoseUnusedButSetDecl(), clang::Sema::DiagnoseUnusedDecl(), clang::Sema::DiagnoseUseOfDecl(), diagnoseUseOfInternalDeclInInlineFunction(), diagnoseVarDeclTypeMismatch(), DiagnoseVariableSizedIvars(), clang::Sema::DiagPlaceholderFieldDeclDefinitions(), clang::Sema::DiagRedefinedPlaceholderFieldDecl(), diagReturnOnAllocFailure(), DiagUninitUse(), DoEmitAvailabilityWarning(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockDeclRefVariable(), EmitDiagForCXXThrowInNonThrowingFunc(), clang::CodeGen::CGDebugInfo::EmitExternalVariable(), clang::CodeGen::CGDebugInfo::EmitFuncDeclForCallSite(), clang::CodeGen::CGDebugInfo::EmitGlobalAlias(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), emitInitWithReductionInitializer(), clang::CodeGen::CGDebugInfo::EmitLabel(), emitMappingInformation(), clang::CodeGen::CGDebugInfo::EmitNamespaceAlias(), emitOutlinedFunctionPrologue(), emitPreserveStructAccess(), emitReadOnlyPlacementAttrWarning(), clang::SemaObjC::EmitRelatedResultTypeNote(), clang::SemaObjC::EmitRelatedResultTypeNoteForReturn(), clang::CodeGen::CGOpenMPRuntime::emitThreadPrivateVarDefinition(), clang::CodeGen::CGDebugInfo::EmitUsingDirective(), clang::CodeGen::CGDebugInfo::EmitUsingShadowDecl(), clang::CodeGen::CodeGenModule::ErrorUnsupported(), clang::CodeGen::CGCXXABI::ErrorUnsupportedABI(), clang::Expr::EvaluateAsInitializer(), clang::Sema::FinalizeDeclaration(), clang::Sema::FinalizeDeclaratorGroup(), clang::Sema::FinalizeVarWithDestructor(), FindBaseInitializer(), findCompleteObject(), clang::Sema::FindDeallocationFunction(), clang::Sema::findInheritingConstructor(), clang::Sema::FindInstantiatedDecl(), clang::SemaObjC::FindProtocolDeclaration(), findSubobject(), clang::AccessSpecDecl::getAccessSpecifierLoc(), clang::CodeGen::CGOpenMPRuntime::getAddressOfLocalVariable(), clang::NamespaceAliasDecl::getAliasLoc(), clang::FileScopeAsmDecl::getAsmLoc(), clang::ObjCMethodDecl::getBeginLoc(), clang::BackendConsumer::getBestLocationFromDebugLoc(), clang::BlockDecl::getCaretLocation(), getDeclLocsForCommentSearch(), GetDeclSpecTypeForDeclarator(), clang::Sema::getDestructorName(), clang::ExportDecl::getEndLoc(), clang::LinkageSpecDecl::getEndLoc(), GetEndLoc(), clang::ObjCInterfaceDecl::getEndOfDefinitionLoc(), clang::ExportDecl::getExportLoc(), GetFullTypeForDeclarator(), clang::AnalysisDeclContext::getFunctionName(), clang::UsingDirectiveDecl::getIdentLocation(), getInitializationLoc(), getIssueHash(), clang::Sema::TemplateCompareNewDeclInfo::getLocation(), clang::interp::Descriptor::getLocation(), GetLocationForCandidate(), clang::FunctionDecl::getNameInfo(), clang::UsingDecl::getNameInfo(), clang::UnresolvedUsingValueDecl::getNameInfo(), clang::UnresolvedUsingTypenameDecl::getNameInfo(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), getPosAsWritten(), getQualifiedNameStart(), clang::CXXCtorInitializer::getSourceLocation(), clang::ASTReader::getSourceLocationForDeclID(), getSourceRange(), clang::LabelDecl::getSourceRange(), clang::DeclaratorDecl::getSourceRange(), clang::VarDecl::getSourceRange(), clang::ParmVarDecl::getSourceRange(), clang::EnumConstantDecl::getSourceRange(), clang::TypeDecl::getSourceRange(), clang::TypedefDecl::getSourceRange(), clang::TagDecl::getSourceRange(), clang::TopLevelStmtDecl::getSourceRange(), clang::BlockDecl::getSourceRange(), clang::ImportDecl::getSourceRange(), clang::ExportDecl::getSourceRange(), clang::UsingDirectiveDecl::getSourceRange(), clang::StaticAssertDecl::getSourceRange(), clang::FriendDecl::getSourceRange(), clang::ObjCMethodDecl::getSourceRange(), clang::ObjCTypeParamDecl::getSourceRange(), clang::ObjCPropertyDecl::getSourceRange(), clang::ObjCInterfaceDecl::getSourceRange(), clang::ObjCProtocolDecl::getSourceRange(), clang::ObjCPropertyImplDecl::getSourceRange(), clang::TemplateTemplateParmDecl::getSourceRange(), clang::Sema::getTopMostPointOfInstantiation(), getTupleLikeElementType(), clang::Sema::getTypeName(), getVarDeclIdentifierLoc(), clang::ento::MemRegionManager::getVarRegion(), clang::SemaSwift::handleAsyncAttr(), handleCleanupAttr(), clang::index::IndexingContext::handleDecl(), handleDestroyAttr(), clang::SemaObjC::HandleExprPropertyRefExpr(), handleFormatAttr(), HandleImmediateInvocations(), clang::SemaRISCV::handleInterruptAttr(), clang::SemaSYCL::handleKernelAttr(), handleNoBuiltinAttr(), handleNoSanitizeAttr(), handleNoSanitizeSpecificAttr(), clang::ento::PathDiagnosticConsumer::HandlePathDiagnostic(), clang::SemaObjC::HandlePropertyInClassExtension(), handleTargetClonesAttr(), handleTransparentUnionAttr(), HelperToDiagnoseMismatchedMethodsInGlobalPool(), clang::Sema::ImplicitlyDefineFunction(), clang::ASTNodeImporter::ImportDeclParts(), clang::ASTNodeImporter::ImportDefinition(), clang::index::IndexingContext::importedModule(), clang::index::IndexingContext::indexTopLevelDecl(), clang::Sema::inferLifetimeBoundAttribute(), clang::SemaCUDA::inferTargetForImplicitSpecialMember(), clang::Sema::InheritedConstructorInfo::InheritedConstructorInfo(), clang::InitializationSequence::InitializeFrom(), InjectAnonymousStructOrUnionMembers(), clang::Sema::InstantiateClass(), clang::TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization(), clang::TemplateDeclInstantiator::InstantiateEnumDefinition(), clang::Sema::InstantiateFunctionDefinition(), instantiateOMPDeclareVariantAttr(), clang::TemplateDeclInstantiator::InstantiateTypeAliasTemplateDecl(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::InstantiateVariableDefinition(), clang::TemplateDeclInstantiator::InstantiateVarTemplatePartialSpecialization(), clang::Sema::isAcceptableTagRedeclaration(), clang::TagTypeLoc::isDefinition(), isForbiddenTypeAllowed(), isFromSystemHeader(), clang::LabelDecl::isGnuLocal(), clang::Sema::isIncompatibleTypedef(), isInMainFile(), clang::ObjCPropertyImplDecl::isIvarNameSpecified(), clang::Expr::isPotentialConstantExpr(), isStandardDelete(), isStandardNew(), IsStructurallyEquivalent(), clang::sema::AnalysisBasedWarnings::IssueWarnings(), clang::Sema::isTemplateTemplateParameterAtLeastAsSpecializedAs(), isVariableCapturable(), lookupPromiseType(), clang::Sema::LookupSpecialMember(), LookupStdInitializerList(), clang::Sema::LookupTemplateName(), MarkVarDeclODRUsed(), clang::Sema::MarkVirtualBaseDestructorsReferenced(), MatchTemplateParameterKind(), clang::Sema::maybeAddDeclWithEffects(), clang::SemaCUDA::maybeAddHostDeviceAttrs(), clang::RecordDecl::mayInsertExtraPadding(), mergeAlignedAttrs(), clang::Sema::MergeCXXFunctionDecl(), clang::Sema::mergeDeclAttributes(), clang::Sema::MergeFunctionDecl(), mergeInterfaceMethodToImpl(), mergeObjCDirectMembers(), mergeParamDeclAttributes(), mergeParamDeclTypes(), clang::Sema::MergeTypedefNameDecl(), clang::Sema::MergeVarDecl(), clang::Sema::MergeVarDeclExceptionSpecs(), clang::transformer::name(), clang::Sema::NoteDeletedFunction(), clang::Sema::NoteDeletedInheritingConstructor(), clang::Sema::NoteHiddenVirtualMethods(), noteLocation(), NoteLValueLocation(), noteNonDeducibleParameters(), clang::Sema::notePreviousDefinition(), NoteSurrogateCandidate(), clang::Sema::NoteTemplateLocation(), clang::SemaObjC::ParseObjCProtocolExpression(), clang::SemaObjC::ParseObjCSelectorExpression(), clang::Sema::ParseTypedefDecl(), PerformConstructorInitialization(), clang::Sema::PerformImplicitObjectArgumentInitialization(), clang::SemaOpenMP::PerformOpenMPImplicitIntegerConversion(), clang::index::FileIndexRecord::print(), clang::PrettyStackTraceDecl::print(), clang::PrettyDeclStackTraceEntry::print(), clang::CodeGen::CodeGenModule::printPostfixForExternalizedDecl(), clang::Sema::ProcessAPINotes(), ProcessAPINotes(), ProcessDeclAttribute(), clang::Sema::ProcessDeclAttributeList(), clang::SemaObjC::ProcessPropertyDecl(), clang::Sema::propagateDLLAttrToBaseClassTemplate(), clang::TreeTransform< Derived >::RebuildDependentNameType(), clang::TreeTransform< Derived >::RebuildObjCExceptionDecl(), clang::Sema::RebuildTemplateParamsInCurrentInstantiation(), rejectConstNotMutableType(), clang::CodeGen::SanitizerMetadata::reportGlobal(), reportOriginalDsa(), ReportOverrides(), clang::Sema::RequireCompleteEnumDecl(), clang::Sema::RequireLiteralType(), resolveBuiltinNewDeleteOverload(), rewriteBuiltinFunctionDecl(), clang::consumed::ConsumedAnalyzer::run(), selectBestPath(), clang::CodeGen::CodeGenModule::setGlobalVisibility(), clang::SemaObjC::SetIvarInitializers(), clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributes(), clang::Sema::SetMemberAccessSpecifier(), clang::Sema::setTagNameForLinkagePurposes(), clang::Sema::ShouldDeleteSpecialMember(), shouldIgnoreDueToReservedName(), clang::Sema::SpecialMemberIsTrivial(), clang::Sema::SubstDecl(), clang::Sema::SubstDefaultArgument(), clang::TemplateDeclInstantiator::SubstDefaultedFunction(), clang::TemplateDeclInstantiator::SubstFunctionType(), clang::Sema::SubstParmVarDecl(), SuggestInitializationFixit(), clang::TreeTransform< Derived >::TransformCondition(), clang::TreeTransform< Derived >::TransformFunctionTypeParam(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), clang::Sema::tryCaptureVariable(), TryDiagnoseProtectedAccess(), TryOrBuildParenListInitialization(), clang::Sema::UnifySection(), UnwindTagContext(), validateBoxingMethod(), validateDeclsInsideHLSLBuffer(), ValidateMultipleRegisterAnnotations(), ValidateObjCLiteralInterfaceDecl(), validatePackoffset(), clang::Sema::VerifyIntegerConstantExpression(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::ASTNodeImporter::VisitAccessSpecDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitClassTemplatePartialSpecializationDecl(), clang::ASTNodeImporter::VisitClassTemplateSpecializationDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitClassTemplateSpecializationDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitConceptDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXConstructorDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXConversionDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXDestructorDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXMethodDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXRecordDecl(), clang::ASTNodeImporter::VisitDecl(), clang::ASTNodeImporter::VisitEmptyDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitEnumDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitFieldDecl(), clang::ASTNodeImporter::VisitFriendDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitFunctionDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ASTDeclReader::VisitFunctionDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitFunctionTemplateDecl(), clang::ASTNodeImporter::VisitImplicitParamDecl(), clang::ASTNodeImporter::VisitImportDecl(), clang::ASTNodeImporter::VisitLinkageSpecDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitNamespaceDecl(), clang::ASTNodeImporter::VisitNonTypeTemplateParmDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitObjCCategoryDecl(), clang::ASTNodeImporter::VisitObjCCategoryImplDecl(), clang::ASTNodeImporter::VisitObjCImplementationDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitObjCInterfaceDecl(), clang::ASTDeclReader::VisitObjCIvarDecl(), clang::ASTNodeImporter::VisitObjCPropertyImplDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitObjCProtocolDecl(), clang::ASTNodeImporter::VisitObjCTypeParamDecl(), clang::ASTNodeImporter::VisitParmVarDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitRecordDecl(), clang::ASTNodeImporter::VisitStaticAssertDecl(), clang::ASTNodeImporter::VisitTemplateTemplateParmDecl(), clang::ASTNodeImporter::VisitTemplateTypeParmDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitTypedefNameDecl(), clang::ASTNodeImporter::VisitUsingEnumDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitVarDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitVarTemplateDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitVarTemplatePartialSpecializationDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitVarTemplateSpecializationDecl(), clang::TemplateDeclInstantiator::VisitVarTemplateSpecializationDecl(), clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl(), clang::SemaObjC::WarnConflictingTypedMethods(), clang::SemaObjC::WarnExactTypedMethods(), clang::Sema::WarnOnPendingNoDerefs(), clang::Sema::warnOnReservedIdentifier(), and WarnUndefinedMethod().

◆ getMaxAlignment() unsigned Decl::getMaxAlignment ( ) const ◆ getModuleOwnershipKind()

Get the kind of module ownership for this declaration.

Definition at line 869 of file DeclBase.h.

References NextInContextAndBits.

Referenced by hasOwningModule(), isExportedFromModuleInterfaceUnit(), isInvisibleOutsideTheOwningModule(), isModulePrivate(), isReachable(), isUnconditionallyVisible(), clang::StoredDeclsList::replaceExternalDecls(), setLexicalDeclContext(), setModuleOwnershipKind(), setModulePrivate(), and clang::ASTDeclWriter::VisitDecl().

◆ getMostRecentDecl() [1/2] Decl * clang::Decl::getMostRecentDecl ( ) inline

Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration).

Definition at line 1069 of file DeclBase.h.

References getMostRecentDeclImpl().

Referenced by clang::Sema::ArgumentDependentLookup(), clang::ASTDeclWriter::CollectFirstDeclFromEachModule(), forAllLaterRedecls(), clang::ASTContext::getASTRecordLayout(), clang::ASTContext::getTranslationUnitDecl(), clang::APValue::LValueBase::getType(), isUsed(), isWeakImported(), clang::Sema::mergeDeclAttributes(), ShouldRemoveFromUnused(), clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitNamespaceDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclWriter::VisitRedeclarable(), clang::ASTDeclWriter::VisitTypedefDecl(), clang::ASTDeclWriter::VisitUsingShadowDecl(), and clang::ASTDeclWriter::VisitVarDecl().

◆ getMostRecentDecl() [2/2] const Decl * clang::Decl::getMostRecentDecl ( ) const inline

Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration).

Definition at line 1073 of file DeclBase.h.

References getMostRecentDeclImpl().

◆ getMostRecentDeclImpl() virtual Decl * clang::Decl::getMostRecentDeclImpl ( ) inlineprotectedvirtual ◆ getNextDeclInContext() [1/2] Decl * clang::Decl::getNextDeclInContext ( ) inline ◆ getNextDeclInContext() [2/2] const Decl * clang::Decl::getNextDeclInContext ( ) const inline ◆ getNextRedeclarationImpl() virtual Decl * clang::Decl::getNextRedeclarationImpl ( ) inlineprotectedvirtual ◆ getNonClosureContext() [1/2] Decl * Decl::getNonClosureContext ( ) ◆ getNonClosureContext() [2/2] const Decl * clang::Decl::getNonClosureContext ( ) const inline ◆ getNonTransparentDeclContext() [1/2] ◆ getNonTransparentDeclContext() [2/2] const DeclContext * clang::Decl::getNonTransparentDeclContext ( ) const inline ◆ getOwningModule() Module * clang::Decl::getOwningModule ( ) const inline

Get the module that owns this declaration (for visibility purposes).

Definition at line 835 of file DeclBase.h.

References getImportedOwningModule(), getLocalOwningModule(), and isFromASTFile().

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnTag(), clang::Sema::ArgumentDependentLookup(), clang::ASTDeclReader::checkMultipleDefinitionInNamedModules(), clang::Sema::CheckRedeclarationExported(), clang::Sema::CheckRedeclarationModuleOwnership(), clang::Sema::CheckTemplateParameterList(), CollectEnclosingNamespace(), clang::ASTWriter::GetDeclRef(), getLambdaCallOperatorHelper(), clang::Sema::getOwningModule(), getOwningModuleForLinkage(), getTopLevelOwningNamedModule(), isFromExplicitGlobalModule(), isFromGlobalModule(), isFromHeaderUnit(), isInAnotherModuleUnit(), isInCurrentModuleUnit(), isInNamedModule(), clang::Sema::IsRedefinitionInModule(), clang::Sema::notePreviousDefinition(), setLexicalDeclContext(), clang::TextNodeDumper::Visit(), clang::ASTDeclWriter::VisitDecl(), and clang::ASTWriter::wasDeclEmitted().

◆ getOwningModuleForLinkage() Module * Decl::getOwningModuleForLinkage ( ) const

Get the module that owns this declaration for linkage purposes.

There only ever is such a standard C++ module.

Definition at line 1624 of file Decl.cpp.

References clang::Module::ExplicitGlobalModuleFragment, getOwningModule(), clang::Module::ImplicitGlobalModuleFragment, clang::Module::Kind, clang::Module::ModuleHeaderUnit, clang::Module::ModuleImplementationUnit, clang::Module::ModuleInterfaceUnit, clang::Module::ModuleMapModule, clang::Module::ModulePartitionImplementation, clang::Module::ModulePartitionInterface, clang::Module::Parent, and clang::Module::PrivateModuleFragment.

Referenced by clang::Sema::CheckRedeclarationModuleOwnership(), clang::NamedDecl::isExternallyDeclarable(), and clang::MangleContext::shouldMangleDeclName().

◆ getOwningModuleID() unsigned Decl::getOwningModuleID ( ) const ◆ getParentFunctionOrMethod() [1/2] ◆ getParentFunctionOrMethod() [2/2] ◆ getPreviousDecl() [1/2] Decl * clang::Decl::getPreviousDecl ( ) inline

Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration.

Definition at line 1054 of file DeclBase.h.

References getPreviousDeclImpl().

Referenced by clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ArgumentDependentLookup(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckSpecializationInstantiationRedecl(), collectAllContextsImpl(), clang::ASTDeclWriter::CollectFirstDeclFromEachModule(), clang::ExternalSource::completeVisibleDeclsMap(), diagnoseBadDirectAccess(), DoEmitAvailabilityWarning(), clang::ASTDumper::dumpLookups(), dumpPreviousDeclImpl(), forAllLaterRedecls(), clang::VarDecl::getActingDefinition(), getDeclForLocalLookup(), clang::ASTContext::getEnumType(), clang::ASTWriter::getFirstLocalDecl(), clang::interp::Program::getGlobal(), clang::ASTContext::getInjectedClassNameType(), getPreviousDeclForInstantiation(), clang::ASTContext::getRecordType(), clang::Sema::GetTemplateParameterList(), clang::Sema::InstantiateFunctionDefinition(), isFirstDecl(), isPreferredLookupResult(), clang::Sema::MergeVarDecl(), PreviousDeclsHaveMultiVersionAttribute(), setLocalExternDecl(), setObjectOfFriendDecl(), clang::ASTDeclWriter::VisitClassTemplatePartialSpecializationDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTDeclWriter::VisitRedeclarable(), clang::ASTDeclWriter::VisitVarTemplatePartialSpecializationDecl(), and clang::Sema::warnOnReservedIdentifier().

◆ getPreviousDecl() [2/2] const Decl * clang::Decl::getPreviousDecl ( ) const inline

Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration.

Definition at line 1058 of file DeclBase.h.

References getPreviousDeclImpl().

◆ getPreviousDeclImpl() virtual Decl * clang::Decl::getPreviousDeclImpl ( ) inlineprotectedvirtual ◆ getSourceRange() virtual SourceRange clang::Decl::getSourceRange ( ) const inlinevirtual

Source range that this declaration covers.

Reimplemented in clang::LabelDecl, clang::NamespaceDecl, clang::DeclaratorDecl, clang::VarDecl, clang::ParmVarDecl, clang::FunctionDecl, clang::FieldDecl, clang::EnumConstantDecl, clang::TypeDecl, clang::TypedefDecl, clang::TypeAliasDecl, clang::TagDecl, clang::EnumDecl, clang::FileScopeAsmDecl, clang::TopLevelStmtDecl, clang::BlockDecl, clang::ImportDecl, clang::ExportDecl, clang::HLSLBufferDecl, clang::AccessSpecDecl, clang::LinkageSpecDecl, clang::UsingDirectiveDecl, clang::NamespaceAliasDecl, clang::UsingDecl, clang::UsingEnumDecl, clang::UsingPackDecl, clang::UnresolvedUsingValueDecl, clang::StaticAssertDecl, clang::FriendDecl, clang::ObjCMethodDecl, clang::ObjCTypeParamDecl, clang::ObjCPropertyDecl, clang::ObjCContainerDecl, clang::ObjCInterfaceDecl, clang::ObjCProtocolDecl, clang::ObjCPropertyImplDecl, clang::OMPCapturedExprDecl, clang::TemplateDecl, clang::TemplateTypeParmDecl, clang::NonTypeTemplateParmDecl, clang::TemplateTemplateParmDecl, clang::BuiltinTemplateDecl, clang::ClassTemplateSpecializationDecl, clang::ClassTemplatePartialSpecializationDecl, clang::VarTemplateSpecializationDecl, clang::VarTemplatePartialSpecializationDecl, and clang::ConceptDecl.

Definition at line 430 of file DeclBase.h.

References getLocation().

Referenced by clang::Sema::ActOnCXXConditionDeclaration(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::SemaOpenMP::ActOnOpenMPUsesAllocatorClause(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::AddAlignValueAttr(), clang::Sema::BuildDeclaratorGroup(), clang::Sema::CheckConversionDeclarator(), clang::SemaOpenMP::checkDeclIsAllowedInOpenMPTarget(), clang::Sema::CheckDeductionGuideDeclarator(), clang::Sema::CheckExplicitObjectMemberFunction(), ConvertDeducedTemplateArgument(), clang::Sema::DiagnoseMisalignedMembers(), clang::ODRDiagsEmitter::diagnoseMismatch(), diagnoseMissingInitializer(), diagnoseSubMismatchMethodParameters(), diagnoseUnknownDecl(), clang::SemaOpenMP::EndOpenMPDSABlock(), fixVarDeclWithArray(), clang::tooling::getAssociatedRange(), getBeginLoc(), clang::syntax::TreeBuilder::getDeclarationRange(), GetDeclSpecTypeForDeclarator(), getEndLoc(), GetFullTypeForDeclarator(), getNonCLikeKindForAnonymousStruct(), clang::interp::SourceInfo::getRange(), clang::DynTypedNode::getSourceRange(), clang::TemplateDecl::getSourceRange(), clang::syntax::TreeBuilder::getTemplateRange(), clang::Sema::HandleDeclarator(), handleNonNullAttrParameter(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::JSONNodeDumper::VisitTemplateTemplateParmDecl(), and warnAboutAmbiguousFunction().

◆ getTemplateDepth() unsigned Decl::getTemplateDepth ( ) const ◆ getTopLevelOwningNamedModule() Module * Decl::getTopLevelOwningNamedModule ( ) const ◆ getTranslationUnitDecl() [1/2] ◆ getTranslationUnitDecl() [2/2] ◆ getVersionIntroduced() VersionTuple Decl::getVersionIntroduced ( ) const ◆ hasAttr() bool clang::Decl::hasAttr ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 580 of file DeclBase.h.

References getAttrs(), and hasAttrs().

Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFinishNamespaceDef(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnLambdaExpr(), clang::SemaObjC::ActOnMethodParmDeclaration(), clang::SemaObjC::ActOnObjCExceptionDecl(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPAllocateDirective(), clang::SemaOpenMP::ActOnOpenMPCall(), clang::SemaOpenMP::ActOnOpenMPDeclareTargetName(), clang::SemaOpenMP::ActOnOpenMPLastprivateClause(), clang::SemaOpenMP::ActOnOpenMPLinearClause(), clang::SemaHLSL::ActOnOutParamExpr(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnPragmaWeakAlias(), clang::SemaObjC::ActOnStartCategoryImplementation(), clang::SemaObjC::ActOnStartClassImplementation(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaObjC::ActOnStartOfObjCMethodDef(), clang::Sema::ActOnTagFinishDefinition(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::ActOnVariableDeclarator(), clang::ASTRecordWriter::AddFunctionDefinition(), clang::CodeGen::CodeGenModule::AddGlobalAnnotations(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::AddKnownFunctionAttributesForReplaceableGlobalAllocationFunction(), clang::Sema::AddOptnoneAttributeIfNoConflicts(), clang::Sema::AddSectionMSAllocText(), addX86InterruptAttrs(), adjustGVALinkageForAttributes(), AllowOverloadingOfFunction(), clang::CodeGen::CodeGenModule::AlwaysHasLTOVisibilityPublic(), annotateConsumedSummaryMismatch(), clang::Sema::applyFunctionAttributesBeforeParsingBody(), applyOMPAllocateAttribute(), clang::SemaObjC::AreMultipleMethodsInGlobalPool(), clang::CodeGen::CodeGenTypes::arrangeObjCMessageSendSignature(), assignInheritanceModel(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), clang::Sema::AttachBaseSpecifiers(), basicGVALinkageForFunction(), clang::SemaObjC::BuildInstanceMessage(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildReturnStmt(), clang::Sema::ImplicitExceptionSpecification::CalledDecl(), canRedefineFunction(), captureInBlock(), clang::CFGCleanupFunction::CFGCleanupFunction(), clang::SemaCUDA::checkAllowedInitializer(), clang::SemaObjC::CheckARCMethodDecl(), clang::Sema::CheckAssignmentOperands(), clang::Sema::checkCall(), clang::interp::CheckCallable(), clang::Sema::CheckCompletedCoroutineBody(), CheckConstPureAttributesUsage(), clang::Sema::CheckCoroutineWrapper(), clang::SemaHLSL::CheckEntryPoint(), checkForIBOutlets(), clang::Sema::CheckFunctionDeclaration(), clang::SemaCUDA::CheckLambdaCapture(), clang::Sema::CheckMain(), clang::SemaObjC::CheckMessageArgumentTypes(), CheckMoveOnConstruction(), CheckMultiVersionAdditionalDecl(), CheckNonNullArguments(), CheckNonNullExpr(), clang::Sema::CheckNontrivialField(), clang::SemaObjC::CheckObjCMethodOverride(), clang::SemaObjC::CheckObjCPropertyAttributes(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), clang::Sema::CheckOverrideControl(), checkPreviousOMPAllocateAttribute(), CheckProtocolMethodDefs(), checkRecordDeclForAttr(), clang::SemaARM::CheckSMEFunctionDefAttributes(), clang::Sema::CheckStaticLocalForDllExport(), clang::Sema::CheckTCBEnforcement(), clang::Sema::CheckTransparentUnionArgumentConstraints(), checkTypedefTypeForCapability(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVirtualDtorCall(), compareEnableIfAttrs(), clang::interp::ByteCodeEmitter::compileFunc(), computeKeyFunction(), clang::LinkageComputer::computeLVForDecl(), configureBlocksRuntimeObject(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::SemaObjC::CreatePropertyDecl(), CXXRecordNonInlineHasAttr(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::Sema::DeclareImplicitMoveConstructor(), GlobalDeclRefChecker::declareTargetInitializer(), clang::DeclAttrsMatchCUDAMode(), clang::ASTContext::DeclMustBeEmitted(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::DefaultVariadicArgumentPromotion(), clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments(), clang::Sema::DiagnoseAbsenceOfOverrideControl(), clang::Sema::DiagnoseAssignmentEnum(), DiagnoseLocalRegisterBinding(), diagnoseNoescape(), clang::SemaObjC::DiagnoseOwningPropertyGetterSynthesis(), DiagnoseUninitializedUse(), clang::Sema::DiagnoseUnusedButSetDecl(), DiagnoseUnusedOfDecl(), clang::Sema::DiagnoseUseOfDecl(), diagnoseUseOfInternalDeclInInlineFunction(), emitCheckHandlerCall(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockDeclRefVariable(), EmitDirectCallee(), clang::CodeGen::CGDebugInfo::EmitExternalVariable(), clang::CodeGen::CGDebugInfo::EmitFuncDeclForCallSite(), clang::CodeGen::CGDebugInfo::emitFunctionStart(), clang::CodeGen::CodeGenModule::EmitGlobal(), clang::CodeGen::CGDebugInfo::EmitGlobalAlias(), EmitGlobalVarDeclLValue(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CGHLSLRuntime::emitInputSemantic(), clang::CodeGen::CGDebugInfo::EmitLabel(), EvaluateUnaryTypeTrait(), clang::Sema::FinalizeDeclaration(), clang::Sema::FinalizeVarWithDestructor(), findProtocolsWithExplicitImpls(), clang::Sema::GatherArgumentsForCall(), clang::CodeGen::CGOpenMPRuntime::getAddressOfLocalVariable(), clang::CodeGen::CGOpenMPRuntimeGPU::getAddressOfLocalVariable(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), clang::getArmStreamingFnType(), clang::ASTContext::getBlockVarCopyInit(), clang::CodeGen::CodeGenModule::getBuiltinLibFunction(), getCallingConventionForDecl(), getDeclAlignIfRequired(), clang::CXXMethodDecl::getDevirtualizedMethod(), clang::getDLLAttr(), clang::Sema::getEmissionStatus(), clang::ento::retaincountchecker::RefLeakReportVisitor::getEndPath(), GetFullTypeForDeclarator(), clang::CodeGen::CodeGenModule::GetGlobalVarAddressSpace(), clang::Sema::getImplicitCodeSegOrSectionAttrForFunction(), clang::CodeGen::CodeGenModule::getLLVMLinkageForDeclarator(), clang::LinkageComputer::getLVForDecl(), clang::Sema::getNamedReturnInfo(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), clang::CodeGen::CodeGenModule::getRawFunctionPointer(), clang::index::getSymbolInfo(), getTypeAlignIfRequired(), getTypeInfoLinkage(), clang::Sema::getUndefinedButUsed(), clang::CodeGen::CodeGenModule::getVTableLinkage(), handleCallbackAttr(), clang::CodeGen::CodeGenModule::HandleCXXStaticMemberVarInstantiation(), handleDelayedForbiddenType(), handleLifetimeCaptureByAttr(), handleManagedAttr(), handleNoBuiltinAttr(), handleNoRandomizeLayoutAttr(), handlePassObjectSizeAttr(), handleRandomizeLayoutAttr(), clang::CodeGen::CGOpenMPRuntime::hasAllocateAttributeForGlobalVar(), clang::CodeGen::CGOpenMPRuntimeGPU::hasAllocateAttributeForGlobalVar(), clang::hasArmZAState(), clang::hasArmZT0State(), hasBPFPreserveStaticOffset(), hasDirectVisibilityAttribute(), clang::interp::Function::hasNonNullAttr(), hasObjCExceptionAttribute(), clang::Expr::HasSideEffects(), clang::SemaCUDA::IdentifyTarget(), clang::Sema::inferNullableClassAttribute(), clang::SemaCUDA::inferTargetForImplicitSpecialMember(), clang::InitializedEntity::InitializeParameter(), clang::Sema::InstantiateAttrs(), clang::Sema::InstantiateClassMembers(), clang::Sema::InstantiateVariableInitializer(), isAllocatableDecl(), IsArgumentMaybeUndef(), clang::IsArmStreamingFunction(), clang::sema::isAssignmentOperatorLifetimeBound(), isAttributedCoroAwaitElidable(), isBetterMultiversionCandidate(), isClassOrMethodDLLImport(), clang::CodeGen::CGCXXABI::isEmittedWithConstantInitializer(), clang::CodeGen::isEmptyField(), isFunctionDefinitionDiscarded(), clang::Type::isIncompleteType(), isInMIGCall(), isKernelDecl(), isLayoutCompatible(), isNoexcept(), clang::SemaOpenMP::isOpenMPCapturedByRef(), IsPreserveAIArrayBase(), isTestingFunction(), isTransparentUnion(), IsTransparentUnionStandardConversion(), IsUnusedPrivateField(), isVarDeclStrongDefinition(), isVariableCapturable(), isVirtualCall(), clang::Sema::makeUnavailableInSystemHeader(), markEscapingByrefs(), MarkVarDeclODRUsed(), clang::SemaObjC::MatchTwoMethodDeclarations(), clang::SemaCUDA::MaybeAddConstantAttr(), clang::SemaCUDA::maybeAddHostDeviceAttrs(), maybeAttachUnversionedSwiftName(), clang::Sema::MaybeBindToTemporary(), clang::ASTContext::mayExternalize(), clang::Sema::mergeAlwaysInlineAttr(), clang::Sema::mergeDeclAttributes(), clang::Sema::mergeDLLExportAttr(), clang::Sema::mergeDLLImportAttr(), clang::Sema::MergeFunctionDecl(), mergeInterfaceMethodToImpl(), clang::Sema::mergeMinSizeAttr(), mergeObjCDirectMembers(), clang::Sema::mergeOptimizeNoneAttr(), mergeParamDeclAttributes(), clang::ASTContext::mergeTransparentUnionType(), clang::Sema::MergeVarDecl(), noteOverloads(), clang::ASTContext::ObjCMethodsAreEqual(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::Sema::ProcessDeclAttributeDelayed(), clang::Sema::ProcessDeclAttributeList(), clang::SemaObjC::ProcessPropertyDecl(), pushTemporaryCleanup(), RecordModifiableNonNullParam(), recordUsesEBO(), clang::Sema::RefersToMemberWithReducedAlignment(), clang::CodeGen::SanitizerMetadata::reportGlobal(), requiresAMDGPUProtectedVisibility(), clang::Sema::SelectBestMethod(), clang::ASTContext::setBlockVarCopyInit(), clang::CodeGen::CodeGenModule::SetCommonAttributes(), setCUDAKernelCallingConvention(), clang::CodeGen::CodeGenModule::setDLLImportDLLExport(), clang::CodeGen::CodeGenModule::setGlobalVisibility(), clang::SemaCUDA::SetLambdaAttrs(), setLinkageForGV(), clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition(), setVTableSelectiveDLLImportExport(), setWindowsItaniumDLLImport(), clang::OverloadCandidateSet::OperatorRewriteInfo::shouldAddReversed(), shouldBeInCOMDAT(), shouldConsiderTemplateVisibility(), ShouldDiagnoseSwitchCaseNotInEnum(), ShouldDiagnoseUnusedDecl(), shouldEscapeRegion(), shouldExtendLifetime(), clang::ASTContext::shouldExternalize(), clang::MangleContext::shouldMangleDeclName(), clang::CXXNewExpr::shouldNullCheckAllocation(), shouldOmitDefinition(), ShouldUseExternalRTTIDescriptor(), ShouldWarnAboutMissingPrototype(), clang::Sema::ShouldWarnIfUnusedFileScopedDecl(), SuggestInitializationFixit(), clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias(), TryOrBuildParenListInitialization(), clang::Sema::updateAttrsForLateParsedTemplate(), clang::CodeGen::useFirstFieldIfTransparentUnion(), useInlineVisibilityHidden(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::sema::visitFunctionCallArguments(), clang::ASTDeclReader::VisitFunctionDecl(), clang::ento::SValExplainer::VisitNonParamVarRegion(), clang::ASTDeclWriter::VisitVarDecl(), clang::ASTDeclReader::VisitVarDeclImpl(), and clang::SemaObjC::WarnExactTypedMethods().

◆ hasAttrs() bool clang::Decl::hasAttrs ( ) const inline

Definition at line 521 of file DeclBase.h.

Referenced by actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPCopyinClause(), clang::SemaOpenMP::ActOnOpenMPCopyprivateClause(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPLastprivateClause(), clang::SemaOpenMP::ActOnOpenMPLinearClause(), clang::SemaOpenMP::ActOnOpenMPPrivateClause(), clang::SemaOpenMP::ActOnOpenMPUseDevicePtrClause(), addAttr(), attr_begin(), attr_end(), clang::Sema::BuildReturnStmt(), clang::Sema::CheckAlignasUnderalignment(), clang::Sema::CheckFieldDecl(), checkNewAttributesAfterDef(), clang::Sema::CheckVariableDeclarationType(), createPrivatesRecordDecl(), clang::CodeGen::CGHLSLRuntime::emitInputSemantic(), clang::SemaOpenMP::EndOpenMPDSABlock(), clang::CodeGen::CGOpenMPRuntimeGPU::getAddressOfLocalVariable(), getAttr(), getMaxAlignment(), hasAttr(), hasAttr(), clang::ASTImporter::Import(), clang::Sema::mergeAvailabilityAttr(), clang::Sema::mergeDeclAttributes(), propagateAttributes(), RedeclarePropertyAccessor(), clang::MangleContext::shouldMangleDeclName(), clang::ASTDeclReader::UpdateDecl(), clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTDeclWriter::VisitObjCIvarDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTypedefDecl(), clang::ASTDeclWriter::VisitUsingShadowDecl(), and clang::ASTDeclWriter::VisitVarDecl().

◆ hasBody() virtual bool clang::Decl::hasBody ( ) const inlinevirtual

Returns true if this Decl represents a declaration for a body of code, such as a function or method definition.

Note that hasBody can also return true if any redeclaration of this Decl represents a declaration for a body of code.

Reimplemented in clang::FunctionDecl, and clang::ObjCMethodDecl.

Definition at line 1086 of file DeclBase.h.

References getBody().

Referenced by clang::CloneDetector::analyzeCodeBody(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), emitDiagnostics(), emitOutlinedFunctionPrologue(), hasImplicitBody(), clang::CallGraph::includeInGraph(), clang::CodeGen::CGOpenMPRuntime::markAsGlobalTarget(), clang::Sema::maybeAddDeclWithEffects(), clang::ento::CheckerManager::runCheckersOnASTBody(), and clang::TemplateDeclInstantiator::VisitFunctionDecl().

◆ hasCachedLinkage() bool clang::Decl::hasCachedLinkage ( ) const inlineprotected ◆ hasDefiningAttr() bool Decl::hasDefiningAttr ( ) const ◆ hasLocalOwningModuleStorage() bool Decl::hasLocalOwningModuleStorage ( ) const protected ◆ hasOwningModule() bool clang::Decl::hasOwningModule ( ) const inline ◆ hasTagIdentifierNamespace() bool clang::Decl::hasTagIdentifierNamespace ( ) const inline ◆ isCanonicalDecl() bool clang::Decl::isCanonicalDecl ( ) const inline

Whether this particular Decl is a canonical one.

Definition at line 977 of file DeclBase.h.

References getCanonicalDecl().

Referenced by clang::index::FileIndexRecord::addDeclOccurence(), clang::CXXMethodDecl::addOverriddenMethod(), clang::ASTContext::addOverriddenMethod(), clang::ClassTemplateDecl::AddPartialSpecialization(), clang::VarTemplateDecl::AddPartialSpecialization(), clang::RedeclarableTemplateDecl::addSpecializationImpl(), clang::ASTDeclWriter::AddTemplateSpecializations(), clang::NamedDecl::declarationReplaces(), clang::ASTDumper::dumpTemplateDecl(), clang::CodeGen::CGOpenMPRuntimeGPU::emitFunctionProlog(), getCanonicalDecl(), clang::ASTReader::getLoadedSpecializationsLookupTables(), clang::ASTContext::getSubstTemplateTypeParmPackType(), clang::ASTReader::haveUnloadedSpecializations(), clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclReader::VisitClassTemplateSpecializationDeclImpl(), clang::ASTDeclReader::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitFunctionDecl(), clang::ASTDeclReader::VisitFunctionDecl(), clang::ASTDeclWriter::VisitVarTemplateSpecializationDecl(), and clang::ASTDeclReader::VisitVarTemplateSpecializationDeclImpl().

◆ isDefinedOutsideFunctionOrMethod() bool clang::Decl::isDefinedOutsideFunctionOrMethod ( ) const inline ◆ isDeprecated() bool clang::Decl::isDeprecated ( std::string *  Message = nullptr ) const inline ◆ isFileContextDecl() bool Decl::isFileContextDecl ( ) const ◆ isFirstDecl() bool clang::Decl::isFirstDecl ( ) const inline ◆ isFlexibleArrayMemberLike()

Whether it resembles a flexible array member.

This is a static member because we want to be able to call it with a nullptr. That allows us to perform non-Decl specific checks based on the object's type and strict flex array level.

Definition at line 440 of file DeclBase.cpp.

References D, clang::TypeLoc::getAs(), clang::TypeLoc::getAsAdjusted(), clang::ASTContext::getAsConstantArrayType(), clang::ASTContext::getAsIncompleteArrayType(), clang::Expr::getExprLoc(), clang::TypeSourceInfo::getTypeLoc(), clang::TypedefNameDecl::getTypeSourceInfo(), and clang::SourceLocation::isMacroID().

Referenced by clang::Sema::CheckCountedByAttrOnField(), FindFlexibleArrayMemberField(), and clang::Expr::isFlexibleArrayMemberLike().

◆ isFromASTFile() bool clang::Decl::isFromASTFile ( ) const inline

Determine whether this declaration came from an AST file (such as a precompiled header or module) rather than having been parsed.

Definition at line 786 of file DeclBase.h.

References FromASTFile.

Referenced by clang::ASTUnit::addFileLevelDecl(), clang::DeclContext::addHiddenDecl(), compareDeclarations(), clang::NamedDecl::declarationReplaces(), getDeclForLocalLookup(), clang::ASTWriter::getDeclID(), clang::ASTWriter::GetDeclRef(), getGlobalID(), getImportedOwningModule(), getLocalOwningModule(), getOwningModule(), clang::ASTReader::getOwningModuleFile(), getOwningModuleID(), clang::Sema::InstantiateFunctionDefinition(), isDefinedInClangModule(), isImportedDeclContext(), clang::ASTDeclWriter::RegisterTemplateSpecialization(), clang::StoredDeclsList::removeExternalDecls(), clang::StoredDeclsList::replaceExternalDecls(), setLexicalDeclContext(), setLocalOwningModule(), setModuleOwnershipKind(), setOwningModuleID(), clang::TextNodeDumper::Visit(), clang::ASTDeclReader::VisitEnumDecl(), clang::ASTDeclReader::VisitRecordDecl(), and clang::ASTWriter::wasDeclEmitted().

◆ isFromExplicitGlobalModule() bool Decl::isFromExplicitGlobalModule ( ) const ◆ isFromGlobalModule() bool Decl::isFromGlobalModule ( ) const ◆ isFromHeaderUnit() bool Decl::isFromHeaderUnit ( ) const ◆ isFunctionOrFunctionTemplate() bool clang::Decl::isFunctionOrFunctionTemplate ( ) const inline ◆ isFunctionPointerType() bool Decl::isFunctionPointerType ( ) const ◆ isImplicit() bool clang::Decl::isImplicit ( ) const inline

isImplicit - Indicates whether the declaration was implicitly generated by the implementation.

If false, this declaration was written explicitly in the source code.

Definition at line 596 of file DeclBase.h.

Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnFinishFunctionBody(), clang::CXXRecordDecl::addedEligibleSpecialMemberFunction(), clang::Sema::AddOverloadCandidate(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), clang::Sema::buildOverloadedCallSet(), clang::Sema::BuildResolvedCallExpr(), CheckAbstractClassUsage(), checkDLLAttributeRedeclaration(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::sema::checkExprLifetimeImpl(), clang::SemaObjC::CheckObjCMethodOverrides(), createOverloadsForFixedParams(), clang::Sema::DeclareImplicitDeductionGuides(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DiagnoseAbsenceOfOverrideControl(), DiagnoseBadTarget(), diagnoseDeprecatedCopyOperation(), clang::CodeGen::CGDebugInfo::EmitFunctionDecl(), clang::CodeGen::CGDebugInfo::emitFunctionStart(), FindFlexibleArrayMemberField(), clang::CXXRecordDecl::finishedDefaultedOrDeletedMember(), funcHasUsableBody(), clang::BodyFarm::getBody(), clang::ASTContext::getBuiltinVaListDecl(), getDeclLocsForCommentSearch(), GetFieldOffset(), clang::CXXRecordDecl::getLambdaExplicitTemplateParameters(), getNonCLikeKindForAnonymousStruct(), clang::ObjCMethodDecl::getNumSelectorLocs(), clang::ObjCMethodDecl::getSelectorStartLoc(), clang::SemaObjC::HandleExprPropertyRefExpr(), hasImplicitAttr(), hasImplicitBody(), clang::SemaCUDA::IdentifyTarget(), clang::Sema::ImplicitlyDefineFunction(), clang::index::IndexingContext::importedModule(), clang::index::IndexingContext::indexDecl(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::FunctionTemplateDecl::isAbbreviated(), clang::FieldDecl::isAnonymousStructOrUnion(), IsArtificial(), clang::ObjCInterfaceDecl::isImplicitInterfaceDecl(), clang::RecordDecl::isInjectedClassName(), clang::CXXConversionDecl::isLambdaToBlockPointerConversion(), clang::diff::isSpecializedNodeExcluded(), clang::ODRHash::isSubDeclToBeProcessed(), isTrackedVar(), IsUnusedPrivateField(), LeastDerivedClassWithSameLayout(), clang::ObjCInterfaceDecl::lookupMethod(), mergeDeclAttribute(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeTypedefNameDecl(), clang::Sema::NoteDeletedFunction(), RedeclarePropertyAccessor(), RedeclForcesDefC99(), clang::ObjCMethodDecl::setMethodParams(), clang::Sema::ShouldDeleteSpecialMember(), shouldExtendLifetime(), clang::RecursiveASTVisitor< Derived >::TraverseDecl(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXConstructorDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXConversionDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXDestructorDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXMethodDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXRecordDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTNodeImporter::VisitFieldDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitObjCIvarDecl(), clang::ASTNodeImporter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTypedefDecl(), and clang::Sema::warnOnReservedIdentifier().

◆ isInAnonymousNamespace() bool Decl::isInAnonymousNamespace ( ) const ◆ isInAnotherModuleUnit() bool Decl::isInAnotherModuleUnit ( ) const ◆ isInCurrentModuleUnit() bool Decl::isInCurrentModuleUnit ( ) const ◆ isInExportDeclContext() bool Decl::isInExportDeclContext ( ) const ◆ isInIdentifierNamespace() bool clang::Decl::isInIdentifierNamespace ( unsigned  NS ) const inline

Definition at line 886 of file DeclBase.h.

References getIdentifierNamespace().

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::DiagnoseAmbiguousLookup(), isOrdinaryMember(), clang::Sema::LookupQualifiedName(), clang::ASTNodeImporter::VisitClassTemplateDecl(), clang::ASTNodeImporter::VisitEnumConstantDecl(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ASTNodeImporter::VisitFunctionTemplateDecl(), clang::ASTNodeImporter::VisitNamespaceDecl(), clang::ASTNodeImporter::VisitObjCInterfaceDecl(), clang::ASTNodeImporter::VisitObjCProtocolDecl(), clang::ASTNodeImporter::VisitRecordDecl(), clang::ASTNodeImporter::VisitTypeAliasTemplateDecl(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ASTNodeImporter::VisitVarDecl(), and clang::ASTNodeImporter::VisitVarTemplateDecl().

◆ isInLocalScopeForInstantiation() bool Decl::isInLocalScopeForInstantiation ( ) const ◆ isInNamedModule() bool Decl::isInNamedModule ( ) const

Whether this declaration comes from a named module.

Definition at line 1173 of file DeclBase.cpp.

References getOwningModule(), and clang::Module::isNamedModule().

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::ASTRecordWriter::AddCXXDefinitionData(), clang::Sema::CheckRedeclarationExported(), CollectEnclosingNamespace(), clang::NamedDecl::getFormalLinkage(), clang::CodeGen::CodeGenModule::getVTableLinkage(), clang::ASTWriter::handleVTable(), isExportedFromModuleInterfaceUnit(), clang::CodeGen::CodeGenVTables::isVTableExternal(), and clang::ASTDeclWriter::VisitCXXRecordDecl().

◆ isInStdNamespace() bool Decl::isInStdNamespace ( ) const

Definition at line 430 of file DeclBase.cpp.

References getDeclContext(), clang::DeclContext::getNonTransparentContext(), and clang::DeclContext::isStdNamespace().

Referenced by clang::Sema::ActOnFunctionDeclarator(), getInnerPointerType(), clang::FunctionDecl::getMemoryFunctionKind(), clang::Sema::inferNullableClassAttribute(), IsDeclSourceLocationCurrent(), clang::FunctionDecl::isDestroyingOperatorDelete(), isFromStdNamespace(), clang::Type::isNothrowT(), clang::ast_matchers::libc_func_matchers::isNullTermPointer(), IsStdFunction(), IsStdString(), clang::ento::tagged_union_modeling::isStdType(), and clang::sema::shouldTrackFirstArgument().

◆ isInvalidDecl() bool clang::Decl::isInvalidDecl ( ) const inline

Definition at line 591 of file DeclBase.h.

Referenced by clang::Sema::ActOnAliasDeclaration(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCXXEnterDeclInitializer(), clang::Sema::ActOnCXXForRangeStmt(), clang::Sema::ActOnCXXTryBlock(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishDelayedCXXMethodDeclaration(), clang::SemaOpenMP::ActOnFinishedFunctionDefinitionInOpenMPAssumeScope(), clang::Sema::ActOnFinishExportDecl(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnInitializerError(), clang::SemaObjC::ActOnIvar(), clang::Sema::ActOnLambdaExpressionAfterIntroducer(), clang::SemaObjC::ActOnObjCAtCatchStmt(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPPrivateClause(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaObjC::ActOnStartOfObjCMethodDef(), clang::Sema::ActOnTag(), clang::Sema::ActOnTypedefNameDecl(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::AddKnownFunctionAttributesForReplaceableGlobalAllocationFunction(), adjustDeclContextForDeclaratorDecl(), allLookupResultsAreTheSame(), AnalyzeBitFieldAssignment(), clang::Sema::applyFunctionAttributesBeforeParsingBody(), clang::ASTContext::attachCommentsToJustParsedDecls(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCaptureField(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildDeclaratorGroup(), buildDeclareReductionRef(), clang::SemaObjC::BuildIvarRefExpr(), clang::Sema::BuildLambdaExpr(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildReturnStmt(), clang::SemaSYCL::BuildSYCLKernelCallStmt(), buildUserDefinedMapperRef(), clang::Sema::BuildUsingShadowDecl(), clang::Sema::BuildVariableInstantiation(), clang::Sema::BuildVarTemplateInstantiation(), canPassInRegisters(), CastToDerivedClass(), clang::SemaCUDA::checkAllowedInitializer(), checkARCPropertyImpl(), clang::interp::CheckCallable(), clang::Sema::CheckCompletedCoroutineBody(), clang::Sema::CheckCompletedCXXClass(), clang::Sema::CheckConceptTemplateId(), clang::Sema::CheckConditionVariable(), clang::Sema::CheckConstraintSatisfaction(), clang::Sema::CheckCXXDefaultArguments(), CheckDeclInExpr(), clang::SemaOpenMP::checkDeclIsAllowedInOpenMPTarget(), checkDLLAttributeRedeclaration(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckIfFunctionSpecializationIsImmediate(), clang::SemaObjC::checkInitMethod(), clang::Sema::CheckMain(), clang::SemaObjC::CheckMessageArgumentTypes(), checkMethodFamilyMismatch(), clang::Sema::CheckMSVCRTEntryPoint(), CheckMultiVersionAdditionalDecl(), clang::Sema::CheckNontrivialField(), clang::SemaObjC::CheckObjCPropertyAttributes(), clang::Sema::CheckOverrideControl(), checkPropertyDeclWithOwnership(), clang::Sema::CheckPureMethod(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), clang::Sema::CheckTemplateIdType(), clang::Sema::CheckVariableDeclaration(), clang::Sema::CheckVariableDeclarationType(), clang::RecordDecl::completeDefinition(), ComputeDefaultedComparisonExceptionSpec(), ComputeDefaultedSpecialMemberExceptionSpec(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::DeclareImplicitDeductionGuides(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::DeduceReturnType(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DeduceTemplateArgumentsFromType(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::Sema::DeduceVariableDeclarationType(), clang::SemaObjC::DefaultSynthesizeProperties(), clang::Sema::DefineDefaultedComparison(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitDefaultConstructor(), clang::Sema::DefineImplicitLambdaToFunctionPointerConversion(), clang::Sema::DefineImplicitMoveAssignment(), DelegatingCycleHelper(), clang::Sema::DiagnoseAbsenceOfOverrideControl(), clang::Sema::DiagnoseHiddenVirtualMethods(), diagnoseOpenCLTypes(), DiagnoseReinterpretUpDownCast(), clang::SemaObjC::DiagnoseUnimplementedProperties(), clang::Sema::DiagnoseUninstantiableTemplate(), DoMarkBindingDeclReferenced(), DoMarkVarDeclReferenced(), clang::SemaOpenMP::EndOpenMPDSABlock(), EvaluateAndDiagnoseImmediateInvocation(), EvaluateVarDecl(), clang::Sema::FinalizeVarWithDestructor(), findCompleteObject(), clang::Sema::findInheritingConstructor(), clang::Sema::FindInstantiatedDecl(), clang::ASTContext::getASTRecordLayout(), clang::ASTContext::getCommentForDecl(), clang::Sema::getConstructorName(), getContainedDynamicClass(), getNonCLikeKindForAnonymousStruct(), clang::ASTContext::getPreferredTypeAlign(), clang::ASTContext::getTypeInfoDataSizeInChars(), clang::Sema::getUndefinedButUsed(), HandleClassZeroInitialization(), HandleConstructorCall(), clang::Sema::HandleField(), handleGridConstantAttr(), HandleLValueBase(), HandleLValueDirectBase(), HandleLValueMember(), clang::Sema::HandleMSProperty(), handleNoEscapeAttr(), hasUserDefinedMapper(), clang::index::IndexingContext::importedModule(), clang::Sema::InheritedConstructorInfo::InheritedConstructorInfo(), clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassTemplateSpecialization(), clang::Sema::InstantiateEnum(), clang::Sema::InstantiateMemInitializers(), clang::Sema::InstantiateVariableDefinition(), clang::interp::InterpretOffsetOf(), isBetterMultiversionCandidate(), clang::Sema::IsDerivedFrom(), clang::FunctionDecl::isImplicitlyInstantiable(), clang::FieldDecl::isZeroSize(), clang::Sema::LookupLiteralOperator(), LookupMemberExpr(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), clang::Sema::MarkVirtualBaseDestructorsReferenced(), MatchesFriend(), clang::CXXRecordDecl::mayBeAbstract(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeTypedefNameDecl(), clang::Sema::MergeVarDecl(), clang::Sema::MergeVarDeclTypes(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::Sema::PerformPendingInstantiations(), clang::SemaObjC::ProcessPropertyDecl(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), clang::Sema::RefersToMemberWithReducedAlignment(), clang::ASTContext::registerSYCLEntryPointFunction(), clang::LookupResult::resolveKind(), clang::Sema::SetDeclDefaulted(), clang::Sema::setTagNameForLinkagePurposes(), shouldBeHidden(), clang::Sema::ShouldDeleteSpecialMember(), ShouldDiagnoseUnusedDecl(), ShouldWarnAboutMissingPrototype(), clang::Sema::ShouldWarnIfUnusedFileScopedDecl(), clang::TreeTransform< Derived >::SkipLambdaBody(), clang::Sema::SubstDecl(), clang::TemplateDeclInstantiator::SubstTemplateParams(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), TryOrBuildParenListInitialization(), TryRefInitWithConversionFunction(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::interp::Compiler< Emitter >::VisitImplicitValueInitExpr(), clang::ASTDeclReader::VisitObjCIvarDecl(), clang::ASTDeclWriter::VisitObjCIvarDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), and clang::ASTDeclWriter::VisitTypedefDecl().

◆ isInvisibleOutsideTheOwningModule() bool clang::Decl::isInvisibleOutsideTheOwningModule ( ) const inline ◆ isLocalExternDecl() bool clang::Decl::isLocalExternDecl ( ) const inline

Determine whether this is a block-scope declaration with linkage.

This will either be a local variable declaration declared 'extern', or a local function declaration.

Definition at line 1162 of file DeclBase.h.

References IDNS_LocalExtern.

Referenced by clang::Sema::BuildVariableInstantiation(), clang::Sema::canFullyTypeCheckRedeclaration(), checkDLLAttributeRedeclaration(), clang::Sema::FilterUsingLookup(), clang::Sema::HandleDelayedAccessCheck(), isInitializationOfVar(), isTemplated(), clang::Sema::MergeCXXFunctionDecl(), shouldBeHidden(), and clang::TemplateDeclInstantiator::VisitFunctionDecl().

◆ isModulePrivate() bool clang::Decl::isModulePrivate ( ) const inline

Whether this declaration was marked as being private to the module in which it was defined.

Definition at line 645 of file DeclBase.h.

References getModuleOwnershipKind(), and ModulePrivate.

Referenced by clang::Sema::hasAcceptableDefinition(), clang::TextNodeDumper::VisitEnumDecl(), clang::TextNodeDumper::VisitFieldDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::TextNodeDumper::VisitFunctionDecl(), clang::ASTDeclWriter::VisitObjCIvarDecl(), clang::TextNodeDumper::VisitRecordDecl(), clang::TextNodeDumper::VisitTypedefDecl(), clang::ASTDeclWriter::VisitTypedefDecl(), and clang::TextNodeDumper::VisitVarDecl().

◆ isOutOfLine() bool Decl::isOutOfLine ( ) const virtual

Determine whether this declaration is declared out of line (outside its semantic context).

Reimplemented in clang::VarDecl, and clang::FunctionDecl.

Definition at line 99 of file Decl.cpp.

References clang::DeclContext::Equals(), getDeclContext(), and getLexicalDeclContext().

Referenced by clang::Sema::ActOnCXXEnterDeclInitializer(), clang::Sema::ActOnCXXExitDeclInitializer(), diagnoseBadDirectAccess(), clang::VarDecl::isOutOfLine(), clang::FunctionDecl::isOutOfLine(), clang::Sema::PushOnScopeChains(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitDecl(), and clang::TemplateDeclInstantiator::VisitFunctionDecl().

◆ isParameterPack() bool Decl::isParameterPack ( ) const

Whether this declaration is a parameter pack.

Definition at line 247 of file DeclBase.cpp.

References isTemplateParameterPack().

Referenced by clang::Sema::ActOnSizeofParameterPackExpr(), clang::Sema::ActOnStartConceptDefinition(), clang::computeDependence(), ConvertDeducedTemplateArguments(), CXXNameMangler::TemplateArgManglingInfo::getArgInfo(), isSameAsPrimaryTemplate(), MatchTemplateParameterKind(), clang::JSONNodeDumper::VisitNonTypeTemplateParmDecl(), clang::TextNodeDumper::VisitNonTypeTemplateParmDecl(), clang::ASTNodeImporter::VisitNonTypeTemplateParmDecl(), clang::ASTDeclWriter::VisitNonTypeTemplateParmDecl(), clang::JSONNodeDumper::VisitTemplateTemplateParmDecl(), clang::TextNodeDumper::VisitTemplateTemplateParmDecl(), clang::ASTNodeImporter::VisitTemplateTemplateParmDecl(), clang::ASTDeclWriter::VisitTemplateTemplateParmDecl(), clang::JSONNodeDumper::VisitTemplateTypeParmDecl(), clang::TextNodeDumper::VisitTemplateTypeParmDecl(), clang::ASTNodeImporter::VisitTemplateTypeParmDecl(), and clang::TextNodeDumper::VisitVarDecl().

◆ isReachable() bool clang::Decl::isReachable ( ) const inline ◆ isReferenced() bool Decl::isReferenced ( ) const ◆ isTagIdentifierNamespace() static bool clang::Decl::isTagIdentifierNamespace ( unsigned  NS ) inlinestatic ◆ isTemplated() bool Decl::isTemplated ( ) const

Determine whether this declaration is a templated entity (whether it is.

Definition at line 289 of file DeclBase.cpp.

References getDeclContext(), getDescribedTemplateParams(), getFriendObjectKind(), getLexicalDeclContext(), isLocalExternDecl(), and isTemplateDecl().

Referenced by clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::AddInitializerToDecl(), clang::SemaSYCL::BuildSYCLKernelCallStmt(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), clang::CodeGen::CodeGenModule::EmitTopLevelDecl(), clang::ASTContext::registerSYCLEntryPointFunction(), and clang::JSONNodeDumper::VisitNamedDecl().

◆ isTemplateDecl() bool Decl::isTemplateDecl ( ) const ◆ isTemplateParameter() bool clang::Decl::isTemplateParameter ( ) const inline

isTemplateParameter - Determines whether this declaration is a template parameter.

Definition at line 2787 of file DeclBase.h.

References getKind().

Referenced by clang::Sema::ActOnEnumConstant(), clang::Sema::ActOnNamespaceAliasDef(), clang::Sema::ActOnParamDeclarator(), clang::Sema::CheckClassTemplate(), clang::Sema::DiagnoseTemplateParameterShadow(), clang::Sema::HandleDeclarator(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), clang::NamedDecl::isReserved(), maybeDiagnoseTemplateParameterShadow(), shouldBeHidden(), and clang::ASTDeclReader::VisitDecl().

◆ isTemplateParameterPack() bool Decl::isTemplateParameterPack ( ) const ◆ isThisDeclarationReferenced() bool clang::Decl::isThisDeclarationReferenced ( ) const inline ◆ isTopLevelDeclInObjCContainer() bool clang::Decl::isTopLevelDeclInObjCContainer ( ) const inline

Whether this declaration is a top-level declaration (function, global variable, etc.) that is lexically inside an objc container definition.

Definition at line 631 of file DeclBase.h.

Referenced by clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTypedefDecl(), and clang::ASTDeclWriter::VisitVarDecl().

◆ isUnavailable() bool clang::Decl::isUnavailable ( std::string *  Message = nullptr ) const inline ◆ isUnconditionallyVisible() bool clang::Decl::isUnconditionallyVisible ( ) const inline

Determine whether this declaration is definitely visible to name lookup, independent of whether the owning module is visible.

Note: The declaration may be visible even if this returns false if the owning module is visible within the query context. This is a low-level helper function; most code should be calling Sema::isVisible() instead.

Definition at line 852 of file DeclBase.h.

References getModuleOwnershipKind(), int, and Visible.

Referenced by clang::LookupResult::isReachable(), clang::LookupResult::isVisible(), clang::ObjCProtocolDecl::lookupMethod(), clang::ASTReader::makeNamesVisible(), clang::SemaObjC::MatchTwoMethodDeclarations(), clang::ASTReader::mergeDefinitionVisibility(), NestedProtocolHasNoDefinition(), and setVisibleDespiteOwningModule().

◆ isUsed()

Whether any (re-)declaration of the entity was used, meaning that a definition is required.

Parameters
CheckUsedAttr When true, also consider the "used" attribute (in addition to the "used" bit set by setUsed()) when determining whether the function is used.

Definition at line 557 of file DeclBase.cpp.

References getCanonicalDecl(), and getMostRecentDecl().

Referenced by clang::Sema::ActOnEndOfTranslationUnit(), clang::SemaOpenMP::ActOnOpenMPDeclareTargetName(), clang::SemaOpenMP::ActOnOpenMPIdExpression(), clang::Sema::ActOnPragmaUnused(), clang::Sema::BuildVariableInstantiation(), checkDLLAttributeRedeclaration(), CheckMultiVersionAdditionalRules(), CheckMultiVersionFunction(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), clang::CodeGen::CodeGenModule::EmitOMPDeclareMapper(), clang::CodeGen::CodeGenModule::EmitOMPDeclareReduction(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), markUsed(), clang::Sema::MergeCompatibleFunctionDecls(), clang::Sema::mergeDeclAttributes(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeVarDecl(), ShouldDiagnoseUnusedDecl(), ShouldRemoveFromUnused(), clang::Sema::ShouldWarnIfUnusedFileScopedDecl(), clang::updateFlags(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitFieldDecl(), and clang::ASTDeclWriter::VisitObjCIvarDecl().

◆ isWeakImported() bool Decl::isWeakImported ( ) const ◆ markUsed()

Mark the declaration used, in the sense of odr-use.

This notifies any mutation listeners in addition to setting a bit indicating the declaration is used.

Definition at line 572 of file DeclBase.cpp.

References clang::C, isUsed(), and setIsUsed().

Referenced by clang::Sema::ActOnAddrLabel(), clang::Sema::ActOnGotoStmt(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildCXXForRangeStmt(), buildDeclRefExpr(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), clang::Sema::createLambdaInitCaptureVarDecl(), clang::Sema::DefineDefaultedComparison(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitLambdaToBlockPointerConversion(), clang::Sema::DefineImplicitLambdaToFunctionPointerConversion(), clang::Sema::DefineImplicitMoveAssignment(), and clang::ASTDeclReader::UpdateDecl().

◆ operator new() [1/2] void * Decl::operator new ( std::size_t  Size, const ASTContextCtx, DeclContextParent, std::size_t  Extra = 0  ) protected ◆ operator new() [2/2] void * Decl::operator new ( std::size_t  Size, const ASTContextCtx, GlobalDeclID  ID, std::size_t  Extra = 0  ) protected

Allocate memory for a deserialized declaration.

This routine must be used to allocate memory for any declaration that is deserialized from a module file.

Parameters
Size The size of the allocated object. Ctx The context in which we will allocate memory. ID The global ID of the deserialized declaration. Extra The amount of extra space to allocate after the object.

Definition at line 70 of file DeclBase.cpp.

References clang::ASTContext::Allocate(), and clang::Result.

◆ operator=() [1/2] Decl & clang::Decl::operator= ( const Decl &  ) delete ◆ operator=() [2/2] Decl & clang::Decl::operator= ( Decl &&  ) delete ◆ print() [1/2] ◆ print() [2/2] void Decl::print ( raw_ostream &  Out, unsigned  Indentation = 0, bool  PrintInstantiation = false  ) const

Definition at line 130 of file DeclPrinter.cpp.

References getASTContext(), and print().

Referenced by clang::ento::CallEvent::dump(), clang::BackendConsumer::EmitOptimizationMessage(), formatTemplateParameterPlaceholder(), NoteImplicitDeductionGuide(), noteLocation(), clang::DynTypedNode::print(), clang::TemplateName::print(), print(), printMemFnName(), clang::BackendConsumer::SrcMgrDiagHandler(), clang::BackendConsumer::UnsupportedDiagHandler(), clang::TextNodeDumper::VisitUnresolvedUsingTypenameDecl(), clang::TextNodeDumper::VisitUnresolvedUsingValueDecl(), and clang::TextNodeDumper::VisitUsingDecl().

◆ printGroup() ◆ PrintStats() void Decl::PrintStats ( ) static ◆ redecls()

Returns an iterator range for all the redeclarations of the same decl.

It will iterate at least once (when this decl is the only one).

Definition at line 1042 of file DeclBase.h.

References redecls_begin(), and redecls_end().

Referenced by addGslOwnerPointerAttributeIfNotExisting(), compareDeclarations(), clang::NamedDecl::declarationReplaces(), clang::SemaObjC::DiagnoseOwningPropertyGetterSynthesis(), clang::ASTDumper::dumpTemplateDeclSpecialization(), findAcceptableDecl(), findDefiningRedecl(), clang::getCanonicalForwardRedeclChain(), getLambdaCallOperatorHelper(), clang::LinkageComputer::getLVForDecl(), clang::ASTContext::getRawCommentForAnyRedecl(), handleLifetimeCategoryAttr(), hasAcceptableDeclarationImpl(), hasAnyExplicitStorageClass(), and isReferenced().

◆ redecls_begin() ◆ redecls_end() ◆ setAccess()

Definition at line 505 of file DeclBase.h.

References Access.

Referenced by clang::Sema::ActOnAliasDeclaration(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnEnumConstant(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFriendTypeDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaOpenMP::ActOnOpenMPAllocateDirective(), clang::Sema::ActOnStartCXXMemberDeclarations(), clang::Sema::ActOnTag(), clang::Sema::ActOnTemplateTemplateParameter(), clang::Sema::ActOnTypeParameter(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::Sema::AddTemplateParametersToLambdaCallOperator(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildUsingDeclaration(), clang::Sema::BuildUsingEnumDeclaration(), clang::Sema::BuildUsingShadowDecl(), clang::Sema::BuildVariableInstantiation(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckFunctionDeclaration(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), clang::Sema::CreateLambdaCallOperator(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::findInheritingConstructor(), clang::Sema::HandleMSProperty(), clang::TemplateDeclInstantiator::InitMethodInstantiation(), InjectAnonymousStructOrUnionMembers(), clang::TemplateDeclInstantiator::InstantiateEnumDefinition(), clang::TemplateDeclInstantiator::InstantiateTypeAliasTemplateDecl(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::MergeVarDecl(), clang::UnresolvedSetImpl::setAccess(), setInvalidDecl(), clang::Sema::SetMemberAccessSpecifier(), clang::Sema::SubstSpaceshipAsEqualEqual(), clang::ASTNodeImporter::VisitClassTemplateDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTDeclReader::VisitDecl(), clang::ASTNodeImporter::VisitEnumConstantDecl(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTNodeImporter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFriendDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTNodeImporter::VisitIndirectFieldDecl(), clang::ASTNodeImporter::VisitRecordDecl(), clang::ASTNodeImporter::VisitTypeAliasTemplateDecl(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ASTNodeImporter::VisitUnresolvedUsingTypenameDecl(), clang::ASTNodeImporter::VisitUnresolvedUsingValueDecl(), clang::ASTNodeImporter::VisitUsingShadowDecl(), clang::ASTNodeImporter::VisitVarDecl(), clang::ASTNodeImporter::VisitVarTemplateDecl(), and clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl().

◆ setAttrs() void clang::Decl::setAttrs ( const AttrVecAttrs ) inline ◆ setCachedLinkage() void clang::Decl::setCachedLinkage ( Linkage  L ) const inlineprotected ◆ setDeclContext()

setDeclContext - Set both the semantic and lexical DeclContext to DC.

Definition at line 363 of file DeclBase.cpp.

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnMethodDeclaration(), clang::SemaOpenMP::ActOnOpenMPDeclareMapperDirective(), adjustDeclContextForDeclaratorDecl(), buildImplicitMapper(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), clang::Sema::DeclApplyPragmaWeak(), clang::ParmVarDecl::setOwningFunction(), clang::Sema::SubstParmVarDecl(), clang::ASTDeclReader::VisitDecl(), and clang::ASTNodeImporter::VisitTypedefNameDecl().

◆ setFromASTFile() void clang::Decl::setFromASTFile ( ) inline

Set the FromASTFile flag.

This indicates that this declaration was deserialized and not parsed from source code and enables features such as module ownership information.

Definition at line 711 of file DeclBase.h.

References FromASTFile.

◆ setImplicit() void clang::Decl::setImplicit ( bool  I = true ) inline

Definition at line 597 of file DeclBase.h.

Referenced by clang::SemaOpenMP::ActOnOMPIteratorExpr(), clang::SemaObjC::ActOnStartCategoryImplementation(), clang::Sema::ActOnStartCXXMemberDeclarations(), clang::Sema::ActOnStartNamespaceDef(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::Sema::BuildAnonymousStructOrUnion(), clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::Sema::BuildMicrosoftCAnonymousStruct(), clang::Sema::BuildParmVarDeclForTypedef(), buildVarDecl(), CreateAAPCSABIBuiltinVaListDecl(), clang::Sema::CreateBuiltin(), clang::Sema::CreateCapturedStmtRecordDecl(), createHostLayoutStruct(), createHostLayoutStructForBuffer(), clang::Sema::DeclareGlobalNewDelete(), clang::Sema::findInheritingConstructor(), clang::Sema::getOrCreateStdNamespace(), clang::Sema::ImplicitlyDefineFunction(), clang::ImplicitParamDecl::ImplicitParamDecl(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::HLSLExternalSemaSource::InitializeSema(), InjectAnonymousStructOrUnionMembers(), InsertOCLBuiltinDeclarationsFromTable(), InventTemplateParameter(), clang::Sema::MergeFunctionDecl(), clang::UsingShadowDecl::UsingShadowDecl(), clang::ASTDeclReader::VisitDecl(), and clang::ASTNodeImporter::VisitFieldDecl().

◆ setInvalidDecl() void Decl::setInvalidDecl ( bool  Invalid = true )

setInvalidDecl - Indicates the Decl had a semantic error.

This allows for graceful error recovery.

Definition at line 159 of file DeclBase.cpp.

References clang::AS_public, clang::Invalid, and setAccess().

Referenced by clang::Sema::ActOnAliasDeclaration(), clang::SemaObjC::ActOnAtEnd(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCapturedRegionError(), clang::Sema::ActOnCXXForRangeDecl(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishCXXInClassMemberInitializer(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFriendTypeDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnInitializerError(), clang::SemaObjC::ActOnIvar(), clang::Sema::ActOnLambdaExpressionAfterIntroducer(), clang::SemaObjC::ActOnMethodDeclaration(), clang::SemaObjC::ActOnMethodParmDeclaration(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionDirectiveEnd(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnParamDefaultArgumentError(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::SemaObjC::ActOnStartCategoryImplementation(), clang::SemaObjC::ActOnStartCategoryInterface(), clang::SemaObjC::ActOnStartClassImplementation(), clang::SemaObjC::ActOnStartClassInterface(), clang::Sema::ActOnStartConceptDefinition(), clang::Sema::ActOnStartExportDecl(), clang::Sema::ActOnStartNamespaceDef(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaObjC::ActOnStartOfObjCMethodDef(), clang::Sema::ActOnTag(), clang::Sema::ActOnTemplateTemplateParameter(), clang::SemaHLSL::ActOnTopLevelFunction(), clang::Sema::ActOnTypeParameter(), clang::Sema::ActOnVariableDeclarator(), clang::SemaHLSL::ActOnVariableDeclarator(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildCaptureField(), clang::Sema::BuildDeclaratorGroup(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildMicrosoftCAnonymousStruct(), clang::SemaObjC::BuildObjCExceptionDecl(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildUsingDeclaration(), clang::Sema::BuildUsingEnumDeclaration(), clang::Sema::BuildUsingShadowDecl(), clang::SemaCUDA::checkAllowedInitializer(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompletedCoroutineBody(), clang::Sema::CheckCompleteDecompositionDeclaration(), clang::Sema::CheckCXXDefaultArgExpr(), clang::Sema::CheckCXXThisCapture(), CheckDeclarationCausesMultiVersioning(), checkDLLAttributeRedeclaration(), clang::SemaHLSL::CheckEntryPoint(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::CheckExplicitlyDefaultedFunction(), clang::Sema::CheckExplicitObjectOverride(), checkExportedDecl(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckForFunctionRedefinition(), clang::Sema::CheckFunctionDeclaration(), checkInheritableAttr(), clang::Sema::CheckInheritingConstructorUsingDecl(), clang::SemaObjC::checkInitMethod(), clang::Sema::CheckMain(), clang::Sema::CheckMSVCRTEntryPoint(), CheckMultiVersionAdditionalDecl(), CheckMultiVersionFirstFunction(), CheckMultiVersionFunction(), checkNewAttributesAfterDef(), clang::SemaObjC::CheckObjCDeclScope(), clang::SemaObjC::CheckObjCPropertyAttributes(), clang::Sema::CheckOverload(), clang::Sema::CheckOverrideControl(), clang::Sema::CheckParameter(), clang::Sema::CheckRedeclarationModuleOwnership(), clang::SemaCUDA::checkTargetOverload(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::checkTypeSupport(), clang::Sema::CheckUsingShadowDecl(), clang::Sema::checkVarDeclRedefinition(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVarTemplateId(), clang::ConceptDecl::Create(), clang::FunctionTemplateDecl::Create(), clang::ClassTemplateDecl::Create(), clang::TypeAliasTemplateDecl::Create(), clang::VarTemplateDecl::Create(), CreateNewFunctionDecl(), clang::SemaObjC::CreatePropertyDecl(), clang::Sema::DeduceVariableDeclarationType(), clang::Sema::DefineDefaultedComparison(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitLambdaToBlockPointerConversion(), clang::Sema::DefineImplicitMoveAssignment(), DiagnoseInvalidRedeclaration(), diagnoseOpenCLTypes(), clang::Sema::DiagnoseUninstantiableTemplate(), diagnoseVarDeclTypeMismatch(), clang::Sema::FinalizeDeclaration(), clang::Sema::findInheritingConstructor(), FinishForRangeVarDecl(), GetFullTypeForDeclarator(), getPatternForClassTemplateSpecialization(), clang::Sema::InheritedConstructorInfo::InheritedConstructorInfo(), clang::Sema::InstantiateClass(), clang::TemplateDeclInstantiator::InstantiateEnumDefinition(), clang::Sema::InstantiateInClassInitializer(), clang::Sema::InstantiateMemInitializers(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::InstantiateVariableInitializer(), clang::Sema::isIncompatibleTypedef(), clang::Sema::MergeTypedefNameDecl(), clang::Sema::MergeVarDecl(), clang::Sema::MergeVarDeclExceptionSpecs(), clang::Sema::ParseTypedefDecl(), clang::Sema::ProcessDeclAttributeList(), clang::Sema::SetDeclDefaulted(), clang::Sema::SubstBaseSpecifiers(), clang::Sema::SubstDefaultArgument(), and clang::TemplateDeclInstantiator::VisitCXXMethodDecl().

◆ setIsUsed() void clang::Decl::setIsUsed ( ) inline ◆ setLexicalDeclContext()

Definition at line 367 of file DeclBase.cpp.

References getASTContext(), getDeclContext(), getLexicalDeclContext(), getModuleOwnershipKind(), getOwningModule(), hasOwningModule(), isFromASTFile(), setLocalOwningModule(), setModuleOwnershipKind(), and VisibleWhenImported.

Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnLambdaExpressionAfterIntroducer(), clang::SemaOpenMP::ActOnOpenMPDeclareMapperDirective(), clang::SemaObjC::ActOnProperty(), clang::Sema::ActOnTag(), clang::Sema::ActOnVariableDeclarator(), clang::ObjCImplDecl::addClassMethod(), clang::ObjCImplDecl::addInstanceMethod(), adjustDeclContextForDeclaratorDecl(), buildImplicitMapper(), clang::Sema::BuildLambdaExpr(), clang::Sema::BuildVariableInstantiation(), clang::Sema::CheckClassTemplate(), clang::SemaObjC::CheckImplementationIvars(), clang::Sema::CheckTemplateIdType(), clang::Sema::CompleteLambdaCallOperator(), clang::SemaObjC::CreatePropertyDecl(), clang::Sema::DeclApplyPragmaWeak(), RedeclarePropertyAccessor(), clang::ASTNodeImporter::VisitAccessSpecDecl(), clang::ASTNodeImporter::VisitClassTemplateDecl(), clang::ASTNodeImporter::VisitClassTemplateSpecializationDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTNodeImporter::VisitEmptyDecl(), clang::ASTNodeImporter::VisitEnumConstantDecl(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTNodeImporter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFriendDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ASTNodeImporter::VisitIndirectFieldDecl(), clang::ASTNodeImporter::VisitLabelDecl(), clang::ASTNodeImporter::VisitLifetimeExtendedTemporaryDecl(), clang::ASTNodeImporter::VisitLinkageSpecDecl(), clang::ASTNodeImporter::VisitNamespaceAliasDecl(), clang::ASTNodeImporter::VisitNamespaceDecl(), clang::ASTNodeImporter::VisitObjCCategoryDecl(), clang::ASTNodeImporter::VisitObjCCategoryImplDecl(), clang::ASTNodeImporter::VisitObjCImplementationDecl(), clang::ASTNodeImporter::VisitObjCInterfaceDecl(), clang::ASTNodeImporter::VisitObjCIvarDecl(), clang::ASTNodeImporter::VisitObjCMethodDecl(), clang::ASTNodeImporter::VisitObjCPropertyDecl(), clang::ASTNodeImporter::VisitObjCPropertyImplDecl(), clang::ASTNodeImporter::VisitObjCProtocolDecl(), clang::ASTNodeImporter::VisitRecordDecl(), clang::ASTNodeImporter::VisitStaticAssertDecl(), clang::ASTNodeImporter::VisitTypeAliasTemplateDecl(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ASTNodeImporter::VisitUnresolvedUsingTypenameDecl(), clang::ASTNodeImporter::VisitUnresolvedUsingValueDecl(), clang::ASTNodeImporter::VisitUsingDecl(), clang::ASTNodeImporter::VisitUsingDirectiveDecl(), clang::ASTNodeImporter::VisitUsingEnumDecl(), clang::ASTNodeImporter::VisitUsingShadowDecl(), clang::ASTNodeImporter::VisitVarDecl(), and clang::ASTNodeImporter::VisitVarTemplateDecl().

◆ setLocalExternDecl() void clang::Decl::setLocalExternDecl ( ) inline ◆ setLocalOwningModule() void clang::Decl::setLocalOwningModule ( ModuleM ) inline ◆ setLocation() ◆ setModuleOwnershipKind()

Set whether this declaration is hidden from name lookup.

Definition at line 874 of file DeclBase.h.

References getModuleOwnershipKind(), hasLocalOwningModuleStorage(), isFromASTFile(), NextInContextAndBits, and Unowned.

Referenced by clang::Sema::ActOnFinishNamespaceDef(), clang::Sema::ActOnGlobalModuleFragmentDecl(), clang::Sema::ActOnModuleDecl(), clang::Sema::ActOnPrivateModuleFragmentDecl(), clang::Sema::ActOnStartExportDecl(), clang::Sema::DeclareGlobalNewDelete(), setLexicalDeclContext(), setModulePrivate(), setVisibleDespiteOwningModule(), and clang::ASTDeclReader::VisitDecl().

◆ setModulePrivate() void clang::Decl::setModulePrivate ( ) inlineprotected ◆ setNonMemberOperator() void clang::Decl::setNonMemberOperator ( ) inline ◆ setObjectOfFriendDecl() void clang::Decl::setObjectOfFriendDecl ( bool  PerformFriendInjection = false ) inline

Changes the namespace of this declaration to reflect that it's the object of a friend declaration.

These declarations appear in the lexical context of the friending class, but in the semantic context of the actual entity. This property applies only to a specific decl object; other redeclarations of the same entity may not (and probably don't) share this property.

Definition at line 1173 of file DeclBase.h.

References getIdentifierNamespace(), getPreviousDecl(), IDNS_LocalExtern, IDNS_NonMemberOperator, IDNS_Ordinary, IDNS_OrdinaryFriend, IDNS_Tag, IDNS_TagFriend, and IDNS_Type.

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnTag(), clang::Sema::CheckClassTemplate(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), and clang::ASTNodeImporter::VisitFriendDecl().

◆ setOwningModuleID() void Decl::setOwningModuleID ( unsigned  ID ) ◆ setReferenced() void clang::Decl::setReferenced ( bool  R = true ) inline

Definition at line 626 of file DeclBase.h.

Referenced by clang::Sema::BuildBlockForLambdaConversion(), buildDeclRefExpr(), clang::Sema::BuildVariableInstantiation(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), clang::Sema::createLambdaInitCaptureVarDecl(), clang::Sema::DefineImplicitLambdaToFunctionPointerConversion(), DoMarkBindingDeclReferenced(), DoMarkVarDeclReferenced(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::MarkAnyDeclReferenced(), and clang::ASTDeclReader::VisitDecl().

◆ setTopLevelDeclInObjCContainer() void clang::Decl::setTopLevelDeclInObjCContainer ( bool  V = true ) inline ◆ setVisibleDespiteOwningModule() void clang::Decl::setVisibleDespiteOwningModule ( ) inline

Set that this declaration is globally visible, even if it came from a module that is not visible.

Definition at line 863 of file DeclBase.h.

References isUnconditionallyVisible(), setModuleOwnershipKind(), and Visible.

Referenced by clang::Sema::hasAcceptableDefinition(), clang::Sema::InstantiateClass(), clang::Sema::InstantiateEnum(), clang::Sema::InstantiateVariableDefinition(), clang::Sema::makeMergedDefinitionVisible(), clang::ASTReader::makeNamesVisible(), clang::ASTReader::mergeDefinitionVisibility(), and clang::ASTDeclReader::VisitDecl().

◆ shouldEmitInExternalSource() bool Decl::shouldEmitInExternalSource ( ) const ◆ specific_attr_begin() ◆ specific_attr_end() ◆ specific_attrs()

Definition at line 562 of file DeclBase.h.

Referenced by clang::SemaOpenMP::ActOnOpenMPCall(), clang::CodeGen::CodeGenModule::AddGlobalAnnotations(), AttrFilter(), clang::Sema::CheckAlignasUnderalignment(), clang::Sema::checkCall(), checkFormatStringExpr(), CheckNonNullArguments(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), clang::Sema::CheckTCBEnforcement(), clang::interp::collectNonNullArgs(), compareEnableIfAttrs(), compareOverloads(), clang::computeDependence(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::SemaObjC::DiagnoseCStringFormatDirectiveInCFAPI(), DiagnoseCStringFormatDirectiveInObjCAPI(), diagnoseDiagnoseIfAttrsWith(), clang::CodeGen::CGOpenMPRuntime::emitDeclareSimdFunction(), clang::Sema::FinalizeDeclaration(), findEnforceTCBAttrByName(), getNonNullAttr(), getPrintfFormatArgumentNum(), handleOwnershipAttr(), hasBTFDeclTagAttr(), hasRCAnnotation(), hasSameOverloadableAttrs(), isFunctionAlwaysEnabled(), isRelevantAttr(), mergeAlignedAttrs(), clang::Sema::mergeDeclAttributes(), clang::Sema::mergeFormatAttr(), printOwnershipTakesList(), propagateAttribute(), and clang::CodeGen::SanitizerMetadata::reportGlobal().

◆ updateOutOfDate() ◆ ASTDeclMerger ◆ ASTDeclReader ◆ ASTDeclWriter ◆ ASTNodeImporter ◆ ASTReader ◆ CXXClassMemberWrapper friend class CXXClassMemberWrapper friend

Definition at line 328 of file DeclBase.h.

◆ DeclContext ◆ LinkageComputer ◆ RecordDecl ◆ Redeclarable

template<typename decl_type >

Definition at line 331 of file DeclBase.h.

◆ Access ◆ CacheValidAndLinkage unsigned clang::Decl::CacheValidAndLinkage mutableprotected ◆ FromASTFile ◆ IdentifierNamespace

IdentifierNamespace - This specifies what IDNS_* namespace this lives in.

Definition at line 344 of file DeclBase.h.

◆ NextInContextAndBits

The documentation for this class was generated from the following files:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4