1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
(** Initializer of .labels file *)
open Commons
let compute ?(force=false) data =
if force then Data_labels.clear data;
let open Instrument in
let f_lbls id info =
let tag = info.li_tag in
let current_loc = location_string info.li_loc in
Data_labels.update data ~force ~tag ~current_loc ~status:Data_labels.Unknown id
in
let f_bind info =
let tag = info.bi_tag in
let id = info.bi_id in
let current_loc = location_string info.bi_loc in
Data_labels.update data ~force ~tag ~current_loc ~status:Data_labels.Unknown id;
in
let f id info =
match info with
| Instrument.Label linfo -> f_lbls id linfo
| Instrument.Binding binfo -> List.iter (fun bind -> f_bind bind) binfo
in
Instrument.iter f;