Prechádzať zdrojové kódy

fix capture policy (again)

Simon Krajewski 11 rokov pred
rodič
commit
aade0fc88d
2 zmenil súbory, kde vykonal 2 pridanie a 3 odobranie
  1. 1 1
      common.ml
  2. 1 2
      genpy.ml

+ 1 - 1
common.ml

@@ -641,7 +641,7 @@ let get_config com =
 			pf_locals_scope = false;
 			pf_captured_scope = false;
 			pf_unique_locals = false;
-			pf_capture_policy = CPWrapRef;
+			pf_capture_policy = CPLoopVars;
 			pf_pad_nulls = false;
 			pf_add_final_return = false;
 			pf_overload = false;

+ 1 - 2
genpy.ml

@@ -749,11 +749,10 @@ module Transformer = struct
 		| (_, TCall(e, params)) ->
 			let e = trans true [] e in
 			let params = List.map (trans true []) params in
-			let blocks = List.flatten (List.map (fun (p) -> p.a_blocks) params) in
+			let blocks = e.a_blocks @ (List.flatten (List.map (fun (p) -> p.a_blocks) params)) in
 			let params = List.map (fun (p) -> p.a_expr) params in
 			let e = { a_expr with eexpr = TCall(e.a_expr, params) } in
 			lift_expr ~blocks:blocks e
-
 		| (true, TArray(e1, e2)) ->
 			let e1 = trans true [] e1 in
 			let e2 = trans true [] e2 in