@@ -832,37 +832,35 @@ and
832832 args = [obj]} as fn;
833833 arg]
834834 ->
835- begin
836- let obj_block =
837- compile_lambda {cxt with st = NeedValue ; should_return = ReturnFalse } obj
838- in
839- let value_block =
840- compile_lambda {cxt with st = NeedValue ; should_return = ReturnFalse } arg
841- in
842- let cont block0 block1 obj_code =
835+ begin
836+ let need_value_no_return_cxt = {cxt with st = NeedValue ; should_return = ReturnFalse } in
837+ let obj_output = compile_lambda need_value_no_return_cxt obj in
838+ let arg_output = compile_lambda need_value_no_return_cxt arg in
839+ let cont obj_block arg_block obj_code =
843840 Js_output. output_of_block_and_expression st should_return lam
844841 (
845842 match obj_code with
846- | None -> Ext_list. append block0 block1
847- | Some obj_code -> Ext_list. append block0 @@ obj_code :: block1
843+ | None -> Ext_list. append obj_block arg_block
844+ | Some obj_code -> Ext_list. append obj_block ( obj_code :: arg_block)
848845 )
849846 in
850- match obj_block, value_block with
851- | {block = block0 ; value = Some obj },
852- {block = block1 ; value = Some value}
847+ match obj_output, arg_output with
848+ | {block = obj_block ; value = Some obj },
849+ {block = arg_block ; value = Some value}
853850 ->
854851 if Ext_string. ends_with method_name Literals. setter_suffix then
855852 let property =
856- Lam_methname. translate ~loc @@
857- String. sub method_name 0
858- (String. length method_name - Literals. setter_suffix_len) in
853+ Lam_methname. translate ~loc
854+ ( String. sub method_name 0
855+ (String. length method_name - Literals. setter_suffix_len) ) in
859856 match Js_ast_util. named_expression obj with
860857 | None ->
861- cont block0 block1 None (E. assign (E. dot obj property) value)
858+ cont obj_block arg_block None
859+ (E. seq (E. assign (E. dot obj property) value) E. unit )
862860 | Some (obj_code, obj)
863861 ->
864- cont block0 block1 (Some obj_code)
865- (E. assign (E. dot (E. var obj) property) value)
862+ cont obj_block arg_block (Some obj_code)
863+ (E. seq ( E. assign (E. dot (E. var obj) property) value) E. unit )
866864 else
867865 compile_lambda cxt
868866 (Lam. apply fn [arg]
0 commit comments