Module SlicingProject

module SlicingProject: sig .. end

Handle the project global object.


val create_slice : Kernel_function.t -> SlicingInternals.fct_slice

Add a new slice for the function. It can be the case that it create actions if the function has some persistent selection, that make function calls to choose.

val remove_ff : SlicingInternals.fct_slice -> unit

Delete ff_to_remove if it is not called.

val remove_uncalled_slices : unit -> unit
val merge_slices : SlicingInternals.fct_slice ->
SlicingInternals.fct_slice -> bool -> SlicingInternals.fct_slice

Build a new slice ff which contains the marks of ff1 and ff2 and generate everything that is needed to choose the calls in ff. If replace also generate requests call ff instead of ff1 and ff2.

val split_slice : SlicingInternals.fct_slice -> SlicingInternals.fct_slice list
val get_slices : Kernel_function.t -> SlicingInternals.fct_slice list
val get_slice_callers : SlicingInternals.fct_slice -> SlicingInternals.fct_slice list
val add_filter : SlicingInternals.criterion -> unit
val add_fct_src_filter : SlicingInternals.fct_info -> SlicingInternals.fct_user_crit -> unit

Add an action to the action list to filter the function fct_id with the given criterion. The filter gives a name to the result of the filter which is a new slice if the function to filter is the source one, or the given slice otherwise.

val add_fct_ff_filter : SlicingInternals.fct_slice -> SlicingInternals.fct_user_crit -> unit
val print_proj_worklist : Stdlib.Format.formatter -> unit
val print_project_and_worklist : Stdlib.Format.formatter -> unit
val pretty_slice : Stdlib.Format.formatter -> SlicingInternals.fct_slice -> unit
val apply_next_action : unit -> unit
val is_request_empty : unit -> bool
val apply_all_actions : unit -> unit