let add n kf pdg len fd list =
match !Pdg.node_key n with
| Key.SigKey (Signature.In Signature.InCtrl) ->
(* do not consider node [InCtrl] *)
list
| Key.VarDecl vi when not (Kernel.LibEntry.get () && vi.vglob) ->
(* do not consider variable declaration,
except if libEntry is set and they are globals
(i.e. we could have no further info about them) *)
list
| _ ->
Security_slicing_parameters.debug ~level:2 "adding node %a (in %s)"
(!Pdg.pretty_node false) n
(Kernel_function.get_name kf);
{ node = n; kf = kf; pdg = pdg;
callstack_length = len; from_deep = fd }
:: list