Fix clang bindings code generation for non-const ref parameters

This commit is contained in:
2025-12-16 00:53:03 +02:00
parent 82bb297119
commit 265178a4b4

View File

@@ -1293,11 +1293,18 @@ namespace Flax.Build.Bindings
callParams += parameterInfo.Name;
callParams += "Temp";
}
// Instruct for more optoimized value move operation
// Instruct for more optimized value move operation
else if (parameterInfo.Type.IsMoveRef)
{
callParams += $"MoveTemp({param})";
}
else if (parameterInfo.Type.IsRef && !parameterInfo.Type.IsConst)
{
// Non-const lvalue reference parameters needs to be passed via temporary value
contents.Append(indent).AppendFormat("{2}& {0}Temp = {1};", parameterInfo.Name, param, parameterInfo.Type.Type).AppendLine();
callParams += parameterInfo.Name;
callParams += "Temp";
}
else
{
callParams += param;