|
@@ -35,9 +35,9 @@ let has_side_effect e =
|
|
|
| TConst _ | TLocal _ | TTypeExpr _ | TFunction _ -> ()
|
|
|
| TCall ({ eexpr = TField(_,FStatic({ cl_path = ([],"Std") },{ cf_name = "string" })) },args) -> Type.iter loop e
|
|
|
| TNew _ | TCall _ | TBinop ((OpAssignOp _ | OpAssign),_,_) | TUnop ((Increment|Decrement),_,_) -> raise Exit
|
|
|
- | TReturn _ | TBreak | TContinue | TThrow _ | TCast (_,Some _) -> raise Exit
|
|
|
+ | TReturn _ | TBreak | TContinue | TThrow _ | TCast (_,Some _) | TVar _ -> raise Exit
|
|
|
| TArray _ | TEnumParameter _ | TCast (_,None) | TBinop _ | TUnop _ | TParenthesis _ | TMeta _ | TWhile _ | TFor _
|
|
|
- | TField _ | TIf _ | TTry _ | TSwitch _ | TArrayDecl _ | TVar _ | TBlock _ | TObjectDecl _ -> Type.iter loop e
|
|
|
+ | TField _ | TIf _ | TTry _ | TSwitch _ | TArrayDecl _ | TBlock _ | TObjectDecl _ -> Type.iter loop e
|
|
|
in
|
|
|
try
|
|
|
loop e; false
|
|
@@ -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 *)
|