Module Annot


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
module PI: PdgTypes.InternalPdg
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)