[HLSL] Improve HLSL resource method generation (#176806)
Refactor how HLSL resource methods are constructed in
HLSLBuiltinTypeDeclBuilder to be more robust and semantically correct.
- Switch to using Sema::BuildCallExpr and Sema::BuildCStyleCastExpr for
building builtin calls, ensuring proper type checking and AST
structure. This fixes issues with non-template resources like
SamplerState where AST errors aren't automatically resolved during
instantiation.
- Treat parameter placeholders as LValues in convertPlaceholder. This is
required for builtins with 'out' parameters (e.g., GetDimensions) now
that proper type checking via BuildCallExpr is performed.
- Fix a bug in CreateFromBinding methods where the counter handle was
assigned an incorrect handle type.
- Add assertions to ensure the correct field is accessed for handles,
preventing errors when implementing methods like Texture2D.Sample.
- Update AST tests to reflect changes in expression value categories
(VK_LValue) and the introduction of CStyleCastExpr.