functor (M : T_Mark) ->
sig
type tm = M.t
type t = SlicingMarks.F_SigMarks.tm PdgIndex.Signature.t
val empty : 'a PdgIndex.Signature.t
val pretty : Format.formatter -> M.t PdgIndex.Signature.t -> unit
val get_input_mark :
SlicingMarks.F_SigMarks.t -> int -> SlicingMarks.F_SigMarks.tm
val get_in_ctrl_mark :
SlicingMarks.F_SigMarks.t -> SlicingMarks.F_SigMarks.tm
val get_in_top_mark :
SlicingMarks.F_SigMarks.t -> SlicingMarks.F_SigMarks.tm
val get_all_input_marks :
SlicingMarks.F_SigMarks.t ->
(PdgIndex.Signature.t_in_key * SlicingMarks.F_SigMarks.tm) list
exception Visible
val raise_if_visible : unit -> 'a * M.t -> unit
val some_visible_out : M.t PdgIndex.Signature.t -> bool
val is_topin_visible : SlicingMarks.F_SigMarks.t -> bool
val ctrl_visible : SlicingMarks.F_SigMarks.t -> bool
val some_visible_in : SlicingMarks.F_SigMarks.t -> bool
val merge_inputs_m1_mark : M.t PdgIndex.Signature.t -> M.t
val get_input_loc_under_mark :
M.t PdgIndex.Signature.t -> Locations.Zone.t -> M.t
val something_visible : SlicingMarks.F_SigMarks.t -> bool
val combined_marks : M.t PdgIndex.Signature.t -> M.t
val add_spare : (int * M.t) list -> int -> (int * M.t) list
val get_called_marks :
M.t PdgIndex.Signature.t option -> M.t PdgIndex.Signature.t
val check_input :
M.t PdgIndex.Signature.t ->
(PdgIndex.Signature.t_in_key * M.t) list * bool ->
PdgIndex.Signature.t_in_key * M.t ->
(PdgIndex.Signature.t_in_key * M.t) list * bool
val check_input_marks :
M.t PdgIndex.Signature.t ->
(PdgIndex.Signature.t_in_key * M.t) list ->
(PdgIndex.Signature.t_in_key * M.t) list * bool
val check_called_input_marks :
M.t PdgIndex.Signature.t ->
M.t PdgIndex.Signature.t option ->
(PdgIndex.Signature.t_in_key * M.t) list * bool
val get_marked_out_zone :
SlicingMarks.T.t_pdg_mark PdgIndex.Signature.t ->
bool * Locations.Zone.t
end