let rec key_visible fm key =
  try
    match key with
      | PdgIndex.Key.CallStmt call_id ->
          let call = PdgIndex.Key.call_from_id call_id in
            call_visible fm call
      | _ -> let m = PdgIndex.FctIndex.find_info fm key in
          mark_visible fm m
  with PdgIndex.NotFound -> false
and
(** the call is visible if its control node is visible *)

    call_visible fm call =
    let key = PdgIndex.Key.call_ctrl_key call in
      key_visible fm key