clang 24.0.0git
clang::hlsl::BuiltinTypeMethodBuilder Struct Reference

Public Member Functions

 BuiltinTypeMethodBuilder (BuiltinTypeDeclBuilder &DB, DeclarationName &Name, QualType ReturnTy, bool IsConst=false, bool IsCtor=false, StorageClass SC=SC_None)
 BuiltinTypeMethodBuilder (BuiltinTypeDeclBuilder &DB, StringRef NameStr, QualType ReturnTy, bool IsConst=false, bool IsCtor=false, StorageClass SC=SC_None)
 BuiltinTypeMethodBuilder (const BuiltinTypeMethodBuilder &Other)=delete
 ~BuiltinTypeMethodBuilder ()
BuiltinTypeMethodBuilder & operator= (const BuiltinTypeMethodBuilder &Other)=delete
BuiltinTypeMethodBuilder & addParam (StringRef Name, QualType Ty, HLSLParamModifierAttr::Spelling Modifier=HLSLParamModifierAttr::Keyword_in)
QualType addTemplateTypeParam (StringRef Name)
BuiltinTypeMethodBuilder & declareLocalVar (LocalVar &Var)
template<typename... Ts>
BuiltinTypeMethodBuilder & callBuiltin (StringRef BuiltinName, QualType ReturnType, Ts &&...ArgSpecs)
template<typename TLHS, typename TRHS>
BuiltinTypeMethodBuilder & assign (TLHS LHS, TRHS RHS)
template<typename T>
BuiltinTypeMethodBuilder & dereference (T Ptr)
template<typename V, typename S>
BuiltinTypeMethodBuilder & concat (V Vec, S Scalar, QualType ResultTy)
template<typename T>
BuiltinTypeMethodBuilder & accessHandleFieldOnResource (T ResourceRecord)
template<typename T>
BuiltinTypeMethodBuilder & accessFieldOnResource (T ResourceRecord, FieldDecl *Field)
template<typename ValueT>
BuiltinTypeMethodBuilder & setHandleFieldOnResource (LocalVar &ResourceRecord, ValueT HandleValue)
template<typename ResourceT, typename ValueT>
BuiltinTypeMethodBuilder & setFieldOnResource (ResourceT ResourceRecord, ValueT HandleValue, FieldDecl *HandleField)
void setMipsHandleField (LocalVar &ResourceRecord)
template<typename T>
BuiltinTypeMethodBuilder & accessCounterHandleFieldOnResource (T ResourceRecord)
template<typename ResourceT, typename ValueT>
BuiltinTypeMethodBuilder & setCounterHandleFieldOnResource (ResourceT ResourceRecord, ValueT HandleValue)
template<typename T>
BuiltinTypeMethodBuilder & returnValue (T ReturnValue)
BuiltinTypeMethodBuilder & returnThis ()
BuiltinTypeDeclBuilder & finalize (AccessSpecifier Access=AccessSpecifier::AS_public)
Expr * getResourceHandleExpr ()
Expr * getResourceCounterHandleExpr ()
template<typename T>
MemberExpr * createMemberExpr (T Base, FieldDecl *Field)
CXXThisExpr * createThisExpr ()

Public Attributes

friend BuiltinTypeDeclBuilder

Detailed Description

Definition at line 189 of file HLSLBuiltinTypeDeclBuilder.cpp.

Constructor & Destructor Documentation

◆ BuiltinTypeMethodBuilder() [1/3]

clang::hlsl::BuiltinTypeMethodBuilder::BuiltinTypeMethodBuilder ( BuiltinTypeDeclBuilder & DB,
DeclarationName & Name,
QualType ReturnTy,
bool IsConst = false,
bool IsCtor = false,
StorageClass SC = SC_None )
inline

◆ BuiltinTypeMethodBuilder() [2/3]

◆ BuiltinTypeMethodBuilder() [3/3]

clang::hlsl::BuiltinTypeMethodBuilder::BuiltinTypeMethodBuilder ( const BuiltinTypeMethodBuilder & Other)
delete

◆ ~BuiltinTypeMethodBuilder()

clang::hlsl::BuiltinTypeMethodBuilder::~BuiltinTypeMethodBuilder ( )
inline

Definition at line 261 of file HLSLBuiltinTypeDeclBuilder.cpp.

References finalize().

Member Function Documentation

◆ accessCounterHandleFieldOnResource()

template<typename T>
BuiltinTypeMethodBuilder & clang::hlsl::BuiltinTypeMethodBuilder::accessCounterHandleFieldOnResource ( T ResourceRecord)

◆ accessFieldOnResource()

template<typename T>
BuiltinTypeMethodBuilder & clang::hlsl::BuiltinTypeMethodBuilder::accessFieldOnResource ( T ResourceRecord,
FieldDecl * Field )

◆ accessHandleFieldOnResource()

◆ addParam()

◆ addTemplateTypeParam()

◆ assign()

template<typename TLHS, typename TRHS>
BuiltinTypeMethodBuilder & clang::hlsl::BuiltinTypeMethodBuilder::assign ( TLHS LHS,
TRHS RHS )

◆ callBuiltin()

◆ concat()

◆ createMemberExpr()

◆ createThisExpr()

CXXThisExpr * clang::hlsl::BuiltinTypeMethodBuilder::createThisExpr ( )

◆ declareLocalVar()

BuiltinTypeMethodBuilder & clang::hlsl::BuiltinTypeMethodBuilder::declareLocalVar ( LocalVar & Var)

◆ dereference()

◆ finalize()

◆ getResourceCounterHandleExpr()

Expr * clang::hlsl::BuiltinTypeMethodBuilder::getResourceCounterHandleExpr ( )

Definition at line 664 of file HLSLBuiltinTypeDeclBuilder.cpp.

References createMemberExpr(), and createThisExpr().

◆ getResourceHandleExpr()

Expr * clang::hlsl::BuiltinTypeMethodBuilder::getResourceHandleExpr ( )

Definition at line 658 of file HLSLBuiltinTypeDeclBuilder.cpp.

References createMemberExpr(), and createThisExpr().

◆ operator=()

BuiltinTypeMethodBuilder & clang::hlsl::BuiltinTypeMethodBuilder::operator= ( const BuiltinTypeMethodBuilder & Other)
delete

◆ returnThis()

BuiltinTypeMethodBuilder & clang::hlsl::BuiltinTypeMethodBuilder::returnThis ( )

◆ returnValue()

◆ setCounterHandleFieldOnResource()

template<typename ResourceT, typename ValueT>
BuiltinTypeMethodBuilder & clang::hlsl::BuiltinTypeMethodBuilder::setCounterHandleFieldOnResource ( ResourceT ResourceRecord,
ValueT HandleValue )

Definition at line 892 of file HLSLBuiltinTypeDeclBuilder.cpp.

References setFieldOnResource().

◆ setFieldOnResource()

◆ setHandleFieldOnResource()

template<typename ValueT>
BuiltinTypeMethodBuilder & clang::hlsl::BuiltinTypeMethodBuilder::setHandleFieldOnResource ( LocalVar & ResourceRecord,
ValueT HandleValue )

Definition at line 882 of file HLSLBuiltinTypeDeclBuilder.cpp.

References setFieldOnResource(), and setMipsHandleField().

◆ setMipsHandleField()

void clang::hlsl::BuiltinTypeMethodBuilder::setMipsHandleField ( LocalVar & ResourceRecord)

Member Data Documentation

◆ BuiltinTypeDeclBuilder

friend clang::hlsl::BuiltinTypeMethodBuilder::BuiltinTypeDeclBuilder

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