@@ -67,6 +67,13 @@ module Mappings = struct
6767
6868 let to_string : t -> string = fun (Uninterpreted s ) -> s
6969
70+ type carries =
71+ { carry_source : int
72+ ; carry_line : int
73+ ; carry_col : int
74+ ; carry_name : int
75+ }
76+
7077 let update_carries_from_segment
7178 ~carry_source
7279 ~carry_line
@@ -78,12 +85,20 @@ module Mappings = struct
7885 (* Note: we don't care about the first field since we do linewise editing,
7986 and it is reset for every line. *)
8087 match Vlq64. decode_l str ~pos ~len with
81- | [ _gen_col ] -> carry_source, carry_line, carry_col, carry_name
88+ | [ _gen_col ] -> { carry_source; carry_line; carry_col; carry_name }
8289 | [ _gen_col; source; line; col ] ->
83- carry_source + source, carry_line + line, carry_col + col, carry_name
90+ { carry_source = carry_source + source
91+ ; carry_line = carry_line + line
92+ ; carry_col = carry_col + col
93+ ; carry_name
94+ }
8495 | [ _gen_col; source; line; col; name ] ->
85- carry_source + source, carry_line + line, carry_col + col, carry_name + name
86- | _ -> invalid_arg " Mapping.update_carries_from_segment"
96+ { carry_source = carry_source + source
97+ ; carry_line = carry_line + line
98+ ; carry_col = carry_col + col
99+ ; carry_name = carry_name + name
100+ }
101+ | _ -> invalid_arg " Mapping.update_carries_from_segment: invalid segment"
87102
88103 let update_carries_and_write_segment
89104 ~carry_source
@@ -133,13 +148,6 @@ module Mappings = struct
133148 in
134149 loop init pos (pos + len)
135150
136- type carries =
137- { carry_source : int
138- ; carry_line : int
139- ; carry_col : int
140- ; carry_name : int
141- }
142-
143151 let update_carries_from_line
144152 ~carry_source
145153 ~carry_line
@@ -155,17 +163,14 @@ module Mappings = struct
155163 ~init: { carry_source; carry_line; carry_col; carry_name }
156164 (fun acc str ~pos ~len ->
157165 let { carry_source; carry_line; carry_col; carry_name } = acc in
158- let carry_source, carry_line, carry_col, carry_name =
159- update_carries_from_segment
160- ~carry_source
161- ~carry_line
162- ~carry_col
163- ~carry_name
164- ~pos
165- ~len
166- str
167- in
168- { carry_source; carry_line; carry_col; carry_name })
166+ update_carries_from_segment
167+ ~carry_source
168+ ~carry_line
169+ ~carry_col
170+ ~carry_name
171+ ~pos
172+ ~len
173+ str)
169174
170175 let update_carries_and_write_line
171176 ~carry_source
@@ -335,32 +340,6 @@ module Mappings = struct
335340 in
336341 loop 0 0
337342
338- let sum_offsets_segment ~carry_source ~carry_line ~carry_col ~carry_name ~pos ~len str =
339- match Vlq64. decode_l str ~pos ~len with
340- | [ _gen_col ] -> { carry_source; carry_line; carry_col; carry_name }
341- | [ _gen_col; source; line; col ] ->
342- { carry_source = carry_source + source
343- ; carry_line = carry_line + line
344- ; carry_col = carry_col + col
345- ; carry_name
346- }
347- | [ _gen_col; source; line; col; name ] ->
348- { carry_source = carry_source + source
349- ; carry_line = carry_line + line
350- ; carry_col = carry_col + col
351- ; carry_name = carry_name + name
352- }
353- | _ -> invalid_arg " Mapping.sum_offsets_segment: invalid segment"
354-
355- let sum_offsets_line ~carry_source ~carry_line ~carry_col ~carry_name ~pos ~len str =
356- fold_on_segments
357- ~str
358- ~pos
359- ~len
360- ~init: { carry_source; carry_line; carry_col; carry_name }
361- (fun { carry_source; carry_line; carry_col; carry_name } str ~pos ~len ->
362- sum_offsets_segment ~carry_source ~carry_line ~carry_col ~carry_name ~pos ~len str)
363-
364343 (* Fold [f] over the ';'-separated groups in string [str.(pos..len - 1)]. *)
365344 let fold_on_lines ~str f ~init =
366345 let rec loop acc pos =
@@ -381,7 +360,7 @@ module Mappings = struct
381360 ~str: mapping
382361 ~init: { carry_source = 0 ; carry_line = 0 ; carry_col = 0 ; carry_name = 0 }
383362 (fun { carry_source; carry_line; carry_col; carry_name } str ~pos ~len ->
384- sum_offsets_line ~carry_source ~carry_line ~carry_col ~carry_name ~pos ~len str)
363+ update_carries_from_line ~carry_source ~carry_line ~carry_col ~carry_name ~pos ~len str)
385364
386365 let concat ~source_count1 ~name_count1 (Uninterpreted m1 ) (Uninterpreted m2 ) =
387366 match m1, m2 with
0 commit comments