Fix invalid codegen for array reference passed as output parameter in scripting interface method

This commit is contained in:
Wojtek Figat
2023-11-28 11:21:29 +01:00
parent 8ffc86ef88
commit 17dca8c5c7

View File

@@ -2775,11 +2775,12 @@ namespace Flax.Build.Bindings
// Variant converting helper methods
foreach (var typeInfo in CppVariantToTypes)
{
var name = typeInfo.ToString(false);
header.AppendLine();
header.AppendLine("namespace {");
header.Append($"{typeInfo} VariantTo{GenerateCppWrapperNativeToVariantMethodName(typeInfo)}(const Variant& v)").AppendLine();
header.Append($"{name} VariantTo{GenerateCppWrapperNativeToVariantMethodName(typeInfo)}(const Variant& v)").AppendLine();
header.Append('{').AppendLine();
header.Append($" {typeInfo} result;").AppendLine();
header.Append($" {name} result;").AppendLine();
if (typeInfo.Type == "Array" && typeInfo.GenericArgs != null)
{
header.Append(" const auto* array = reinterpret_cast<const Array<Variant, HeapAllocation>*>(v.AsData);").AppendLine();