@ -192,25 +192,29 @@ module Node = struct
(* * Print extended instructions for the node,
(* * Print extended instructions for the node,
highlighting the given subinstruction if present * )
highlighting the given subinstruction if present * )
let pp_instrs pe0 ~ sub_instrs instro fmt node =
let pp_instrs pe0 ~ sub_instrs instro fmt node =
let pe =
if sub_instrs then
match instro with None -> pe0 | Some instr -> Pp . extend_colormap pe0 ( Obj . repr instr ) Red
let pe =
in
match instro with None -> pe0 | Some instr -> Pp . extend_colormap pe0 ( Obj . repr instr ) Red
let instrs = get_instrs node in
in
let pp_loc fmt () = F . fprintf fmt " %a " Location . pp ( get_loc node ) in
let instrs = get_instrs node in
let print_sub_instrs () = F . fprintf fmt " %a " ( Sil . pp_instr_list pe ) instrs in
Sil . pp_instr_list pe fmt instrs
match get_kind node with
else
| Stmt_node s
let () =
-> if sub_instrs then print_sub_instrs () else F . fprintf fmt " statements (%s) %a " s pp_loc ()
match get_kind node with
| Prune_node ( _ , _ , descr )
| Stmt_node s
-> if sub_instrs then print_sub_instrs () else F . fprintf fmt " assume %s %a " descr pp_loc ()
-> F . fprintf fmt " statements (%s) " s
| Exit_node _
| Prune_node ( _ , _ , descr )
-> if sub_instrs then print_sub_instrs () else F . fprintf fmt " exit %a " pp_loc ()
-> F . fprintf fmt " assume %s " descr
| Skip_node s
| Exit_node _
-> if sub_instrs then print_sub_instrs () else F . fprintf fmt " skip (%s) %a " s pp_loc ()
-> F . fprintf fmt " exit "
| Start_node _
| Skip_node s
-> if sub_instrs then print_sub_instrs () else F . fprintf fmt " start %a " pp_loc ()
-> F . fprintf fmt " skip (%s) " s
| Join_node
| Start_node _
-> if sub_instrs then print_sub_instrs () else F . fprintf fmt " join %a " pp_loc ()
-> F . fprintf fmt " start "
| Join_node
-> F . fprintf fmt " join "
in
F . fprintf fmt " %a " Location . pp ( get_loc node )
(* * Dump extended instructions for the node *)
(* * Dump extended instructions for the node *)
let d_instrs ~ ( sub_instrs : bool ) ( curr_instr : Sil . instr option ) ( node : t ) =
let d_instrs ~ ( sub_instrs : bool ) ( curr_instr : Sil . instr option ) ( node : t ) =