|
@@ -1426,12 +1426,12 @@ let rec gen_expr_content ctx retval e =
|
|
|
end
|
|
|
| TIdent s ->
|
|
|
abort ("Unbound variable " ^ s) e.epos
|
|
|
-and args_as_array ctx mandatory_args spread_arg =
|
|
|
+and args_as_array ctx mandatory_args spread_arg p =
|
|
|
match mandatory_args with
|
|
|
| [] ->
|
|
|
spread_arg
|
|
|
| _ ->
|
|
|
- let p = punion_el mandatory_args in
|
|
|
+ let p = punion_el p mandatory_args in
|
|
|
let array = mk (TArrayDecl mandatory_args) (ctx.com.basic.tarray t_dynamic) p in
|
|
|
let concat = mk (TField (array,FDynamic "concat")) t_dynamic spread_arg.epos in
|
|
|
mk (TCall (concat,[spread_arg])) (ctx.com.basic.tarray t_dynamic) (punion p spread_arg.epos)
|
|
@@ -1444,7 +1444,7 @@ and gen_call ctx retval e el r =
|
|
|
and t_array_dyn = ctx.com.basic.tarray t_dynamic in
|
|
|
let t = TFun (["thisArg",false,t_dynamic; "argArray",false,t_array_dyn],r) in
|
|
|
let apply = mk (TField (e,FDynamic "apply")) t e.epos in
|
|
|
- gen_call ctx retval apply [null; args_as_array ctx (List.rev el_rev) rest] r
|
|
|
+ gen_call ctx retval apply [null; args_as_array ctx (List.rev el_rev) rest e.epos] r
|
|
|
(* normal call without `...rest` *)
|
|
|
| _ ->
|
|
|
match e.eexpr , el with
|