method vdef def =
match def with
| FUNDEF (_, sname, _, _, _) ->
begin
let funcname = Metrics_base.extract_fundef_name sname in
local_metrics :=
{!local_metrics with
cfile_name = get_filename def;
cfunc_name = funcname;
cfuncs = 1; };
Metrics.debug
~level:1 "Definition of function %s encountered@." funcname;
self#incr_funcs global_metrics;
self#add_to_functions_with_source funcname;
Cil.ChangeDoChildrenPost
([def],
fun _ ->
begin
if !local_metrics <> empty_metrics
then self#record_and_clear !local_metrics;
[def]
end
);
end
| DECDEF _
| TYPEDEF _
| ONLYTYPEDEF _
| GLOBASM _
| PRAGMA _
| LINKAGE _
| TRANSFORMER _
| EXPRTRANSFORMER _
| GLOBANNOT _ -> Cil.DoChildren;