let str_call_sig ff call fmt =
try
let _, ff_marks = ff.T.ff_marks in
let called, sgn = PdgIndex.FctIndex.find_call ff_marks call in
let print_called fmt = match called with
| None
| Some (None) -> Format.fprintf fmt "/* undetermined call */@."
| Some (Some (T.CallSlice ff)) ->
Format.fprintf fmt "/* call to %a */@."
Fct_slice.print_ff_sig ff
| Some (Some(T.CallSrc _)) ->
Format.fprintf fmt "/* call to source function */@."
in
Format.fprintf fmt "/* sig call : %a */@\n%t"
SlicingMarks.pretty_sig sgn print_called
with Db.Pdg.NotFound -> Format.fprintf fmt "/* invisible call */@."