method private reached_vi vi =
if Metrics_base.consider_function vi && Varinfo.Set.mem vi unseen then
match self#current_kf with
| None ->
(match current_initializer with
| None -> assert false
| Some vinit ->
Format.fprintf fmt
"@[<h>Initializer of %s references %s (at %a)@]@ "
vinit.vname vi.vname Location.pretty vi.vdecl
)
| Some f ->
if Varinfo.Set.mem (Kernel_function.get_vi f) semantic then
let mess =
match self#current_stmt with
| Some {skind = Instr (Call (_, {enode = Lval (Var v, _)}, _, _))}
when Varinfo.equal v vi -> "calls"
| _ -> "references"
in
Format.fprintf fmt
"@[<h>Function %a %s %s (at %a)@]@ "
Kernel_function.pretty f mess vi.vname
Location.pretty (Cil.CurrentLoc.get ())