sig
type t = SlicingTypes.sl_select
val dyn_t : SlicingTypes.Sl_select.t Type.t
type set = SlicingCmds.set
module S :
sig
type t = SlicingTypes.Fct_user_crit.t Cil_datatype.Varinfo.Map.t
val ty : t Type.t
val name : string
val descr : t Descr.t
val packed_descr : Structural_descr.pack
val reprs : t list
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val pretty_code : Format.formatter -> t -> unit
val internal_pretty_code :
Type.precedence -> Format.formatter -> t -> unit
val pretty : Format.formatter -> t -> unit
val varname : t -> string
val mem_project : (Project_skeleton.t -> bool) -> t -> bool
val copy : t -> t
end
val dyn_set : Api.Select.S.t Type.t
val empty_selects : Api.Select.S.t
val select_stmt :
Api.Select.S.t ->
spare:bool -> Cil_datatype.Stmt.t -> Kernel_function.t -> Api.Select.S.t
val select_stmt_ctrl :
Api.Select.S.t ->
spare:bool -> Cil_datatype.Stmt.t -> Kernel_function.t -> Api.Select.S.t
val select_stmt_lval_rw :
Api.Select.S.t ->
SlicingTypes.Sl_mark.t ->
rd:Datatype.String.Set.t ->
wr:Datatype.String.Set.t ->
Cil_datatype.Stmt.t ->
eval:Cil_datatype.Stmt.t -> Kernel_function.t -> Api.Select.S.t
val select_stmt_lval :
Api.Select.S.t ->
SlicingTypes.Sl_mark.t ->
Datatype.String.Set.t ->
before:bool ->
Cil_datatype.Stmt.t ->
eval:Cil_datatype.Stmt.t -> Kernel_function.t -> Api.Select.S.t
val select_stmt_annots :
Api.Select.S.t ->
SlicingTypes.Sl_mark.t ->
spare:bool ->
threat:bool ->
user_assert:bool ->
slicing_pragma:bool ->
loop_inv:bool ->
loop_var:bool ->
Cil_datatype.Stmt.t -> Kernel_function.t -> Api.Select.S.t
val select_func_lval :
Api.Select.S.t ->
SlicingTypes.Sl_mark.t ->
Datatype.String.Set.t -> Kernel_function.t -> Api.Select.S.t
val select_func_lval_rw :
Api.Select.S.t ->
SlicingTypes.Sl_mark.t ->
rd:Datatype.String.Set.t ->
wr:Datatype.String.Set.t ->
eval:Cil_datatype.Stmt.t -> Kernel_function.t -> Api.Select.S.t
val select_func_return :
Api.Select.S.t -> spare:bool -> Kernel_function.t -> Api.Select.S.t
val select_func_calls_to :
Api.Select.S.t -> spare:bool -> Kernel_function.t -> Api.Select.S.t
val select_func_calls_into :
Api.Select.S.t -> spare:bool -> Kernel_function.t -> Api.Select.S.t
val select_func_annots :
Api.Select.S.t ->
SlicingTypes.Sl_mark.t ->
spare:bool ->
threat:bool ->
user_assert:bool ->
slicing_pragma:bool ->
loop_inv:bool -> loop_var:bool -> Kernel_function.t -> Api.Select.S.t
val select_func_zone :
SlicingCmds.set ->
SlicingTypes.sl_mark ->
Locations.Zone.t -> Cil_types.kernel_function -> SlicingCmds.set
val select_stmt_term :
SlicingCmds.set ->
SlicingTypes.sl_mark ->
Cil_types.term ->
Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
val select_stmt_pred :
SlicingCmds.set ->
SlicingTypes.sl_mark ->
Cil_types.predicate ->
Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
val select_stmt_annot :
SlicingCmds.set ->
SlicingTypes.sl_mark ->
spare:bool ->
Cil_types.code_annotation ->
Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
val select_stmt_zone :
SlicingCmds.set ->
SlicingTypes.sl_mark ->
Locations.Zone.t ->
before:bool ->
Cil_types.stmt -> Cil_types.kernel_function -> SlicingCmds.set
val select_pdg_nodes :
SlicingCmds.set ->
SlicingTypes.sl_mark ->
PdgTypes.Node.t list -> Cil_types.kernel_function -> SlicingCmds.set
val get_function : SlicingTypes.sl_select -> Cil_types.kernel_function
val merge_internal :
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val add_to_selects_internal :
Cil_datatype.Varinfo.Map.key * SlicingInternals.fct_user_crit ->
SlicingInternals.fct_user_crit Cil_datatype.Varinfo.Map.t ->
SlicingInternals.fct_user_crit Cil_datatype.Varinfo.Map.t
val iter_selects_internal :
(Cil_datatype.Varinfo.Map.key * 'a -> unit) ->
'a Cil_datatype.Varinfo.Map.t -> unit
val fold_selects_internal :
('a -> Cil_datatype.Varinfo.Map.key * 'b -> 'a) ->
'a -> 'b Cil_datatype.Varinfo.Map.t -> 'a
val select_stmt_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Cil_types.stmt ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_label_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Cil_types.logic_label ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_min_call_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Cil_types.stmt ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_stmt_zone_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Cil_types.stmt ->
before:bool ->
Locations.Zone.t ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_zone_at_entry_point_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Locations.Zone.t ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_zone_at_end_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Locations.Zone.t ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_modified_output_zone_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Locations.Zone.t ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_stmt_ctrl_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Cil_types.stmt -> Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_entry_point_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_return_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_decl_var_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
Cil_types.varinfo ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val select_pdg_nodes_internal :
Kernel_function.t ->
?select:Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit ->
PdgTypes.Node.t list ->
SlicingTypes.sl_mark ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit
val pretty :
Stdlib.Format.formatter ->
Cil_datatype.Varinfo.t * SlicingInternals.fct_user_crit -> unit
end