clang 22.0.0git
clang::TypeAttr Class Reference

#include "clang/AST/Attr.h"

Inheritance diagram for clang::TypeAttr:
[legend]

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)
static AttrArgsInfo getCXX11AttrArgsInfo (const IdentifierInfo *Name)

Protected Member Functions

 TypeAttr (ASTContext &Context, const AttributeCommonInfo &CommonInfo, attr::Kind AK, bool IsLateParsed)
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 , VK , GSL ,
  RISCV
}
enum class  AttrArgsInfo { None , Optional , Required }
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, AttributeScopeInfo AttrScope, SourceRange AttrRange, Kind AttrKind, Form FormUsed)
 AttributeCommonInfo (const IdentifierInfo *AttrName, AttributeScopeInfo Scope, SourceRange AttrRange, Form FormUsed)
 AttributeCommonInfo (const IdentifierInfo *AttrName, SourceRange AttrRange, Form FormUsed)
 AttributeCommonInfo (SourceRange AttrRange, Kind K, Form FormUsed)
 AttributeCommonInfo (SourceRange AttrRange, AttributeScopeInfo AttrScope, 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
bool isExplicitScope () 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.
std::string getNormalizedFullName (StringRef ScopeName, StringRef AttrName) const
StringRef getNormalizedScopeName () const
StringRef getNormalizedAttrName (StringRef ScopeName) const
std::optional< StringRef > tryGetCorrectedScopeName (StringRef ScopeName) const
std::optional< StringRef > tryGetCorrectedAttrName (StringRef ScopeName, StringRef AttrName, const TargetInfo &Target, const LangOptions &LangOpts) const
SourceRange getNormalizedRange () const
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)
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 120 of file Attr.h.

Constructor & Destructor Documentation

◆ TypeAttr()

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

Definition at line 122 of file Attr.h.

References clang::Attr::Attr(), and clang::Attr::IsLateParsed.

Member Function Documentation

◆ classof()

bool clang::TypeAttr::classof ( const Attr * A)
inlinestatic

Definition at line 127 of file Attr.h.

References clang::Attr::Attr(), and clang::Attr::getKind().


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