clang 20.0.0git
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
clang::InheritableAttr Class Reference

#include "clang/AST/Attr.h"

Inheritance diagram for clang::InheritableAttr:
Inheritance graph
[legend]

Public Member Functions

void setInherited (bool I)
 
bool shouldInheritEvenIfAlreadyPresent () const
 Should this attribute be inherited from a prior declaration even if it's explicitly provided in the current declaration?
 
- Public Member Functions inherited from clang::Attr
void * operator new (size_t Bytes, ASTContext &C, size_t Alignment=8) noexcept
 
void operator delete (void *Ptr, ASTContext &C, size_t Alignment) noexcept
 
attr::Kind getKind () const
 
unsigned getSpellingListIndex () const
 
const char * getSpelling () const
 
SourceLocation getLocation () const
 
bool isInherited () const
 
bool isImplicit () const
 Returns true if the attribute has been implicitly created instead of explicitly written by the user.
 
void setImplicit (bool I)
 
void setPackExpansion (bool PE)
 
bool isPackExpansion () const
 
Attrclone (ASTContext &C) const
 
bool isLateParsed () const
 
void printPretty (raw_ostream &OS, const PrintingPolicy &Policy) const
 
- Public Member Functions inherited from clang::AttributeCommonInfo
 AttributeCommonInfo (const IdentifierInfo *AttrName, const IdentifierInfo *ScopeName, SourceRange AttrRange, SourceLocation ScopeLoc, Kind AttrKind, Form FormUsed)
 
 AttributeCommonInfo (const IdentifierInfo *AttrName, const IdentifierInfo *ScopeName, SourceRange AttrRange, SourceLocation ScopeLoc, Form FormUsed)
 
 AttributeCommonInfo (const IdentifierInfo *AttrName, SourceRange AttrRange, Form FormUsed)
 
 AttributeCommonInfo (SourceRange AttrRange, Kind K, Form FormUsed)
 
 AttributeCommonInfo (AttributeCommonInfo &&)=default
 
 AttributeCommonInfo (const AttributeCommonInfo &)=default
 
Kind getParsedKind () const
 
Syntax getSyntax () const
 
Form getForm () const
 
const IdentifierInfogetAttrName () const
 
void setAttrName (const IdentifierInfo *AttrNameII)
 
SourceLocation getLoc () const
 
SourceRange getRange () const
 
void setRange (SourceRange R)
 
bool hasScope () const
 
const IdentifierInfogetScopeName () const
 
SourceLocation getScopeLoc () const
 
std::string getNormalizedFullName () const
 Gets the normalized full name, which consists of both scope and name and with surrounding underscores removed as appropriate (e.g.
 
bool isDeclspecAttribute () const
 
bool isMicrosoftAttribute () const
 
bool isGNUScope () const
 
bool isClangScope () const
 
bool isCXX11Attribute () const
 
bool isC23Attribute () const
 
bool isAlignas () const
 
bool isStandardAttributeSyntax () const
 The attribute is spelled [[]] in either C or C++ mode, including standard attributes spelled with a keyword, like alignas.
 
bool isGNUAttribute () const
 
bool isKeywordAttribute () const
 
bool isRegularKeywordAttribute () const
 
bool isContextSensitiveKeywordAttribute () const
 
unsigned getAttributeSpellingListIndex () const
 
void setAttributeSpellingListIndex (unsigned V)
 

Static Public Member Functions

static bool classof (const Attr *A)
 
- Static Public Member Functions inherited from clang::Attr
static StringRef getDocumentation (attr::Kind)
 
- Static Public Member Functions inherited from clang::AttributeCommonInfo
static Kind getParsedKind (const IdentifierInfo *Name, const IdentifierInfo *Scope, Syntax SyntaxUsed)
 

Protected Member Functions

 InheritableAttr (ASTContext &Context, const AttributeCommonInfo &CommonInfo, attr::Kind AK, bool IsLateParsed, bool InheritEvenIfAlreadyPresent)
 
- Protected Member Functions inherited from clang::Attr
void * operator new (size_t bytes) noexcept
 
void operator delete (void *data) noexcept
 
 Attr (ASTContext &Context, const AttributeCommonInfo &CommonInfo, attr::Kind AK, bool IsLateParsed)
 
- Protected Member Functions inherited from clang::AttributeCommonInfo
bool isAttributeSpellingListCalculated () const
 

Additional Inherited Members

- Public Types inherited from clang::AttributeCommonInfo
enum  Syntax {
  AS_GNU = 1 , AS_CXX11 , AS_C23 , AS_Declspec ,
  AS_Microsoft , AS_Keyword , AS_Pragma , AS_ContextSensitiveKeyword ,
  AS_HLSLAnnotation , AS_Implicit
}
 The style used to specify an attribute. More...
 
enum  Kind { NoSemaHandlerAttribute , IgnoredAttribute , UnknownAttribute }
 
enum class  Scope {
  NONE , CLANG , GNU , MSVC ,
  OMP , HLSL , GSL , RISCV
}
 
- Protected Attributes inherited from clang::Attr
unsigned Inherited: 1
 An index into the spelling list of an attribute defined in Attr.td file.
 
unsigned IsPackExpansion: 1
 
unsigned Implicit: 1
 
unsigned IsLateParsed: 1
 
unsigned InheritEvenIfAlreadyPresent: 1
 
- Static Protected Attributes inherited from clang::AttributeCommonInfo
static constexpr unsigned SpellingNotCalculated = 0xf
 

Detailed Description

Definition at line 145 of file Attr.h.

Constructor & Destructor Documentation

◆ InheritableAttr()

clang::InheritableAttr::InheritableAttr ( ASTContext Context,
const AttributeCommonInfo CommonInfo,
attr::Kind  AK,
bool  IsLateParsed,
bool  InheritEvenIfAlreadyPresent 
)
inlineprotected

Definition at line 147 of file Attr.h.

References clang::Attr::InheritEvenIfAlreadyPresent.

Member Function Documentation

◆ classof()

static bool clang::InheritableAttr::classof ( const Attr A)
inlinestatic

Definition at line 164 of file Attr.h.

References clang::Attr::getKind().

◆ setInherited()

void clang::InheritableAttr::setInherited ( bool  I)
inline

◆ shouldInheritEvenIfAlreadyPresent()

bool clang::InheritableAttr::shouldInheritEvenIfAlreadyPresent ( ) const
inline

Should this attribute be inherited from a prior declaration even if it's explicitly provided in the current declaration?

Definition at line 159 of file Attr.h.

References clang::Attr::InheritEvenIfAlreadyPresent.


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