clang 22.0.0git
clang::HLSLSemanticAttr Class Reference

#include "clang/AST/Attr.h"

Inheritance diagram for clang::HLSLSemanticAttr:
[legend]

Public Member Functions

bool isSemanticIndexable () const
void setSemanticIndex (unsigned SemanticIndex)
unsigned getSemanticIndex () const
Public Member Functions inherited from clang::InheritableAttr
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, 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)

Static Public Member Functions

static bool classof (const Attr *A)
Static Public Member Functions inherited from clang::HLSLAnnotationAttr
static bool classof (const Attr *A)
Static Public Member Functions inherited from clang::InheritableAttr
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

 HLSLSemanticAttr (ASTContext &Context, const AttributeCommonInfo &CommonInfo, attr::Kind AK, bool IsLateParsed, bool InheritEvenIfAlreadyPresent, bool SemanticIndexable)
Protected Member Functions inherited from clang::HLSLAnnotationAttr
 HLSLAnnotationAttr (ASTContext &Context, const AttributeCommonInfo &CommonInfo, attr::Kind AK, bool IsLateParsed, bool InheritEvenIfAlreadyPresent)
Protected Member Functions inherited from clang::InheritableAttr
 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 , VK , GSL ,
  RISCV
}
enum class  AttrArgsInfo { None , Optional , Required }
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 235 of file Attr.h.

Constructor & Destructor Documentation

◆ HLSLSemanticAttr()

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

Member Function Documentation

◆ classof()

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

Definition at line 263 of file Attr.h.

References clang::Attr::getKind().

◆ getSemanticIndex()

unsigned clang::HLSLSemanticAttr::getSemanticIndex ( ) const
inline

Definition at line 260 of file Attr.h.

Referenced by clang::CodeGen::CGHLSLRuntime::handleScalarSemanticLoad().

◆ isSemanticIndexable()

bool clang::HLSLSemanticAttr::isSemanticIndexable ( ) const
inline

Definition at line 253 of file Attr.h.

◆ setSemanticIndex()

void clang::HLSLSemanticAttr::setSemanticIndex ( unsigned SemanticIndex)
inline

Definition at line 255 of file Attr.h.


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