sig
type t
type to_prop
val empty_to_prop : Fct_slice.??.to_prop
val new_empty_slice :
SlicingInternals.fct_info -> SlicingInternals.fct_slice
val new_copied_slice :
SlicingInternals.fct_slice -> SlicingInternals.fct_slice
val new_empty_fi_marks : SlicingInternals.fct_info -> Fct_slice.??.t
val fi_marks : SlicingInternals.fct_info -> Fct_slice.??.t option
val get_fi_node_mark :
SlicingInternals.fct_info -> PdgIndex.Key.t -> SlicingTypes.sl_mark
val new_init_slice :
SlicingInternals.fct_info ->
SlicingInternals.ff_marks -> SlicingInternals.fct_slice
val get_ff_marks : SlicingInternals.fct_slice -> Fct_slice.??.t
val merge :
SlicingInternals.fct_slice ->
SlicingInternals.fct_slice -> SlicingInternals.ff_marks
val get_node_mark :
SlicingInternals.fct_slice -> PdgIndex.Key.t -> SlicingTypes.sl_mark
val get_node_marks :
SlicingInternals.fct_slice -> PdgIndex.Key.t -> SlicingTypes.sl_mark list
val get_sgn : SlicingInternals.fct_slice -> SlicingMarks.sig_marks option
val get_new_marks :
SlicingInternals.fct_slice ->
SlicingTypes.sl_mark PdgMarks.select ->
SlicingTypes.sl_mark PdgMarks.select
val get_all_input_marks : Fct_slice.??.t -> Fct_slice.??.to_prop
val get_matching_input_marks :
Fct_slice.??.t -> Locations.Zone.t -> Fct_slice.??.to_prop
val mark_and_propagate :
Fct_slice.??.t ->
?to_prop:Fct_slice.??.to_prop ->
SlicingTypes.sl_mark PdgMarks.select -> Fct_slice.??.to_prop
val mark_spare_call_nodes :
SlicingInternals.fct_slice -> Cil_types.stmt -> Fct_slice.??.to_prop
val mark_visible_output : Fct_slice.??.t -> unit
val mark_visible_inputs :
Fct_slice.??.t -> Fct_slice.??.to_prop -> Fct_slice.??.to_prop
val marks_for_caller_inputs :
PdgTypes.Pdg.t ->
Fct_slice.??.t ->
Cil_types.stmt ->
Fct_slice.??.to_prop ->
SlicingInternals.fct_info -> SlicingTypes.sl_mark PdgMarks.select * bool
val marks_for_call_outputs :
Fct_slice.??.to_prop ->
(Cil_types.stmt *
(PdgIndex.Signature.out_key * SlicingTypes.sl_mark) list)
list
val get_call_output_marks :
?spare_info:Fct_slice.CallInfo.call_id option ->
Fct_slice.CallInfo.t ->
(PdgIndex.Signature.out_key * SlicingTypes.sl_mark) list
val persistant_in_marks_to_prop :
SlicingInternals.fct_info ->
Fct_slice.??.to_prop -> SlicingTypes.sl_mark PdgMarks.pdg_select
val check_called_marks :
(PdgIndex.Signature.out_key * SlicingTypes.sl_mark) list ->
SlicingInternals.fct_slice -> SlicingTypes.sl_mark PdgMarks.select * bool
val fold_calls :
(Cil_types.stmt -> Fct_slice.CallInfo.t -> 'a -> 'a) ->
SlicingInternals.fct_slice -> 'a -> 'a
val change_call :
SlicingInternals.project ->
SlicingInternals.fct_slice ->
Cil_types.stmt -> SlicingInternals.called_fct option -> unit
val debug_marked_ff :
Format.formatter -> SlicingInternals.fct_slice -> unit
end