method pStmtKind next fmt kind =
let stmt_info fmt stmt = match opt_ff with
| None -> Format.fprintf fmt "/* %d */" stmt.Cil_types.sid
| Some ff ->
let str_m = try
let m = Fct_slice.get_stmt_mark ff stmt in
SlicingMarks.mark_to_string m
with Db.Pdg.NotFound -> "[---]"
in
if (M.is_call_stmt stmt)
then Format.fprintf fmt "%t/* %s */" (str_call_sig ff stmt) str_m
else Format.fprintf fmt "/* %s */" str_m
in
match self#current_stmt with
| None -> assert false
| Some s ->
try
Format.fprintf fmt "%a%a"
stmt_info s
(fun fmt -> super#pStmtKind next fmt) kind
with Not_found ->
let sub_stmts = find_sub_stmts s in
List.iter
(fun st ->self#pStmtNext Cil.dummyStmt fmt st)
sub_stmts