浏览代码

mergeblock

Dan Korostelev 4 年之前
父节点
当前提交
3fa294cd1d
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      src/filters/filters.ml

+ 3 - 3
src/filters/filters.ml

@@ -256,10 +256,10 @@ let is_evoid e = match e.eexpr with
 let eliminate_void ctx e =
 	let is_void t = ExtType.is_void (follow t) in
 	let evoid = ctx.com.basic.evoid in
+	let mergeblock e = { e with eexpr = TMeta ((Meta.MergeBlock,[],null_pos), e) } in
 	let value e =
 		if is_void e.etype && not (is_evoid e) then
-			let el = [ e; evoid e.epos ] in
-			{ e with eexpr = TMeta ((Meta.MergeBlock,[],null_pos), { e with eexpr = TBlock el }) }
+			mergeblock { e with eexpr = TBlock [ e; evoid e.epos ] }
 		else
 			e
 	in
@@ -280,7 +280,7 @@ let eliminate_void ctx e =
 			let e1 = loop e1 in
 			let e2 = loop e2 in
 			if is_void e1.etype then
-				{ e with eexpr = TBlock [e1; e2] }
+				mergeblock { e with eexpr = TBlock [e1; e2] }
 			else
 				{ e with eexpr = TBinop (OpAssign, e1, e2) }
 		| TBlock el ->