sig
type t
type t_mark = Fct_slice.Marks.t_mark
type t_pdg = PdgTypes.Pdg.t
type t_node = PdgTypes.Node.t
type t_node_key = PdgIndex.Key.t
type t_to_prop
val empty : Fct_slice.??.t_pdg -> Fct_slice.T.t_ff_marks
val empty_to_prop : Fct_slice.??.t_to_prop
val new_empty_slice : Fct_slice.T.t_fct_info -> Fct_slice.t_fct_slice
val new_copied_slice : Fct_slice.t_fct_slice -> Fct_slice.t_fct_slice
val new_empty_fi_marks : Fct_slice.T.t_fct_info -> Fct_slice.??.t
val fi_marks : Fct_slice.T.t_fct_info -> Fct_slice.??.t option
val get_fi_node_mark :
Fct_slice.T.t_fct_info -> Fct_slice.??.t_node_key -> Fct_slice.??.t_mark
val is_visible_top_input : Fct_slice.T.t_fct_info -> bool
val new_init_slice :
Fct_slice.T.t_fct_info -> Fct_slice.T.t_ff_marks -> Fct_slice.t_fct_slice
val get_ff_marks : Fct_slice.t_fct_slice -> Fct_slice.??.t
val merge :
Fct_slice.t_fct_slice -> Fct_slice.t_fct_slice -> Fct_slice.T.t_ff_marks
val get_node_mark :
Fct_slice.t_fct_slice -> Fct_slice.??.t_node_key -> Fct_slice.??.t_mark
val get_node_marks :
Fct_slice.t_fct_slice ->
Fct_slice.??.t_node_key -> Fct_slice.??.t_mark list
val get_sgn : Fct_slice.t_fct_slice -> Fct_slice.Marks.t_sig_marks option
val get_new_marks :
Fct_slice.t_fct_slice ->
Fct_slice.??.t_mark PdgMarks.t_select ->
Fct_slice.??.t_mark PdgMarks.t_select
val get_all_input_marks : Fct_slice.??.t -> Fct_slice.??.t_to_prop
val mark_and_propagate :
Fct_slice.??.t ->
?to_prop:Fct_slice.??.t_to_prop ->
Fct_slice.??.t_mark PdgMarks.t_select -> Fct_slice.??.t_to_prop
val mark_spare_nodes :
Fct_slice.t_fct_slice ->
Fct_slice.??.t_node list -> Fct_slice.??.t_to_prop
val mark_spare_call_nodes :
Fct_slice.t_fct_slice -> Fct_slice.T.t_call_id -> Fct_slice.??.t_to_prop
val mark_visible_output : Fct_slice.??.t -> unit
val mark_visible_inputs :
Fct_slice.??.t -> Fct_slice.??.t_to_prop -> Fct_slice.??.t_to_prop
val marks_for_caller_inputs :
Fct_slice.??.t_pdg ->
Fct_slice.??.t ->
Cil_types.stmt ->
Fct_slice.??.t_to_prop ->
Fct_slice.T.t_fct_info -> Fct_slice.??.t_mark PdgMarks.t_select * bool
val marks_for_call_outputs :
Fct_slice.??.t_to_prop ->
(Cil_types.stmt *
(PdgIndex.Signature.t_out_key * Fct_slice.??.t_mark) list)
list
val get_call_output_marks :
?spare_info:Fct_slice.CallInfo.t_call_id option ->
Fct_slice.CallInfo.t ->
(PdgIndex.Signature.t_out_key * Fct_slice.??.t_mark) list
val persistant_in_marks_to_prop :
Fct_slice.T.t_fct_info ->
Fct_slice.??.t_to_prop -> Fct_slice.??.t_mark PdgMarks.t_pdg_select
val check_called_marks :
(PdgIndex.Signature.t_out_key * Fct_slice.??.t_mark) list ->
Fct_slice.t_fct_slice -> Fct_slice.??.t_mark PdgMarks.t_select * bool
val fold_calls :
(Fct_slice.T.t_call_id -> Fct_slice.CallInfo.t -> 'a -> 'a) ->
Fct_slice.t_fct_slice -> 'a -> 'a
val change_call :
Fct_slice.T.t_project ->
Fct_slice.T.t_fct_slice ->
Fct_slice.T.t_call_id -> Fct_slice.T.t_called_fct option -> unit
val debug_ff_marks : Format.formatter -> Fct_slice.??.t -> unit
val debug_marked_ff : Format.formatter -> Fct_slice.T.t_fct_slice -> unit
end