Add support for list ref

This commit is contained in:
wrenge 2024-01-15 13:17:19 +03:00
parent 6d99d36956
commit 1c4a827b0a
1 changed files with 22 additions and 0 deletions

View File

@ -560,6 +560,28 @@ Script_{{o.name|norm_name}}.Method_{{m.name}}.ReturnValue(frm, stack
);
cl.Define(fn);
}
{
var fn = new FuncSymbolNative(new Origin(), "Add", Types.Void,
delegate(VM.Frame frm, ValStack stack, FuncArgsInfo args_info, ref BHS status)
{
#if !BHL_FRONT
var val = stack.Pop();
var val_lst = stack.Pop();
{#TODO: get rid of replace hack below#}
{{('var ' ~ _self.val2native(token(o, 'bhl_native_arr_proxy'), 'val', 'tmp'))|replace({'tmp = tmp' : '', 'var var' : 'var'})}};
var lst = ((List<{{token(o, 'bhl_native_arr_proxy')|native_type}}>)val_lst.obj);
lst.Add(tmp);
val.Release();
val_lst.Release();
#endif
return null;
},
new FuncArgSymbol("v", {{token(o, 'bhl_native_arr_proxy')|bhl_type_ref}})
);
cl.Define(fn);
}
cl.Setup();
{{scope}}.Define(cl);
}