module Annot: sig
.. end
find the nodes needed for the annotation :
the first list correspond to control dependancies,
the second list correspond to the declarations of the variables,
and the third part (node,z_part) list, undef_loc)
correspond to data dependencies.
Raises Not_found
when the statement is unreachable
module M: Macros
module G: PdgTypes.G
module Dpd: PdgTypes.Dpd
module FI: PdgIndex.FctIndex
module Key: PdgIndex.Key
val add_info_nodes : Sets.t_pdg ->
(Sets.t_node * Sets.t_loc option) list * Sets.t_loc option ->
Db.Properties.Interp.To_zone.t ->
(Sets.t_node * Sets.t_loc option) list * Sets.t_loc option
val zone_info_nodes : Sets.t_pdg ->
Db.Properties.Interp.To_zone.t list * Cilutil.VarinfoSet.t ->
Db.Pdg.t_node list *
((Sets.t_node * Sets.t_loc option) list * Sets.t_loc option)
val find_nodes_for_function_contract : Sets.t_pdg ->
(Kernel_function.t ->
Db.Properties.Interp.To_zone.t list * Cilutil.VarinfoSet.t) ->
Db.Pdg.t_node list *
((Sets.t_node * Sets.t_loc option) list * Sets.t_loc option)
val find_fun_precond_nodes : Sets.t_pdg ->
Cil_types.predicate ->
Db.Pdg.t_node list *
((Sets.t_node * Sets.t_loc option) list * Sets.t_loc option)
val find_fun_postcond_nodes : Sets.t_pdg ->
Cil_types.predicate ->
Db.Pdg.t_node list *
((Sets.t_node * Sets.t_loc option) list * Sets.t_loc option)
val find_fun_variant_nodes : Sets.t_pdg ->
Cil_types.term ->
Db.Pdg.t_node list *
((Sets.t_node * Sets.t_loc option) list * Sets.t_loc option)
val find_code_annot_nodes : Sets.t_pdg ->
before:bool ->
Cil_types.stmt ->
Cil_types.code_annotation ->
Db.Pdg.t_node list * Db.Pdg.t_node list *
((Sets.t_node * Sets.t_loc option) list * Sets.t_loc option)