let fun_variant_visible ff_opt v =
SlicingParameters.debug ~level:2 "[SlicingTransform.Visibility.fun_variant_visible] %a ?"
!Ast_printer.d_term v ;
let visible = match ff_opt with
| Isrc -> true
| Iproto -> true
| Iff (ff,_) ->
let kf = M.get_ff_kf ff in
let pdg = !Db.Pdg.get kf in
try
let nodes = !Db.Pdg.find_fun_variant_nodes pdg v in
data_nodes_visible ff nodes
with Extlib.NotYetImplemented _ ->
all_logic_var_visible_term ff v
in SlicingParameters.debug ~level:2 "[SlicingTransform.Visibility.fun_variant_visible] -> %s"
(if visible then "yes" else "no");
visible