浏览代码

sanitize does not need a typer context

Simon Krajewski 11 年之前
父节点
当前提交
f8474bd7cb
共有 2 个文件被更改,包括 4 次插入4 次删除
  1. 1 1
      filters.ml
  2. 3 3
      optimizer.ml

+ 1 - 1
filters.ml

@@ -1092,7 +1092,7 @@ let run com tctx main =
 				save();
 				e)
 			| _ -> fun e -> e);
-		if com.foptimize then (fun e -> Optimizer.reduce_expression tctx (Optimizer.inline_constructors tctx e)) else Optimizer.sanitize tctx;
+		if com.foptimize then (fun e -> Optimizer.reduce_expression tctx (Optimizer.inline_constructors tctx e)) else Optimizer.sanitize com;
 		check_local_vars_init;
 		captured_vars com;
 	] in

+ 3 - 3
optimizer.ml

@@ -873,7 +873,7 @@ let sanitize_expr com e =
 	| _ ->
 		e
 
-let reduce_expr ctx e =
+let reduce_expr com e =
 	match e.eexpr with
 	| TSwitch (_,cases,_) ->
 		List.iter (fun (cl,_) ->
@@ -906,8 +906,8 @@ let reduce_expr ctx e =
 	| _ ->
 		e
 
-let rec sanitize ctx e =
-	sanitize_expr ctx.com (reduce_expr ctx (Type.map_expr (sanitize ctx) e))
+let rec sanitize com e =
+	sanitize_expr com (reduce_expr com (Type.map_expr (sanitize com) e))
 
 (* ---------------------------------------------------------------------- *)
 (* REDUCE *)