Jacek Caban (@jacek) commented about dlls/jscript/engine.c:
{ name = frame->function->variables[off - frame->variables_off].name; scope = frame->scope; + jsobj = to_jsdisp(scope->obj); } else { name = frame->function->params[off - frame->arguments_off]; scope = frame->base_scope; + jsobj = to_jsdisp(scope->obj); + if (scope->arguments_obj && off - frame->arguments_off < frame->argc)
You could move that check one level above. In fact, it would be probably more readable to just call `jsdisp_get_id()` (or even an arguments-specific function) separately instead of complicating the existing loop. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2942#note_34805