22
22
-export([module/2]).
23
23
-export([bs_clean_saves/1]).
24
24
-export([clean_labels/1]).
25
-import(lists, [member/2,map/2,foldl/3,mapfoldl/3,reverse/1,sort/1,all/2]).
25
-import(lists, [map/2,foldl/3,reverse/1]).
27
27
module({Mod,Exp,Attr,Fs0,_}, _Opt) ->
28
28
Order = [Lbl || {function,_,_,Lbl,_} <- Fs0],
242
242
replace(Is, [{bs_init_bits,{f,label(Lbl, D)},Sz,Words,R,F,Dst}|Acc], D);
243
243
replace([{bs_put_integer,{f,Lbl},Bits,Unit,Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
244
244
replace(Is, [{bs_put_integer,{f,label(Lbl, D)},Bits,Unit,Fl,Val}|Acc], D);
245
replace([{bs_put_utf8=I,{f,Lbl},Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
246
replace(Is, [{I,{f,label(Lbl, D)},Fl,Val}|Acc], D);
247
replace([{bs_put_utf16=I,{f,Lbl},Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
248
replace(Is, [{I,{f,label(Lbl, D)},Fl,Val}|Acc], D);
249
replace([{bs_put_utf32=I,{f,Lbl},Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
250
replace(Is, [{I,{f,label(Lbl, D)},Fl,Val}|Acc], D);
245
251
replace([{bs_put_binary,{f,Lbl},Bits,Unit,Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
246
252
replace(Is, [{bs_put_binary,{f,label(Lbl, D)},Bits,Unit,Fl,Val}|Acc], D);
247
253
replace([{bs_put_float,{f,Lbl},Bits,Unit,Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
251
257
replace([{bs_append,{f,Lbl},_,_,_,_,_,_,_}=I0|Is], Acc, D) when Lbl =/= 0 ->
252
258
I = setelement(2, I0, {f,label(Lbl, D)}),
253
259
replace(Is, [I|Acc], D);
260
replace([{bs_utf8_size=I,{f,Lbl},Src,Dst}|Is], Acc, D) when Lbl =/= 0 ->
261
replace(Is, [{I,{f,label(Lbl, D)},Src,Dst}|Acc], D);
262
replace([{bs_utf16_size=I,{f,Lbl},Src,Dst}|Is], Acc, D) when Lbl =/= 0 ->
263
replace(Is, [{I,{f,label(Lbl, D)},Src,Dst}|Acc], D);
254
264
replace([I|Is], Acc, D) ->
255
265
replace(Is, [I|Acc], D);
256
266
replace([], Acc, _) -> Acc.