Skip to content

Commit 5ec5738

Browse files
committed
remove some intermediate varaibles
1 parent 8b76865 commit 5ec5738

File tree

3 files changed

+31
-42
lines changed

3 files changed

+31
-42
lines changed

jscomp/others/belt_internalAVLset.ml

+5-6
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ let rec copy n =
5454
match n with
5555
| None -> n
5656
| Some n ->
57-
let l,r = n.left, n.right in
58-
Some { left = (copy l) ; right = (copy r);
57+
Some { left = (copy n.left) ; right = (copy n.right);
5958
value = n.value; height = n.height}
6059

6160
(* Creates a new node with leftGet son l, value v and right son r.
@@ -91,8 +90,8 @@ let bal l v r =
9190
create ll lv (create lr v r)
9291
else begin
9392
(* [lr] could not be None*)
94-
let {left = lrl; value = lrv; right = lrr} = lr |. unsafeCoerce in
95-
create (create ll lv lrl) lrv (create lrr v r)
93+
let lr = lr |. unsafeCoerce in
94+
create (create ll lv lr.left) lr.value (create lr.right v r)
9695
end
9796
end else if hr > hl + 2 then begin
9897
(* [r] could not be None *)
@@ -101,8 +100,8 @@ let bal l v r =
101100
create (create l v rl) rv rr
102101
else begin
103102
(* [rl] could not be None *)
104-
let {left = rll; value = rlv; right = rlr} = rl |. unsafeCoerce in
105-
create (create l v rll) rlv (create rlr rv rr)
103+
let rl = rl |. unsafeCoerce in
104+
create (create l v rl.left) rl.value (create rl.right rv rr)
106105
end
107106
end else
108107
Some {left = l ; value = v ; right = r; height = (if hl >= hr then hl + 1 else hr + 1)}

lib/es6/belt_internalAVLset.js

+13-18
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,16 @@ function treeHeight(n) {
1313
}
1414

1515
function copy(n) {
16-
if (n === undefined) {
16+
if (n !== undefined) {
17+
return {
18+
value: n.value,
19+
height: n.height,
20+
left: copy(n.left),
21+
right: copy(n.right)
22+
};
23+
} else {
1724
return n;
1825
}
19-
var l = n.left;
20-
var r = n.right;
21-
return {
22-
value: n.value,
23-
height: n.height,
24-
left: copy(l),
25-
right: copy(r)
26-
};
2726
}
2827

2928
function create(l, v, r) {
@@ -67,11 +66,9 @@ function bal(l, v, r) {
6766
var lr = l.right;
6867
if (heightGe(ll, lr)) {
6968
return create(ll, lv, create(lr, v, r));
69+
} else {
70+
return create(create(ll, lv, lr.left), lr.value, create(lr.right, v, r));
7071
}
71-
var lrv = lr.value;
72-
var lrl = lr.left;
73-
var lrr = lr.right;
74-
return create(create(ll, lv, lrl), lrv, create(lrr, v, r));
7572
}
7673
if (hr <= (hl + 2 | 0)) {
7774
return {
@@ -86,11 +83,9 @@ function bal(l, v, r) {
8683
var rr = r.right;
8784
if (heightGe(rr, rl)) {
8885
return create(create(l, v, rl), rv, rr);
86+
} else {
87+
return create(create(l, v, rl.left), rl.value, create(rl.right, rv, rr));
8988
}
90-
var rlv = rl.value;
91-
var rll = rl.left;
92-
var rlr = rl.right;
93-
return create(create(l, v, rll), rlv, create(rlr, rv, rr));
9489
}
9590

9691
function min0Aux(_n) {
@@ -382,7 +377,7 @@ function checkInvariantInternal(_v) {
382377
var r = v.right;
383378
var diff = treeHeight(l) - treeHeight(r) | 0;
384379
if (!(diff <= 2 && diff >= -2)) {
385-
throw new Error("File \"belt_internalAVLset.ml\", line 301, characters 6-12");
380+
throw new Error("File \"belt_internalAVLset.ml\", line 300, characters 6-12");
386381
}
387382
checkInvariantInternal(l);
388383
_v = r;

lib/js/belt_internalAVLset.js

+13-18
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,16 @@ function treeHeight(n) {
1313
}
1414

1515
function copy(n) {
16-
if (n === undefined) {
16+
if (n !== undefined) {
17+
return {
18+
value: n.value,
19+
height: n.height,
20+
left: copy(n.left),
21+
right: copy(n.right)
22+
};
23+
} else {
1724
return n;
1825
}
19-
var l = n.left;
20-
var r = n.right;
21-
return {
22-
value: n.value,
23-
height: n.height,
24-
left: copy(l),
25-
right: copy(r)
26-
};
2726
}
2827

2928
function create(l, v, r) {
@@ -67,11 +66,9 @@ function bal(l, v, r) {
6766
var lr = l.right;
6867
if (heightGe(ll, lr)) {
6968
return create(ll, lv, create(lr, v, r));
69+
} else {
70+
return create(create(ll, lv, lr.left), lr.value, create(lr.right, v, r));
7071
}
71-
var lrv = lr.value;
72-
var lrl = lr.left;
73-
var lrr = lr.right;
74-
return create(create(ll, lv, lrl), lrv, create(lrr, v, r));
7572
}
7673
if (hr <= (hl + 2 | 0)) {
7774
return {
@@ -86,11 +83,9 @@ function bal(l, v, r) {
8683
var rr = r.right;
8784
if (heightGe(rr, rl)) {
8885
return create(create(l, v, rl), rv, rr);
86+
} else {
87+
return create(create(l, v, rl.left), rl.value, create(rl.right, rv, rr));
8988
}
90-
var rlv = rl.value;
91-
var rll = rl.left;
92-
var rlr = rl.right;
93-
return create(create(l, v, rll), rlv, create(rlr, rv, rr));
9489
}
9590

9691
function min0Aux(_n) {
@@ -382,7 +377,7 @@ function checkInvariantInternal(_v) {
382377
var r = v.right;
383378
var diff = treeHeight(l) - treeHeight(r) | 0;
384379
if (!(diff <= 2 && diff >= -2)) {
385-
throw new Error("File \"belt_internalAVLset.ml\", line 301, characters 6-12");
380+
throw new Error("File \"belt_internalAVLset.ml\", line 300, characters 6-12");
386381
}
387382
checkInvariantInternal(l);
388383
_v = r;

0 commit comments

Comments
 (0)