method private visit_function vi =
if Metrics_base.consider_function vi then
let kf = Globals.Functions.get vi in
let self = (self :> Visitor.frama_c_visitor) in
(* Visit the spec. There might be references to function pointers in
the assigns *)
let spec = Kernel_function.get_spec ~populate:false kf in
ignore (Visitor.visitFramacFunspec self spec);
(try
(* Visit the body if we have one *)
let fundec = Kernel_function.get_definition kf in
ignore (Visitor.visitFramacFunction self fundec);
with Kernel_function.No_Definition -> ())