clang: clang::Attr Class Reference (original) (raw)
Attr - This represents one attribute. More...
#include "[clang/AST/Attr.h](AST%5F2Attr%5F8h%5Fsource.html)"
| Public Member Functions |
|
| 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 |
| Attr * |
clone (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 IdentifierInfo * |
getAttrName () const |
| void |
setAttrName (const IdentifierInfo *AttrNameII) |
| SourceLocation |
getLoc () const |
| SourceRange |
getRange () const |
| void |
setRange (SourceRange R) |
| bool |
hasScope () const |
| bool |
isExplicitScope () const |
| const IdentifierInfo * |
getScopeName () 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) |
| 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 } |
| Static Protected Attributes inherited from clang::AttributeCommonInfo |
|
| static constexpr unsigned |
SpellingNotCalculated = 0xf |
Attr - This represents one attribute.
Definition at line 45 of file Attr.h.
Definition at line 84 of file Attr.h.
References clang::AttributeCommonInfo::AttributeCommonInfo(), false, Implicit, Inherited, InheritEvenIfAlreadyPresent, IsLateParsed, and IsPackExpansion.
Referenced by clang::InheritableAttr::classof(), clang::StmtAttr::classof(), clang::TypeAttr::classof(), clone(), clang::InheritableAttr::InheritableAttr(), clang::StmtAttr::StmtAttr(), and clang::TypeAttr::TypeAttr().
◆ clone()
◆ getDocumentation()
| llvm::StringRef clang::Attr::getDocumentation ( attr::Kind K) |
static |
◆ getKind()
Definition at line 91 of file Attr.h.
Referenced by clang::ASTRecordWriter::AddAttr(), attrToRetainOwnershipKind(), clang::Sema::checkClassLevelDLLAttribute(), checkNewAttributesAfterDef(), CheckNullabilityTypeSpecifier(), clang::DeclOrStmtAttr::classof(), clang::HLSLAnnotationAttr::classof(), clang::HLSLSemanticBaseAttr::classof(), clang::InheritableAttr::classof(), clang::InheritableParamAttr::classof(), clang::InheritableParamOrStmtAttr::classof(), clang::ParameterABIAttr::classof(), clang::StmtAttr::classof(), clang::TypeAttr::classof(), clang::CreateHLSLAttributedResourceType(), DeclHasAttr(), clang::ParameterABIAttr::getABI(), getCCTypeAttr(), clang::ASTNodeKind::getFromNode(), HandleAddressSpaceTypeAttribute(), handleMSPointerTypeQualifierAttr(), HandleWebAssemblyFuncrefAttr(), clang::ASTImporter::Import(), ReferenceDllExportedMembers(), clang::TreeTransform< Derived >::TransformAttr(), clang::TreeTransform< Derived >::TransformStmtAttr(), clang::attrvisitor::Base< Ptr, ImplClass, RetTy, ParamTys >::Visit(), clang::JSONNodeDumper::Visit(), and clang::TextNodeDumper::Visit().
◆ getLocation()
Definition at line 98 of file Attr.h.
References clang::SourceRange::getBegin(), and clang::AttributeCommonInfo::getRange().
Referenced by clang::Sema::ActOnIfStmt(), clang::Sema::ActOnStartOfFunctionDef(), checkAliasAttr(), clang::checkAMDGPUFlatWorkGroupSizeArguments(), clang::checkAMDGPUWavesPerEUArguments(), clang::checkAttrMutualExclusion(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckCompleteVariableDeclaration(), checkForMultipleExportedDefaultConstructors(), checkHybridPatchableAttr(), checkNewAttributesAfterDef(), checkSelectAnyAttr(), checkWeakAttr(), checkWeakRefAttr(), clang::CreateHLSLAttributedResourceType(), clang::Sema::FinalizeDeclaration(), clang::TypeLoc::findNullabilityLoc(), clang::tooling::getAssociatedRange(), clang::Sema::InstantiateDefaultCtorDefaultArgs(), instantiateDependentFunctionAttrCondition(), clang::Sema::propagateDLLAttrToBaseClassTemplate(), and ReferenceDllExportedMembers().
◆ getSpelling()
| const char * clang::Attr::getSpelling |
( |
) |
const |
◆ getSpellingListIndex()
| unsigned clang::Attr::getSpellingListIndex ( ) const |
inline |
◆ isImplicit()
| bool clang::Attr::isImplicit ( ) const |
inline |
◆ isInherited()
| bool clang::Attr::isInherited ( ) const |
inline |
◆ isLateParsed()
| bool clang::Attr::isLateParsed ( ) const |
inline |
◆ isPackExpansion()
| bool clang::Attr::isPackExpansion ( ) const |
inline |
◆ operator delete() [1/2]
| void clang::Attr::operator delete ( void * data) |
inlineprotectednoexcept |
Definition at line 69 of file Attr.h.
◆ operator delete() [2/2]
| void clang::Attr::operator delete ( void * Ptr, ASTContext & C, size_t Alignment ) |
inlinenoexcept |
◆ operator new() [1/2]
| void * clang::Attr::operator new ( size_t bytes) |
inlineprotectednoexcept |
◆ operator new() [2/2]
◆ printPretty()
| void clang::Attr::printPretty |
( |
raw_ostream & |
OS, |
| const PrintingPolicy & |
Policy ) const |
|
|
◆ setImplicit()
| void clang::Attr::setImplicit ( bool I) |
inline |
◆ setPackExpansion()
| void clang::Attr::setPackExpansion ( bool PE) |
inline |
◆ Implicit
◆ Inherited
◆ InheritEvenIfAlreadyPresent
| unsigned clang::Attr::InheritEvenIfAlreadyPresent |
protected |
◆ IsLateParsed
Definition at line 62 of file Attr.h.
Referenced by Attr(), clang::DeclOrStmtAttr::DeclOrStmtAttr(), clang::HLSLAnnotationAttr::HLSLAnnotationAttr(), clang::HLSLSemanticBaseAttr::HLSLSemanticBaseAttr(), clang::InheritableAttr::InheritableAttr(), clang::InheritableParamAttr::InheritableParamAttr(), clang::InheritableParamOrStmtAttr::InheritableParamOrStmtAttr(), isLateParsed(), clang::ParameterABIAttr::ParameterABIAttr(), clang::StmtAttr::StmtAttr(), and clang::TypeAttr::TypeAttr().
◆ IsPackExpansion
The documentation for this class was generated from the following files: