|
clang
3.8.0
|
RecordDecl - Represents a struct/union/class. More...
#include <Decl.h>
Public Types | |
| typedef specific_decl_iterator < FieldDecl > | field_iterator |
| typedef llvm::iterator_range < specific_decl_iterator < FieldDecl > > | field_range |
Public Types inherited from clang::TagDecl | |
| typedef TagTypeKind | TagKind |
| typedef redeclarable_base::redecl_range | redecl_range |
| typedef redeclarable_base::redecl_iterator | redecl_iterator |
Public Types inherited from clang::NamedDecl | |
| enum | ExplicitVisibilityKind { VisibilityForType, VisibilityForValue } |
| Kinds of explicit visibility. More... | |
Public Types inherited from clang::Decl | |
| enum | { DeclObjAlignment = llvm::AlignOf<uint64_t>::Alignment } |
| Alignment guaranteed when allocating Decl and any subtypes. 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 } |
| 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 | FriendObjectKind { FOK_None, FOK_Declared, FOK_Undeclared } |
| typedef AttrVec::const_iterator | attr_iterator |
| typedef llvm::iterator_range < attr_iterator > | attr_range |
| typedef llvm::iterator_range < redecl_iterator > | redecl_range |
Public Types inherited from clang::DeclContext | |
| typedef llvm::iterator_range < decl_iterator > | decl_range |
| typedef DeclContextLookupResult | lookup_result |
| typedef lookup_result::iterator | lookup_iterator |
| typedef llvm::iterator_range < all_lookups_iterator > | lookups_range |
| typedef llvm::iterator_adaptor_base < udir_iterator, lookup_iterator, std::random_access_iterator_tag, UsingDirectiveDecl * > | udir_iterator_base |
| typedef llvm::iterator_range < udir_iterator > | udir_range |
| typedef llvm::iterator_range < DeclContext::ddiag_iterator > | ddiag_range |
Public Types inherited from clang::Redeclarable< TagDecl > | |
| typedef llvm::iterator_range < redecl_iterator > | redecl_range |
Public Member Functions | |
| RecordDecl * | getPreviousDecl () |
| const RecordDecl * | getPreviousDecl () const |
| RecordDecl * | getMostRecentDecl () |
| const RecordDecl * | getMostRecentDecl () const |
| bool | hasFlexibleArrayMember () const |
| void | setHasFlexibleArrayMember (bool V) |
| bool | isAnonymousStructOrUnion () const |
| isAnonymousStructOrUnion - Whether this is an anonymous struct or union. More... | |
| void | setAnonymousStructOrUnion (bool Anon) |
| bool | hasObjectMember () const |
| void | setHasObjectMember (bool val) |
| bool | hasVolatileMember () const |
| void | setHasVolatileMember (bool val) |
| bool | hasLoadedFieldsFromExternalStorage () const |
| void | setHasLoadedFieldsFromExternalStorage (bool val) |
| bool | isInjectedClassName () const |
| Determines whether this declaration represents the injected class name. More... | |
| bool | isLambda () const |
| Determine whether this record is a class describing a lambda function object. More... | |
| bool | isCapturedRecord () const |
| Determine whether this record is a record for captured variables in CapturedStmt construct. More... | |
| void | setCapturedRecord () |
| Mark the record as a record for captured variables in CapturedStmt construct. More... | |
| RecordDecl * | getDefinition () const |
| getDefinition - Returns the RecordDecl that actually defines this struct/union/class. More... | |
| field_range | fields () const |
| field_iterator | field_begin () const |
| field_iterator | field_end () const |
| bool | field_empty () const |
| virtual void | completeDefinition () |
| completeDefinition - Notes that the definition of this type is now complete. More... | |
| bool | isMsStruct (const ASTContext &C) const |
| isMsStrust - Get whether or not this is an ms_struct which can be turned on with an attribute, pragma, or -mms-bitfields commandline option. More... | |
| bool | mayInsertExtraPadding (bool EmitRemark=false) const |
| Whether we are allowed to insert extra padding between fields. More... | |
| const FieldDecl * | findFirstNamedDataMember () const |
| Finds the first data member which has a name. More... | |
Public Member Functions inherited from clang::TagDecl | |
| SourceLocation | getRBraceLoc () const |
| void | setRBraceLoc (SourceLocation L) |
| SourceLocation | getInnerLocStart () const |
| getInnerLocStart - Return SourceLocation representing start of source range ignoring outer template declarations. More... | |
| SourceLocation | getOuterLocStart () const |
| getOuterLocStart - Return SourceLocation representing start of source range taking into account any outer template declarations. More... | |
| SourceRange | getSourceRange () const override LLVM_READONLY |
| Source range that this declaration covers. More... | |
| TagDecl * | getCanonicalDecl () override |
| Retrieves the "canonical" declaration of the given declaration. More... | |
| const TagDecl * | getCanonicalDecl () const |
| bool | isThisDeclarationADefinition () const |
| isThisDeclarationADefinition() - Return true if this declaration is a completion definition of the type. More... | |
| bool | isCompleteDefinition () const |
| isCompleteDefinition - Return true if this decl has its body fully specified. More... | |
| bool | isCompleteDefinitionRequired () const |
| Return true if this complete decl is required to be complete for some existing use. More... | |
| bool | isBeingDefined () const |
| isBeingDefined - Return true if this decl is currently being defined. More... | |
| bool | isEmbeddedInDeclarator () const |
| void | setEmbeddedInDeclarator (bool isInDeclarator) |
| bool | isFreeStanding () const |
| void | setFreeStanding (bool isFreeStanding=true) |
| bool | isDependentType () const |
| Whether this declaration declares a type that is dependent, i.e., a type that somehow depends on template parameters. More... | |
| void | startDefinition () |
| Starts the definition of this tag declaration. More... | |
| TagDecl * | getDefinition () const |
| getDefinition - Returns the TagDecl that actually defines this struct/union/class/enum. More... | |
| void | setCompleteDefinition (bool V) |
| void | setCompleteDefinitionRequired (bool V=true) |
| StringRef | getKindName () const |
| TagKind | getTagKind () const |
| void | setTagKind (TagKind TK) |
| bool | isStruct () const |
| bool | isInterface () const |
| bool | isClass () const |
| bool | isUnion () const |
| bool | isEnum () const |
| bool | hasNameForLinkage () const |
| Is this tag type named, either directly or via being defined in a typedef of this type? More... | |
| TypedefNameDecl * | getTypedefNameForAnonDecl () const |
| void | setTypedefNameForAnonDecl (TypedefNameDecl *TDD) |
| NestedNameSpecifier * | getQualifier () const |
| Retrieve the nested-name-specifier that qualifies the name of this declaration, if it was present in the source. More... | |
| NestedNameSpecifierLoc | getQualifierLoc () const |
| Retrieve the nested-name-specifier (with source-location information) that qualifies the name of this declaration, if it was present in the source. More... | |
| void | setQualifierInfo (NestedNameSpecifierLoc QualifierLoc) |
| unsigned | getNumTemplateParameterLists () const |
| TemplateParameterList * | getTemplateParameterList (unsigned i) const |
| void | setTemplateParameterListsInfo (ASTContext &Context, ArrayRef< TemplateParameterList * > TPLists) |
Public Member Functions inherited from clang::TypeDecl | |
| const Type * | getTypeForDecl () const |
| void | setTypeForDecl (const Type *TD) |
| SourceLocation | getLocStart () const LLVM_READONLY |
| void | setLocStart (SourceLocation L) |
Public Member Functions inherited from clang::NamedDecl | |
| IdentifierInfo * | getIdentifier () const |
| getIdentifier - Get the identifier that names this declaration, if there is one. More... | |
| StringRef | getName () const |
| getName - Get the name of identifier for this declaration as a StringRef. More... | |
| std::string | getNameAsString () const |
| getNameAsString - Get a human-readable name for the declaration, even if it is one of the special kinds of names (C++ constructor, Objective-C selector, etc). More... | |
| void | printName (raw_ostream &os) const |
| DeclarationName | getDeclName () const |
| getDeclName - Get the actual, stored name of the declaration, which may be a special name. More... | |
| void | setDeclName (DeclarationName N) |
| Set the name of this declaration. More... | |
| void | printQualifiedName (raw_ostream &OS) const |
| printQualifiedName - Returns human-readable qualified name for declaration, like A::B::i, for i being member of namespace A::B. More... | |
| void | printQualifiedName (raw_ostream &OS, const PrintingPolicy &Policy) const |
| std::string | getQualifiedNameAsString () const |
| virtual void | getNameForDiagnostic (raw_ostream &OS, const PrintingPolicy &Policy, bool Qualified) const |
| getNameForDiagnostic - Appends a human-readable name for this declaration into the given stream. More... | |
| bool | declarationReplaces (NamedDecl *OldD, bool IsKnownNewer=true) const |
| Determine whether this declaration, if known to be well-formed within its context, will replace the declaration OldD if introduced into scope. More... | |
| bool | hasLinkage () const |
| Determine whether this declaration has linkage. More... | |
| bool | isHidden () const |
| Determine whether this declaration is hidden from name lookup. More... | |
| void | setHidden (bool Hide) |
| Set whether this declaration is hidden from name lookup. More... | |
| bool | isCXXClassMember () const |
| Determine whether this declaration is a C++ class member. More... | |
| bool | isCXXInstanceMember () const |
| Determine whether the given declaration is an instance member of a C++ class. More... | |
| Linkage | getLinkageInternal () const |
| Determine what kind of linkage this entity has. More... | |
| Linkage | getFormalLinkage () const |
| Get the linkage from a semantic point of view. More... | |
| bool | hasExternalFormalLinkage () const |
| True if this decl has external linkage. More... | |
| bool | isExternallyVisible () const |
| Visibility | getVisibility () const |
| Determines the visibility of this entity. More... | |
| LinkageInfo | getLinkageAndVisibility () const |
| Determines the linkage and visibility of this entity. More... | |
| Optional< Visibility > | getExplicitVisibility (ExplicitVisibilityKind kind) const |
| If visibility was explicitly specified for this declaration, return that visibility. More... | |
| bool | isLinkageValid () const |
| True if the computed linkage is valid. More... | |
| bool | hasLinkageBeenComputed () const |
| True if something has required us to compute the linkage of this declaration. More... | |
| NamedDecl * | getUnderlyingDecl () |
| Looks through UsingDecls and ObjCCompatibleAliasDecls for the underlying named decl. More... | |
| const NamedDecl * | getUnderlyingDecl () const |
| NamedDecl * | getMostRecentDecl () |
| const NamedDecl * | getMostRecentDecl () const |
| ObjCStringFormatFamily | getObjCFStringFormattingFamily () const |
Public Member Functions inherited from clang::Decl | |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| SourceLocation | getLocation () const |
| void | setLocation (SourceLocation L) |
| Kind | getKind () const |
| const char * | getDeclKindName () const |
| Decl * | getNextDeclInContext () |
| const Decl * | getNextDeclInContext () const |
| DeclContext * | getDeclContext () |
| const DeclContext * | getDeclContext () const |
| Decl * | getNonClosureContext () |
| Find the innermost non-closure ancestor of this declaration, walking up through blocks, lambdas, etc. More... | |
| const Decl * | getNonClosureContext () const |
| TranslationUnitDecl * | getTranslationUnitDecl () |
| const TranslationUnitDecl * | getTranslationUnitDecl () const |
| bool | isInAnonymousNamespace () const |
| bool | isInStdNamespace () const |
| ASTContext & | getASTContext () const LLVM_READONLY |
| void | setAccess (AccessSpecifier AS) |
| AccessSpecifier | getAccess () const |
| AccessSpecifier | getAccessUnsafe () const |
| Retrieve the access specifier for this declaration, even though it may not yet have been properly set. More... | |
| bool | hasAttrs () const |
| void | setAttrs (const AttrVec &Attrs) |
| AttrVec & | getAttrs () |
| const AttrVec & | getAttrs () const |
| void | dropAttrs () |
| void | addAttr (Attr *A) |
| attr_range | attrs () const |
| attr_iterator | attr_begin () const |
| attr_iterator | attr_end () const |
| template<typename T > | |
| void | dropAttr () |
| template<typename T > | |
| llvm::iterator_range < specific_attr_iterator< T > > | specific_attrs () const |
| template<typename T > | |
| specific_attr_iterator< T > | specific_attr_begin () const |
| template<typename T > | |
| specific_attr_iterator< T > | specific_attr_end () const |
| template<typename T > | |
| T * | getAttr () const |
| template<typename T > | |
| bool | hasAttr () const |
| unsigned | getMaxAlignment () const |
| getMaxAlignment - return the maximum alignment specified by attributes on this decl, 0 if there are none. More... | |
| void | setInvalidDecl (bool Invalid=true) |
| setInvalidDecl - Indicates the Decl had a semantic error. More... | |
| bool | isInvalidDecl () const |
| bool | isImplicit () const |
| isImplicit - Indicates whether the declaration was implicitly generated by the implementation. More... | |
| void | setImplicit (bool I=true) |
| bool | isUsed (bool CheckUsedAttr=true) const |
| Whether this declaration was used, meaning that a definition is required. More... | |
| void | setIsUsed () |
| Set whether the declaration is used, in the sense of odr-use. More... | |
| void | markUsed (ASTContext &C) |
| Mark the declaration used, in the sense of odr-use. More... | |
| bool | isReferenced () const |
| Whether any declaration of this entity was referenced. More... | |
| bool | isThisDeclarationReferenced () const |
| Whether this declaration was referenced. More... | |
| void | setReferenced (bool R=true) |
| bool | isTopLevelDeclInObjCContainer () const |
| Whether this declaration is a top-level declaration (function, global variable, etc.) that is lexically inside an objc container definition. More... | |
| void | setTopLevelDeclInObjCContainer (bool V=true) |
| bool | isModulePrivate () const |
| Whether this declaration was marked as being private to the module in which it was defined. More... | |
| AvailabilityResult | getAvailability (std::string *Message=nullptr) const |
| Determine the availability of the given declaration. More... | |
| bool | isDeprecated (std::string *Message=nullptr) const |
| Determine whether this declaration is marked 'deprecated'. More... | |
| bool | isUnavailable (std::string *Message=nullptr) const |
| Determine whether this declaration is marked 'unavailable'. More... | |
| bool | isWeakImported () const |
| Determine whether this is a weak-imported symbol. More... | |
| bool | canBeWeakImported (bool &IsDefinition) const |
| Determines whether this symbol can be weak-imported, e.g., whether it would be well-formed to add the weak_import attribute. More... | |
| bool | isFromASTFile () const |
| Determine whether this declaration came from an AST file (such as a precompiled header or module) rather than having been parsed. More... | |
| unsigned | getGlobalID () const |
| Retrieve the global declaration ID associated with this declaration, which specifies where in the. More... | |
| unsigned | getOwningModuleID () const |
| Retrieve the global ID of the module that owns this particular declaration. More... | |
| Module * | getImportedOwningModule () const |
| Get the imported owning module, if this decl is from an imported (non-local) module. More... | |
| Module * | getLocalOwningModule () const |
| Get the local owning module, if known. More... | |
| void | setLocalOwningModule (Module *M) |
| unsigned | getIdentifierNamespace () const |
| bool | isInIdentifierNamespace (unsigned NS) const |
| bool | hasTagIdentifierNamespace () const |
| DeclContext * | getLexicalDeclContext () |
| getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC). More... | |
| const DeclContext * | getLexicalDeclContext () const |
| virtual bool | isOutOfLine () const |
| Determine whether this declaration is declared out of line (outside its semantic context). More... | |
| void | setDeclContext (DeclContext *DC) |
| setDeclContext - Set both the semantic and lexical DeclContext to DC. More... | |
| void | setLexicalDeclContext (DeclContext *DC) |
| bool | isDefinedOutsideFunctionOrMethod () const |
| isDefinedOutsideFunctionOrMethod - This predicate returns true if this scoped decl is defined outside the current function or method. More... | |
| bool | isLexicallyWithinFunctionOrMethod () const |
| Returns true if this declaration lexically is inside a function. More... | |
| const DeclContext * | getParentFunctionOrMethod () const |
| If this decl is defined inside a function/method/block it returns the corresponding DeclContext, otherwise it returns null. More... | |
| DeclContext * | getParentFunctionOrMethod () |
| const Decl * | getCanonicalDecl () const |
| bool | isCanonicalDecl () const |
| Whether this particular Decl is a canonical one. More... | |
| redecl_range | redecls () const |
| Returns an iterator range for all the redeclarations of the same decl. More... | |
| redecl_iterator | redecls_begin () const |
| redecl_iterator | redecls_end () const |
| Decl * | getPreviousDecl () |
| Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. More... | |
| const Decl * | getPreviousDecl () const |
| Retrieve the most recent declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. More... | |
| bool | isFirstDecl () const |
| True if this is the first declaration in its redeclaration chain. More... | |
| Decl * | getMostRecentDecl () |
| Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). More... | |
| const Decl * | getMostRecentDecl () const |
| Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). More... | |
| virtual Stmt * | getBody () 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. More... | |
| virtual bool | hasBody () const |
Returns true if this Decl represents a declaration for a body of code, such as a function or method definition. More... | |
| SourceLocation | getBodyRBrace () const |
| getBodyRBrace - Gets the right brace of the body, if a body exists. More... | |
| bool | isTemplateParameter () const |
| isTemplateParameter - Determines whether this declaration is a template parameter. More... | |
| bool | isTemplateParameterPack () const |
| isTemplateParameter - Determines whether this declaration is a template parameter pack. More... | |
| bool | isParameterPack () const |
| Whether this declaration is a parameter pack. More... | |
| bool | isTemplateDecl () const |
| returns true if this declaration is a template More... | |
| bool | isFunctionOrFunctionTemplate () const |
| Whether this declaration is a function or function template. More... | |
| FunctionDecl * | getAsFunction () LLVM_READONLY |
| Returns the function itself, or the templated function if this is a function template. More... | |
| const FunctionDecl * | getAsFunction () const |
| void | setLocalExternDecl () |
| Changes the namespace of this declaration to reflect that it's a function-local extern declaration. More... | |
| bool | isLocalExternDecl () |
| Determine whether this is a block-scope declaration with linkage. More... | |
| void | setObjectOfFriendDecl (bool PerformFriendInjection=false) |
| Changes the namespace of this declaration to reflect that it's the object of a friend declaration. More... | |
| FriendObjectKind | getFriendObjectKind () const |
| Determines whether this declaration is the object of a friend declaration and, if so, what kind. More... | |
| void | setNonMemberOperator () |
| Specifies that this declaration is a C++ overloaded non-member. More... | |
| void | print (raw_ostream &Out, unsigned Indentation=0, bool PrintInstantiation=false) const |
| void | print (raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0, bool PrintInstantiation=false) const |
| void | dump () const |
| void | dumpColor () const |
| void | dump (raw_ostream &Out) const |
| const FunctionType * | getFunctionType (bool BlocksToo=true) const |
| Looks through the Decl's underlying type to extract a FunctionType when possible. More... | |
Public Member Functions inherited from clang::DeclContext | |
| ~DeclContext () | |
| Decl::Kind | getDeclKind () const |
| const char * | getDeclKindName () const |
| DeclContext * | getParent () |
| getParent - Returns the containing DeclContext. More... | |
| const DeclContext * | getParent () const |
| DeclContext * | getLexicalParent () |
| getLexicalParent - Returns the containing lexical DeclContext. More... | |
| const DeclContext * | getLexicalParent () const |
| DeclContext * | getLookupParent () |
| Find the parent context of this context that will be used for unqualified name lookup. More... | |
| const DeclContext * | getLookupParent () const |
| ASTContext & | getParentASTContext () const |
| bool | isClosure () const |
| bool | isObjCContainer () const |
| bool | isFunctionOrMethod () const |
| bool | isLookupContext () const |
| Test whether the context supports looking up names. More... | |
| bool | isFileContext () const |
| bool | isTranslationUnit () const |
| bool | isRecord () const |
| bool | isNamespace () const |
| bool | isStdNamespace () const |
| bool | isInlineNamespace () const |
| bool | isDependentContext () const |
| Determines whether this context is dependent on a template parameter. More... | |
| bool | isTransparentContext () const |
| isTransparentContext - Determines whether this context is a "transparent" context, meaning that the members declared in this context are semantically declared in the nearest enclosing non-transparent (opaque) context but are lexically declared in this context. More... | |
| bool | isExternCContext () const |
| Determines whether this context or some of its ancestors is a linkage specification context that specifies C linkage. More... | |
| bool | isExternCXXContext () const |
| Determines whether this context or some of its ancestors is a linkage specification context that specifies C++ linkage. More... | |
| bool | Equals (const DeclContext *DC) const |
| Determine whether this declaration context is equivalent to the declaration context DC. More... | |
| bool | Encloses (const DeclContext *DC) const |
| Determine whether this declaration context encloses the declaration context DC. More... | |
| Decl * | getNonClosureAncestor () |
| Find the nearest non-closure ancestor of this context, i.e. More... | |
| const Decl * | getNonClosureAncestor () const |
| DeclContext * | getPrimaryContext () |
| getPrimaryContext - There may be many different declarations of the same entity (including forward declarations of classes, multiple definitions of namespaces, etc.), each with a different set of declarations. More... | |
| const DeclContext * | getPrimaryContext () const |
| DeclContext * | getRedeclContext () |
| getRedeclContext - Retrieve the context in which an entity conflicts with other entities of the same name, or where it is a redeclaration if the two entities are compatible. More... | |
| const DeclContext * | getRedeclContext () const |
| DeclContext * | getEnclosingNamespaceContext () |
| Retrieve the nearest enclosing namespace context. More... | |
| const DeclContext * | getEnclosingNamespaceContext () const |
| RecordDecl * | getOuterLexicalRecordContext () |
| Retrieve the outermost lexically enclosing record context. More... | |
| const RecordDecl * | getOuterLexicalRecordContext () const |
| bool | InEnclosingNamespaceSetOf (const DeclContext *NS) const |
| Test if this context is part of the enclosing namespace set of the context NS, as defined in C++0x [namespace.def]p9. More... | |
| void | collectAllContexts (SmallVectorImpl< DeclContext * > &Contexts) |
| Collects all of the declaration contexts that are semantically connected to this declaration context. More... | |
| decl_range | decls () const |
| decls_begin/decls_end - Iterate over the declarations stored in this context. More... | |
| decl_iterator | decls_begin () const |
| decl_iterator | decls_end () const |
| bool | decls_empty () const |
| decl_range | noload_decls () const |
| noload_decls_begin/end - Iterate over the declarations stored in this context that are currently loaded; don't attempt to retrieve anything from an external source. More... | |
| decl_iterator | noload_decls_begin () const |
| decl_iterator | noload_decls_end () const |
| void | addDecl (Decl *D) |
| Add the declaration D into this context. More... | |
| void | addDeclInternal (Decl *D) |
| Add the declaration D into this context, but suppress searches for external declarations with the same name. More... | |
| void | addHiddenDecl (Decl *D) |
| Add the declaration D to this context without modifying any lookup tables. More... | |
| void | removeDecl (Decl *D) |
| Removes a declaration from this context. More... | |
| bool | containsDecl (Decl *D) const |
| Checks whether a declaration is in this context. More... | |
| lookup_result | lookup (DeclarationName Name) const |
| lookup - Find the declarations (if any) with the given Name in this context. More... | |
| lookup_result | noload_lookup (DeclarationName Name) |
| Find the declarations with the given name that are visible within this context; don't attempt to retrieve anything from an external source. More... | |
| void | localUncachedLookup (DeclarationName Name, SmallVectorImpl< NamedDecl * > &Results) |
| A simplistic name lookup mechanism that performs name lookup into this declaration context without consulting the external source. More... | |
| void | makeDeclVisibleInContext (NamedDecl *D) |
| Makes a declaration visible within this context. More... | |
| lookups_range | lookups () const |
| lookups_range | noload_lookups () const |
| all_lookups_iterator | lookups_begin () const |
| Iterators over all possible lookups within this context. More... | |
| all_lookups_iterator | lookups_end () const |
| all_lookups_iterator | noload_lookups_begin () const |
| Iterators over all possible lookups within this context that are currently loaded; don't attempt to retrieve anything from an external source. More... | |
| all_lookups_iterator | noload_lookups_end () const |
| udir_range | using_directives () const |
| Returns iterator range [First, Last) of UsingDirectiveDecls stored within this context. More... | |
| ddiag_range | ddiags () const |
| void | setMustBuildLookupTable () |
| Mark that there are external lexical declarations that we need to include in our lookup table (and that are not available as external visible lookups). More... | |
| StoredDeclsMap * | getLookupPtr () const |
| Retrieve the internal representation of the lookup structure. More... | |
| StoredDeclsMap * | buildLookup () |
| Ensure the lookup structure is fully-built and return it. More... | |
| bool | hasExternalLexicalStorage () const |
| Whether this DeclContext has external storage containing additional declarations that are lexically in this context. More... | |
| void | setHasExternalLexicalStorage (bool ES=true) |
| State whether this DeclContext has external storage for declarations lexically in this context. More... | |
| bool | hasExternalVisibleStorage () const |
| Whether this DeclContext has external storage containing additional declarations that are visible in this context. More... | |
| void | setHasExternalVisibleStorage (bool ES=true) |
| State whether this DeclContext has external storage for declarations visible in this context. More... | |
| bool | isDeclInLexicalTraversal (const Decl *D) const |
| Determine whether the given declaration is stored in the list of declarations lexically within this context. More... | |
| bool | setUseQualifiedLookup (bool use=true) |
| bool | shouldUseQualifiedLookup () const |
| void | dumpDeclContext () const |
| void | dumpLookups () const |
| void | dumpLookups (llvm::raw_ostream &OS, bool DumpDecls=false) const |
Public Member Functions inherited from clang::Redeclarable< TagDecl > | |
| Redeclarable (const ASTContext &Ctx) | |
| TagDecl * | getPreviousDecl () |
| Return the previous declaration of this declaration or NULL if this is the first declaration. More... | |
| const TagDecl * | getPreviousDecl () const |
| TagDecl * | getFirstDecl () |
| Return the first declaration of this declaration or itself if this is the only declaration. More... | |
| const TagDecl * | getFirstDecl () const |
| Return the first declaration of this declaration or itself if this is the only declaration. More... | |
| bool | isFirstDecl () const |
| True if this is the first declaration in its redeclaration chain. More... | |
| TagDecl * | getMostRecentDecl () |
| Returns the most recent (re)declaration of this declaration. More... | |
| const TagDecl * | getMostRecentDecl () const |
| Returns the most recent (re)declaration of this declaration. More... | |
| void | setPreviousDecl (TagDecl *PrevDecl) |
| Set the previous declaration. More... | |
| redecl_range | redecls () const |
| Returns an iterator range for all the redeclarations of the same decl. More... | |
| redecl_iterator | redecls_begin () const |
| redecl_iterator | redecls_end () const |
Static Public Member Functions | |
| static RecordDecl * | Create (const ASTContext &C, TagKind TK, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, IdentifierInfo *Id, RecordDecl *PrevDecl=nullptr) |
| static RecordDecl * | CreateDeserialized (const ASTContext &C, unsigned ID) |
| static bool | classof (const Decl *D) |
| static bool | classofKind (Kind K) |
Static Public Member Functions inherited from clang::TagDecl | |
| static bool | classof (const Decl *D) |
| static bool | classofKind (Kind K) |
| static DeclContext * | castToDeclContext (const TagDecl *D) |
| static TagDecl * | castFromDeclContext (const DeclContext *DC) |
Static Public Member Functions inherited from clang::TypeDecl | |
| static bool | classof (const Decl *D) |
| static bool | classofKind (Kind K) |
Static Public Member Functions inherited from clang::NamedDecl | |
| static bool | classof (const Decl *D) |
| static bool | classofKind (Kind K) |
Static Public Member Functions inherited from clang::Decl | |
| static unsigned | getIdentifierNamespaceForKind (Kind DK) |
| static bool | isTagIdentifierNamespace (unsigned NS) |
| static void | add (Kind k) |
| static void | EnableStatistics () |
| static void | PrintStats () |
| static bool | classofKind (Kind K) |
| static DeclContext * | castToDeclContext (const Decl *) |
| static Decl * | castFromDeclContext (const DeclContext *) |
| static void | printGroup (Decl **Begin, unsigned NumDecls, raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0) |
Static Public Member Functions inherited from clang::DeclContext | |
| static bool | classof (const Decl *D) |
| static bool | classof (const DeclContext *D) |
Protected Member Functions | |
| RecordDecl (Kind DK, TagKind TK, const ASTContext &C, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, IdentifierInfo *Id, RecordDecl *PrevDecl) | |
Protected Member Functions inherited from clang::TagDecl | |
| TagDecl (Kind DK, TagKind TK, const ASTContext &C, DeclContext *DC, SourceLocation L, IdentifierInfo *Id, TagDecl *PrevDecl, SourceLocation StartL) | |
| TagDecl * | getNextRedeclarationImpl () override |
| Returns the next redeclaration or itself if this is the only decl. More... | |
| TagDecl * | getPreviousDeclImpl () override |
| Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain. More... | |
| TagDecl * | getMostRecentDeclImpl () override |
| Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain. More... | |
| void | completeDefinition () |
| Completes the definition of this tag declaration. More... | |
Protected Member Functions inherited from clang::TypeDecl | |
| TypeDecl (Kind DK, DeclContext *DC, SourceLocation L, IdentifierInfo *Id, SourceLocation StartL=SourceLocation()) | |
Protected Member Functions inherited from clang::NamedDecl | |
| NamedDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N) | |
Protected Member Functions inherited from clang::Decl | |
| void * | operator new (std::size_t Size, const ASTContext &Ctx, unsigned ID, std::size_t Extra=0) |
| Allocate memory for a deserialized declaration. More... | |
| void * | operator new (std::size_t Size, const ASTContext &Ctx, DeclContext *Parent, std::size_t Extra=0) |
| Allocate memory for a non-deserialized declaration. More... | |
| Decl (Kind DK, DeclContext *DC, SourceLocation L) | |
| Decl (Kind DK, EmptyShell Empty) | |
| virtual | ~Decl () |
| void | updateOutOfDate (IdentifierInfo &II) const |
| Update a potentially out-of-date declaration. More... | |
| Linkage | getCachedLinkage () const |
| void | setCachedLinkage (Linkage L) const |
| bool | hasCachedLinkage () const |
| void | setModulePrivate (bool MP=true) |
| Specify whether this declaration was marked as being private to the module in which it was defined. More... | |
| void | setOwningModuleID (unsigned ID) |
| Set the owning module ID. More... | |
| bool | hasLocalOwningModuleStorage () const |
| ASTMutationListener * | getASTMutationListener () const |
Protected Member Functions inherited from clang::DeclContext | |
| DeclContext (Decl::Kind K) | |
Protected Member Functions inherited from clang::Redeclarable< TagDecl > | |
| TagDecl * | getNextRedeclaration () const |
Friends | |
| class | DeclContext |
Additional Inherited Members | |
Protected Types inherited from clang::TagDecl | |
| typedef Redeclarable< TagDecl > | redeclarable_base |
Protected Types inherited from clang::Decl | |
| enum | { TopLevelDeclInObjCContainerFlag = 0x01, ModulePrivateFlag = 0x02 } |
Static Protected Member Functions inherited from clang::DeclContext | |
| static std::pair< Decl *, Decl * > | BuildDeclChain (ArrayRef< Decl * > Decls, bool FieldsAlreadyLoaded) |
| Build up a chain of declarations. More... | |
Static Protected Member Functions inherited from clang::Redeclarable< TagDecl > | |
| static DeclLink | PreviousDeclLink (TagDecl *D) |
| static DeclLink | LatestDeclLink (const ASTContext &Ctx) |
Protected Attributes inherited from clang::TagDecl | |
| bool | IsBeingDefined: 1 |
| IsBeingDefined - True if this is currently being defined. More... | |
| unsigned | NumPositiveBits: 8 |
| unsigned | NumNegativeBits: 8 |
| bool | IsScoped: 1 |
| IsScoped - True if this tag declaration is a scoped enumeration. More... | |
| bool | IsScopedUsingClassTag: 1 |
| IsScopedUsingClassTag - If this tag declaration is a scoped enum, then this is true if the scoped enum was declared using the class tag, false if it was declared with the struct tag. More... | |
| bool | IsFixed: 1 |
| IsFixed - True if this is an enumeration with fixed underlying type. More... | |
| bool | MayHaveOutOfDateDef: 1 |
| Indicates whether it is possible for declarations of this kind to have an out-of-date definition. More... | |
| bool | IsCompleteDefinitionRequired: 1 |
| Has the full definition of this type been required by a use somewhere in the TU. More... | |
Protected Attributes inherited from clang::Decl | |
| llvm::PointerIntPair< Decl *, 2, unsigned > | NextInContextAndBits |
| The next declaration within the same lexical DeclContext. More... | |
| unsigned | Access: 2 |
| Access - Used by C++ decls for the access specifier. More... | |
| unsigned | FromASTFile: 1 |
| Whether this declaration was loaded from an AST file. More... | |
| unsigned | Hidden: 1 |
| Whether this declaration is hidden from normal name lookup, e.g., because it is was loaded from an AST file is either module-private or because its submodule has not been made visible. More... | |
| unsigned | IdentifierNamespace: 12 |
| IdentifierNamespace - This specifies what IDNS_* namespace this lives in. More... | |
| unsigned | CacheValidAndLinkage: 3 |
| If 0, we have not computed the linkage of this declaration. More... | |
Protected Attributes inherited from clang::DeclContext | |
| Decl * | FirstDecl |
| FirstDecl - The first declaration stored within this declaration context. More... | |
| Decl * | LastDecl |
| LastDecl - The last declaration stored within this declaration context. More... | |
Protected Attributes inherited from clang::Redeclarable< TagDecl > | |
| DeclLink | RedeclLink |
| Points to the next redeclaration in the chain. More... | |
| TagDecl * | First |
RecordDecl - Represents a struct/union/class.
For example: struct X; // Forward declaration, no "body". union Y { int A, B; }; // Has body with members A and B (FieldDecls). This decl will be marked invalid if any members are invalid.
| typedef llvm::iterator_range<specific_decl_iterator<FieldDecl> > clang::RecordDecl::field_range |
|
protected |
Definition at line 3695 of file Decl.cpp.
References classof().
Referenced by Create(), and CreateDeserialized().
Definition at line 3312 of file Decl.h.
References clang::ParmVarDecl::classofKind(), and clang::Decl::getKind().
Referenced by RecordDecl().
|
virtual |
completeDefinition - Notes that the definition of this type is now complete.
Reimplemented in clang::CXXRecordDecl.
Definition at line 3755 of file Decl.cpp.
References clang::TagDecl::completeDefinition(), and clang::TagDecl::isCompleteDefinition().
Referenced by clang::Sema::ActOnCapturedRegionEnd(), clang::Sema::ActOnFields(), clang::CXXRecordDecl::completeDefinition(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), clang::CodeGen::CodeGenModule::GetAddrOfConstantString(), clang::ASTContext::getBlockDescriptorExtendedType(), clang::ASTContext::getBlockDescriptorType(), clang::ASTContext::getCFConstantStringType(), clang::CodeGen::CodeGenModule::getObjCFastEnumerationStateType(), and clang::ASTNodeImporter::ImportDefinition().
|
static |
Definition at line 3708 of file Decl.cpp.
References AttributeLangSupport::C, clang::ASTContext::getLangOpts(), clang::ASTContext::getTypeDeclType(), clang::TagDecl::MayHaveOutOfDateDef, and RecordDecl().
Referenced by clang::Sema::ActOnTag(), clang::ASTContext::buildImplicitRecord(), clang::Sema::CreateCapturedStmtRecordDecl(), and clang::ASTNodeImporter::VisitRecordDecl().
|
static |
Definition at line 3719 of file Decl.cpp.
References AttributeLangSupport::C, clang::ASTContext::getLangOpts(), clang::TagDecl::MayHaveOutOfDateDef, RecordDecl(), and clang::TTK_Struct.
| RecordDecl::field_iterator RecordDecl::field_begin | ( | ) | const |
Definition at line 3746 of file Decl.cpp.
References clang::DeclContext::FirstDecl, and clang::DeclContext::hasExternalLexicalStorage().
Referenced by clang::Sema::ActOnFields(), BitsContainNoUserData(), clang::Sema::BuildLambdaExpr(), clang::CodeGen::CodeGenFunction::CGCapturedStmtInfo::CGCapturedStmtInfo(), clang::Sema::CheckConstexprFunctionBody(), clang::CodeGen::CodeGenTypes::ComputeRecordLayout(), DumpRecordLayout(), clang::CodeGen::CodeGenFunction::EmitLambdaExpr(), evenFlexibleArraySize(), clang::CodeGen::CodeGenFunction::GenerateOpenMPCapturedVars(), clang::ento::MemRegion::getAsOffset(), clang::CXXRecordDecl::getCaptureFields(), clang::CodeGen::CodeGenTBAA::getTBAAStructTypeInfo(), HandleClassZeroInitialization(), HandleConstructorCall(), handleTransparentUnionAttr(), clang::CodeGen::CodeGenFunction::InitCapturedStruct(), isIntegerLikeType(), IsStructurallyEquivalent(), clang::LayoutOverrideSource::layoutRecordType(), clang::CodeGen::CGRecordLayout::print(), RebuildLambdaScopeInfo(), tryMatchRecordTypes(), useFirstFieldIfTransparentUnion(), and clang::ento::ExprEngine::VisitLambdaExpr().
|
inline |
Definition at line 3304 of file Decl.h.
Referenced by appendRecordType(), isReadByLvalueToRvalueConversion(), isRecordEmpty(), LeastDerivedClassWithSameLayout(), clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias(), and useFirstFieldIfTransparentUnion().
|
inline |
Definition at line 3298 of file Decl.h.
Referenced by clang::Sema::ActOnFields(), BitsContainNoUserData(), clang::Sema::CheckConstexprFunctionBody(), DumpRecordLayout(), evenFlexibleArraySize(), clang::ento::MemRegion::getAsOffset(), clang::CXXRecordDecl::getCaptureFields(), clang::CodeGen::CodeGenTBAA::getTBAAStructTypeInfo(), HandleClassZeroInitialization(), HandleConstructorCall(), handleTransparentUnionAttr(), isIntegerLikeType(), IsStructurallyEquivalent(), clang::LayoutOverrideSource::layoutRecordType(), and tryMatchRecordTypes().
|
inline |
Definition at line 3295 of file Decl.h.
Referenced by clang::Sema::ActOnCapturedRegionError(), clang::Sema::ActOnLambdaError(), clang::Sema::BuildLambdaExpr(), canExpandIndirectArgument(), CanSkipVTablePointerInitialization(), CheckASTMemory(), clang::Sema::CheckCompletedCXXClass(), CheckConstantExpression(), CheckConstexprCtorInitializer(), clang::Sema::CheckConstexprFunctionBody(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckTransparentUnionArgumentConstraints(), checkTrivialClassMembers(), clang::Sema::CodeCompleteConstructorInitializer(), clang::Sema::ComputeDefaultedCopyAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedCopyCtorExceptionSpec(), clang::Sema::ComputeDefaultedDefaultCtorExceptionSpec(), clang::Sema::ComputeDefaultedDtorExceptionSpec(), clang::Sema::ComputeDefaultedMoveAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedMoveCtorExceptionSpec(), clang::Sema::ComputeInheritingCtorExceptionSpec(), defaultedSpecialMemberIsConstexpr(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), DiagnoseBaseOrMemInitializerOrder(), DiagnoseUninitializedReference(), diagnoseUnreadableFields(), clang::CodeGen::CodeGenFunction::EmitAsanPrologueOrEpilogue(), EmitNullConstant(), clang::CodeGen::CodeGenFunction::EnterDtorCleanups(), evalBinOpFieldRegionFieldRegion(), extractFieldType(), findFirstNamedDataMember(), clang::CodeGen::CodeGenFunction::GenerateCapturedStmtFunction(), clang::CodeGen::CodeGenFunction::GenerateOpenMPCapturedStmtFunction(), getContainedDynamicClass(), clang::FieldDecl::getFieldIndex(), GetNumNonZeroBytesInInit(), getTypeExpansion(), HandleClassZeroInitialization(), handleVecReturnAttr(), hasFields(), HasTrivialDestructorBody(), clang::Sema::inferCUDATargetForImplicitSpecialMember(), clang::CXXRecordDecl::isAnyDestructorNoReturn(), isCallback(), clang::Expr::isConstantInitializer(), isEmptyRecord(), clang::ABIInfo::isHomogeneousAggregate(), isReadByLvalueToRvalueConversion(), isRecordWithSSEVectorType(), isSafeToConvert(), isSingleElementStruct(), IsTransparentUnionStandardConversion(), clang::Sema::isValidPointerAttrType(), isVarDeclStrongDefinition(), clang::sema::CapturingScopeInfo::isVLATypeCaptured(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), clang::ASTContext::mergeTransparentUnionType(), performLifetimeExtension(), PopulateKeysForFields(), clang::APValue::printPretty(), clang::Sema::RequireLiteralType(), clang::Sema::ShouldDeleteSpecialMember(), clang::CodeGen::CodeGenFunction::StartFunction(), and clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias().
| const FieldDecl * RecordDecl::findFirstNamedDataMember | ( | ) | const |
|
inline |
getDefinition - Returns the RecordDecl that actually defines this struct/union/class.
When determining whether or not a struct/union/class is completely defined, one should use this method as opposed to 'isCompleteDefinition'. 'isCompleteDefinition' indicates whether or not a specific RecordDecl is a completed definition, not whether or not the record type is defined. This method returns NULL if there is no RecordDecl that defines the struct/union/tag.
Definition at line 3285 of file Decl.h.
References clang::TagDecl::getDefinition().
Referenced by appendRecordType(), clang::Sema::BuildMicrosoftCAnonymousStruct(), clang::Sema::CheckBaseSpecifier(), clang::Sema::CheckClassTemplate(), clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(), clang::CXXRecordDecl::forallBases(), clang::ASTContext::getASTRecordLayout(), clang::CodeGen::CodeGenTBAA::getTBAAStructTypeInfo(), handleObjCBoxable(), clang::ASTNodeImporter::ImportDefinition(), IsStructurallyEquivalent(), isTBAAPathStruct(), shouldOmitDefinition(), and clang::ASTNodeImporter::VisitRecordDecl().
|
inline |
Definition at line 3211 of file Decl.h.
References clang::Redeclarable< VarDecl >::getMostRecentDecl().
Referenced by getObjCBridgeAttr(), and clang::ASTDeclWriter::VisitRecordDecl().
|
inline |
Definition at line 3214 of file Decl.h.
References clang::Redeclarable< VarDecl >::getMostRecentDecl().
|
inline |
Definition at line 3203 of file Decl.h.
References clang::Redeclarable< VarDecl >::getPreviousDecl().
Referenced by clang::ASTContext::getRecordType().
|
inline |
Definition at line 3207 of file Decl.h.
References clang::Redeclarable< VarDecl >::getPreviousDecl().
|
inline |
Definition at line 3218 of file Decl.h.
Referenced by clang::Sema::ActOnFields(), clang::Sema::CheckBaseSpecifier(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), evenFlexibleArraySize(), getTypeExpansion(), isEmptyRecord(), clang::ABIInfo::isHomogeneousAggregate(), isIntegerLikeType(), isSingleElementStruct(), isTBAAPathStruct(), clang::Sema::SetCtorInitializers(), and clang::ASTDeclWriter::VisitRecordDecl().
|
inline |
|
inline |
Definition at line 3238 of file Decl.h.
Referenced by clang::Sema::ActOnFields(), clang::Sema::CheckNontrivialField(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CXXRecordDecl::setBases(), and clang::ASTDeclWriter::VisitRecordDecl().
|
inline |
Definition at line 3241 of file Decl.h.
Referenced by clang::Sema::ActOnFields(), clang::CodeGen::CodeGenFunction::hasVolatileMember(), clang::CXXRecordDecl::setBases(), and clang::ASTDeclWriter::VisitRecordDecl().
|
inline |
isAnonymousStructOrUnion - Whether this is an anonymous struct or union.
To be an anonymous struct or union, it must have been declared without a name and there must be no objects of this type declared, e.g.,
is an anonymous union but neither of the following are:
Definition at line 3233 of file Decl.h.
Referenced by clang::Sema::CheckUsingShadowDecl(), clang::Sema::DiagnoseClassNameShadow(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CodeGenFunction::EnterDtorCleanups(), FieldHasTrivialDestructorBody(), FindDeclaringClass(), IsStructurallyEquivalent(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), PopulateKeysForFields(), clang::Sema::ShouldDeleteSpecialMember(), clang::ASTDeclWriter::VisitRecordDecl(), and clang::ASTNodeImporter::VisitRecordDecl().
| bool RecordDecl::isCapturedRecord | ( | ) | const |
Determine whether this record is a record for captured variables in CapturedStmt construct.
| bool RecordDecl::isInjectedClassName | ( | ) | const |
Determines whether this declaration represents the injected class name.
The injected class name in C++ is the name of the class that appears inside the class itself. For example:
Definition at line 3727 of file Decl.cpp.
References clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::Decl::isImplicit(), and clang::DeclContext::isRecord().
Referenced by clang::Sema::ActOnStartCXXMemberDeclarations(), and clang::ClassTemplateSpecializationDecl::getMostRecentDecl().
| bool RecordDecl::isLambda | ( | ) | const |
| bool RecordDecl::isMsStruct | ( | const ASTContext & | C | ) | const |
isMsStrust - Get whether or not this is an ms_struct which can be turned on with an attribute, pragma, or -mms-bitfields commandline option.
isMsStruct - Get whether or not this record uses ms_struct layout.
This which can be turned on with an attribute, pragma, or the -mms-bitfields command-line option.
Definition at line 3763 of file Decl.cpp.
References clang::ASTContext::getLangOpts().
Referenced by clang::Sema::CheckCompletedCXXClass(), and clang::Sema::CheckFieldDecl().
Whether we are allowed to insert extra padding between fields.
These padding are added to help AddressSanitizer detect intra-object-overflow bugs.
Definition at line 3793 of file Decl.cpp.
References Context, clang::Decl::getASTContext(), clang::ASTContext::getDiagnostics(), clang::ASTContext::getLangOpts(), clang::Decl::getLocation(), clang::NamedDecl::getQualifiedNameAsString(), clang::ASTContext::getSanitizerBlacklist(), clang::SanitizerSet::hasOneOf(), clang::DiagnosticsEngine::Report(), and clang::LangOptions::Sanitize.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsanPrologueOrEpilogue(), clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(), isMemcpyEquivalentSpecialMember(), and clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias().
|
inline |
Definition at line 3234 of file Decl.h.
Referenced by clang::Sema::BuildAnonymousStructOrUnion(), clang::ASTNodeImporter::VisitRecordDecl(), and clang::ASTDeclReader::VisitRecordDeclImpl().
| void RecordDecl::setCapturedRecord | ( | ) |
Mark the record as a record for captured variables in CapturedStmt construct.
Definition at line 3742 of file Decl.cpp.
References clang::Decl::addAttr(), and clang::Decl::getASTContext().
Referenced by clang::Sema::CreateCapturedStmtRecordDecl().
|
inline |
Definition at line 3219 of file Decl.h.
Referenced by clang::Sema::ActOnFields(), and clang::ASTDeclReader::VisitRecordDeclImpl().
|
inline |
|
inline |
Definition at line 3239 of file Decl.h.
Referenced by clang::Sema::ActOnFields(), clang::CXXRecordDecl::setBases(), and clang::ASTDeclReader::VisitRecordDeclImpl().
|
inline |
Definition at line 3242 of file Decl.h.
Referenced by clang::Sema::ActOnFields(), clang::CXXRecordDecl::setBases(), and clang::ASTDeclReader::VisitRecordDeclImpl().
|
friend |
1.8.6