let apply_action proj filter =
SlicingParameters.debug ~level:1 "[SlicingProject.apply_action] : %a" SlicingActions.print_crit filter;
let new_filters =
try match filter with
| T.CrFct fct_crit ->
begin
try (apply_fct_action proj fct_crit)
with PdgTypes.Pdg.Bottom ->
SlicingParameters.debug ~level:1 " -> action ABORTED (PDG is bottom)" ;
[]
end
| T.CrAppli appli_crit ->
apply_appli_crit proj appli_crit
with Not_found -> assert false
in
SlicingParameters.debug ~level:1 " -> %d generated filters : %a@."
(List.length new_filters)
SlicingActions.print_list_crit new_filters;
new_filters