[clang] [HLSL] Add static methods for resource initialization (PR #155866)
Justin Bogner via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 10 09:32:27 PDT 2025
================
@@ -512,6 +536,55 @@ BuiltinTypeMethodBuilder &BuiltinTypeMethodBuilder::dereference(T Ptr) {
return *this;
}
+template <typename T>
+BuiltinTypeMethodBuilder &
+BuiltinTypeMethodBuilder::accessHandleFieldOnResource(T ResourceRecord) {
+ ensureCompleteDecl();
+
+ Expr *ResourceExpr = convertPlaceholder(ResourceRecord);
+
+ ASTContext &AST = DeclBuilder.SemaRef.getASTContext();
+ FieldDecl *HandleField = DeclBuilder.getResourceHandleField();
+ MemberExpr *HandleExpr = MemberExpr::CreateImplicit(
+ AST, ResourceExpr, false, HandleField, HandleField->getType(), VK_LValue,
+ OK_Ordinary);
+ StmtsList.push_back(HandleExpr);
+ return *this;
+}
+
+template <typename TResource, typename TValue>
----------------
bogner wrote:
LLVM's naming convention is usually `ResourceT` and `ValueT` rather than `TResource` and `TValue`
https://github.com/llvm/llvm-project/pull/155866
More information about the cfe-commits
mailing list