[sledge] Run debug code when printing is not enabled

Reviewed By: ngorogiannis

Differential Revision: D24630524

fbshipit-source-id: f12596fbb
master
Josh Berdine 5 years ago committed by Facebook GitHub Bot
parent 52b511d053
commit 7f9afea411

@ -173,21 +173,17 @@ let info mod_name fun_name fmt =
let infok mod_name fun_name k = let infok mod_name fun_name k =
k {pf= (fun fmt -> info mod_name fun_name fmt)} k {pf= (fun fmt -> info mod_name fun_name fmt)}
let incf_ _mod_name fun_name fmt =
Format.fprintf fs "@\n@[<2>@[<hv 2>( %s:@ " fun_name ;
Format.kfprintf (fun fs -> Format.fprintf fs "@]") fs fmt
let incf mod_name fun_name fmt = let incf mod_name fun_name fmt =
if enabled mod_name fun_name then incf_ mod_name fun_name fmt if not (enabled mod_name fun_name) then Format.ifprintf fs fmt
else Format.ifprintf fs fmt else (
Format.fprintf fs "@\n@[<2>@[<hv 2>( %s:@ " fun_name ;
let decf_ _mod_name fun_name fmt = Format.kfprintf (fun fs -> Format.fprintf fs "@]") fs fmt )
Format.fprintf fs "@]@\n@[<2>) %s:@ " fun_name ;
Format.kfprintf (fun fs -> Format.fprintf fs "@]") fs fmt
let decf mod_name fun_name fmt = let decf mod_name fun_name fmt =
if enabled mod_name fun_name then decf_ mod_name fun_name fmt if not (enabled mod_name fun_name) then Format.ifprintf fs fmt
else Format.ifprintf fs fmt else (
Format.fprintf fs "@]@\n@[<2>) %s:@ " fun_name ;
Format.kfprintf (fun fs -> Format.fprintf fs "@]") fs fmt )
let call mod_name fun_name k = let call mod_name fun_name k =
k {pf= (fun fmt -> incf mod_name fun_name fmt)} k {pf= (fun fmt -> incf mod_name fun_name fmt)}
@ -211,17 +207,15 @@ let trace :
Option.value rais ~default:(fun {pf} exc _ -> Option.value rais ~default:(fun {pf} exc _ ->
pf "%s" (Printexc.to_string exc) ) pf "%s" (Printexc.to_string exc) )
in in
if not (enabled mod_name fun_name) then k () call {pf= (fun fmt -> incf mod_name fun_name fmt)} ;
else ( match k () with
call {pf= (fun fmt -> incf_ mod_name fun_name fmt)} ; | result ->
match k () with retn {pf= (fun fmt -> decf mod_name fun_name fmt)} result ;
| result -> result
retn {pf= (fun fmt -> decf_ mod_name fun_name fmt)} result ; | exception exc ->
result let bt = Printexc.get_raw_backtrace () in
| exception exc -> rais {pf= (fun fmt -> decf mod_name fun_name fmt)} exc bt ;
let bt = Printexc.get_raw_backtrace () in Printexc.raise_with_backtrace exc bt
rais {pf= (fun fmt -> decf_ mod_name fun_name fmt)} exc bt ;
Printexc.raise_with_backtrace exc bt )
let raisef ?margin exn fmt = let raisef ?margin exn fmt =
let fs = Format.str_formatter in let fs = Format.str_formatter in

Loading…
Cancel
Save