clang
15.0.0git
|
#include "clang/Basic/AttributeCommonInfo.h"
Public Types | |
enum | Syntax { AS_GNU, AS_CXX11, AS_C2x, AS_Declspec, AS_Microsoft, AS_Keyword, AS_Pragma, AS_ContextSensitiveKeyword, AS_HLSLSemantic } |
The style used to specify an attribute. More... | |
enum | Kind { NoSemaHandlerAttribute, IgnoredAttribute, UnknownAttribute } |
Static Public Member Functions | |
static Kind | getParsedKind (const IdentifierInfo *Name, const IdentifierInfo *Scope, Syntax SyntaxUsed) |
Protected Member Functions | |
bool | isAttributeSpellingListCalculated () const |
Static Protected Attributes | |
static constexpr unsigned | SpellingNotCalculated = 0xf |
Friends | |
class | clang::ASTRecordWriter |
Definition at line 22 of file AttributeCommonInfo.h.
Enumerator | |
---|---|
NoSemaHandlerAttribute | |
IgnoredAttribute | |
UnknownAttribute |
Definition at line 55 of file AttributeCommonInfo.h.
The style used to specify an attribute.
Enumerator | |
---|---|
AS_GNU | attribute((...)) |
AS_CXX11 | [[...]] |
AS_C2x | [[...]] |
AS_Declspec | __declspec(...) |
AS_Microsoft | [uuid("...")] class Foo |
AS_Keyword | __ptr16, alignas(...), etc. |
AS_Pragma | #pragma ... |
AS_ContextSensitiveKeyword | Context-sensitive version of a keyword attribute. |
AS_HLSLSemantic | <vardecl> : <semantic> |
Definition at line 25 of file AttributeCommonInfo.h.
|
inline |
Definition at line 79 of file AttributeCommonInfo.h.
|
inline |
Definition at line 83 of file AttributeCommonInfo.h.
|
inline |
Definition at line 87 of file AttributeCommonInfo.h.
|
inline |
Definition at line 95 of file AttributeCommonInfo.h.
|
inline |
Definition at line 102 of file AttributeCommonInfo.h.
|
inline |
Definition at line 110 of file AttributeCommonInfo.h.
|
inline |
Definition at line 116 of file AttributeCommonInfo.h.
|
inline |
Definition at line 121 of file AttributeCommonInfo.h.
|
default |
|
default |
|
inline |
Definition at line 193 of file AttributeCommonInfo.h.
References isAttributeSpellingListCalculated().
Referenced by clang::Attr::getSpellingListIndex().
|
inline |
Definition at line 131 of file AttributeCommonInfo.h.
Referenced by clang::ASTRecordWriter::AddAttr(), getNormalizedFullName(), and clang::operator<<().
|
inline |
Definition at line 132 of file AttributeCommonInfo.h.
References clang::SourceRange::getBegin().
Referenced by clang::Sema::AddAlignedAttr(), clang::Sema::AddAlignValueAttr(), clang::Sema::AddAllocAlignAttr(), clang::Sema::AddAssumeAlignedAttr(), clang::Sema::AddParameterABIAttr(), clang::Sema::CheckAttrTarget(), clang::Sema::CheckCallingConvAttr(), clang::Sema::CheckRegparmAttr(), getAttrLoc(), HandleArmMveStrictPolymorphismAttr(), clang::Sema::mergeAlwaysInlineAttr(), clang::Sema::mergeAvailabilityAttr(), clang::Sema::mergeDLLImportAttr(), clang::Sema::mergeErrorAttr(), clang::Sema::mergeHLSLNumThreadsAttr(), clang::Sema::mergeHLSLShaderAttr(), clang::Sema::mergeInternalLinkageAttr(), clang::Sema::mergeMinSizeAttr(), clang::Sema::mergeMSInheritanceAttr(), clang::Sema::mergeOptimizeNoneAttr(), and clang::Sema::mergeUuidAttr().
std::string AttributeCommonInfo::getNormalizedFullName | ( | ) | const |
Gets the normalized full name, which consists of both scope and name and with surrounding underscores removed as appropriate (e.g.
gnu::attr will be normalized to gnu::attr).
Definition at line 118 of file Attributes.cpp.
References getAttrName(), getScopeName(), getSyntax(), normalizeName(), and string().
Referenced by clang::ParsedAttrInfo::get(), and clang::Sema::mergeErrorAttr().
|
inline |
Definition at line 129 of file AttributeCommonInfo.h.
Referenced by clang::ASTRecordWriter::AddAttr(), clang::ParsedAttr::asOpenCLLangAS(), clang::ParsedAttrInfo::get(), clang::ParsedAttr::getAvailabilityDeprecated(), clang::ParsedAttr::getAvailabilityIntroduced(), clang::ParsedAttr::getAvailabilityObsoleted(), clang::ParsedAttr::getLayoutCompatible(), clang::ParsedAttr::getMatchingCType(), clang::ParsedAttr::getMessageExpr(), clang::ParsedAttr::getMustBeNull(), clang::ParsedAttr::getReplacementExpr(), clang::ParsedAttr::getStrictLoc(), clang::ParsedAttr::getUnavailableLoc(), clang::ParsedAttributesView::hasAttribute(), isAlignasAttribute(), IsBuiltInOrStandardCXX11Attribute(), and clang::ParsedAttr::slidesFromDeclToDeclSpecLegacyBehavior().
|
static |
Definition at line 112 of file Attributes.cpp.
|
inline |
Definition at line 133 of file AttributeCommonInfo.h.
Referenced by clang::Sema::AddAllocAlignAttr(), clang::Sema::AddAssumeAlignedAttr(), clang::ASTRecordWriter::AddAttr(), clang::Sema::AddXConsumedAttr(), clang::Sema::CheckAttrTarget(), clang::Sema::CheckCompleteVariableDeclaration(), AttrImporter::cloneAttr(), clang::AttributedTypeLoc::getLocalSourceRange(), clang::Attr::getLocation(), clang::Sema::mergeAvailabilityAttr(), clang::Sema::mergeFormatAttr(), clang::Sema::mergeMSInheritanceAttr(), clang::TextNodeDumper::Visit(), and clang::JSONNodeDumper::Visit().
|
inline |
Definition at line 138 of file AttributeCommonInfo.h.
Referenced by clang::ASTRecordWriter::AddAttr().
|
inline |
Definition at line 137 of file AttributeCommonInfo.h.
Referenced by clang::ASTRecordWriter::AddAttr(), and getNormalizedFullName().
|
inline |
Definition at line 130 of file AttributeCommonInfo.h.
Referenced by clang::ASTRecordWriter::AddAttr(), clang::ParsedAttrInfo::get(), and getNormalizedFullName().
|
inline |
Definition at line 136 of file AttributeCommonInfo.h.
|
inline |
Definition at line 151 of file AttributeCommonInfo.h.
References getParsedKind(), and isKeywordAttribute().
Referenced by isCXX11Attribute().
|
inlineprotected |
Definition at line 216 of file AttributeCommonInfo.h.
References SpellingNotCalculated.
Referenced by getAttributeSpellingListIndex().
|
inline |
Definition at line 175 of file AttributeCommonInfo.h.
References AS_C2x.
Referenced by isStandardAttributeSyntax().
bool AttributeCommonInfo::isClangScope | ( | ) | const |
Definition at line 88 of file Attributes.cpp.
References clang::IdentifierInfo::isStr().
|
inline |
Definition at line 189 of file AttributeCommonInfo.h.
References AS_ContextSensitiveKeyword.
|
inline |
Definition at line 171 of file AttributeCommonInfo.h.
References AS_CXX11, and isAlignasAttribute().
Referenced by isStandardAttributeSyntax().
|
inline |
Definition at line 145 of file AttributeCommonInfo.h.
References AS_Declspec.
|
inline |
Definition at line 183 of file AttributeCommonInfo.h.
References AS_GNU.
bool AttributeCommonInfo::isGNUScope | ( | ) | const |
Definition at line 84 of file Attributes.cpp.
References clang::IdentifierInfo::isStr().
|
inline |
Definition at line 185 of file AttributeCommonInfo.h.
References AS_ContextSensitiveKeyword, and AS_Keyword.
Referenced by isAlignasAttribute().
|
inline |
Definition at line 146 of file AttributeCommonInfo.h.
References AS_Microsoft.
|
inline |
The attribute is spelled [[]] in either C or C++ mode, including standard attributes spelled with a keyword, like alignas.
Definition at line 179 of file AttributeCommonInfo.h.
References isC2xAttribute(), and isCXX11Attribute().
Referenced by clang::ParsedAttr::slidesFromDeclToDeclSpecLegacyBehavior().
|
inline |
Definition at line 200 of file AttributeCommonInfo.h.
References V.
|
inline |
Definition at line 134 of file AttributeCommonInfo.h.
Referenced by AttrImporter::cloneAttr().
|
friend |
Definition at line 211 of file AttributeCommonInfo.h.
|
staticconstexprprotected |
Definition at line 76 of file AttributeCommonInfo.h.
Referenced by isAttributeSpellingListCalculated().