Skip to content

Commit 6fadcbe

Browse files
committed
100% coverage for Array module, simplify some code path
1 parent fc13e6f commit 6fadcbe

File tree

4 files changed

+360
-167
lines changed

4 files changed

+360
-167
lines changed

jscomp/others/belt_Array.ml

+6-4
Original file line numberDiff line numberDiff line change
@@ -225,23 +225,25 @@ let blitUnsafe ~src:a1 ~srcOffset:srcofs1 ~dst:a2 ~dstOffset:srcofs2 ~len:blitL
225225
setUnsafe a2 (j + srcofs2) (getUnsafe a1 (j + srcofs1))
226226
done
227227

228-
let blit ~src:a1 ~srcOffset:ofs1 ~dst:a2 ~dstOffset:ofs2 ~len =
229-
if len > 0 then
228+
(* We don't need check [blitLength] since when [blitLength < 0] the
229+
for loop will be nop
230+
*)
231+
let blit ~src:a1 ~srcOffset:ofs1 ~dst:a2 ~dstOffset:ofs2 ~len =
230232
let lena1 = length a1 in
231233
let lena2 = length a2 in
232234
let srcofs1 = if ofs1 < 0 then max (lena1 + ofs1) 0 else ofs1 in
233235
let srcofs2 = if ofs2 < 0 then max (lena2 + ofs2) 0 else ofs2 in
234236
let blitLength =
235237
min len (min (lena1 - srcofs1) (lena2 - srcofs2)) in
236238
(* blitUnsafe a1 srcofs1 a2 srcofs2 blitLength *)
237-
if srcofs2 <= srcofs1 then
239+
(if srcofs2 <= srcofs1 then
238240
for j = 0 to blitLength - 1 do
239241
setUnsafe a2 (j + srcofs2) (getUnsafe a1 (j + srcofs1))
240242
done
241243
else
242244
for j = blitLength - 1 downto 0 do
243245
setUnsafe a2 (j + srcofs2) (getUnsafe a1 (j + srcofs1))
244-
done
246+
done)
245247

246248
let forEachU a f =
247249
for i = 0 to length a - 1 do f(getUnsafe a i) [@bs] done

0 commit comments

Comments
 (0)