Skip to content

Commit 922800f

Browse files
authored
Merge pull request #4270 from BuckleScript/no_deriving_abstract
get rid of deriving abstract in most parts
2 parents 3675cb2 + 6528c73 commit 922800f

35 files changed

+1180
-1037
lines changed

jscomp/main/builtin_cmi_datasets.ml

Lines changed: 3 additions & 3 deletions
Large diffs are not rendered by default.

jscomp/main/builtin_cmj_datasets.ml

Lines changed: 22 additions & 22 deletions
Large diffs are not rendered by default.

jscomp/others/belt_Map.ml

Lines changed: 59 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ module String = Belt_MapString
2727
*)
2828
module Dict = Belt_MapDict
2929

30-
(* module N = Belt_MapDict
31-
module A = Belt_Array *)
30+
3231

3332
type ('key, 'id ) id = ('key, 'id) Belt_Id.comparable
3433
type ('key, 'id ) cmp = ('key, 'id) Belt_Id.cmp
@@ -37,135 +36,135 @@ type ('k,'v,'id) t = {
3736
cmp: ('k,'id) cmp;
3837
data: ('k,'v, 'id) Dict.t
3938
}
40-
[@@bs.deriving abstract]
4139

4240

4341

4442

45-
let fromArray (type k) (type idx) data ~(id : (k,idx) id) =
43+
44+
let fromArray (type k idx) data ~(id : (k,idx) id) =
4645
let module M = (val id) in
4746
let cmp = M.cmp in
48-
t ~cmp ~data:(Dict.fromArray ~cmp data)
47+
{cmp; data = (Dict.fromArray ~cmp data)}
4948

5049
let remove m x =
51-
let cmp, odata = m |. (cmpGet, dataGet) in
50+
let {cmp; data=odata} = m in
5251
let newData = Dict.remove odata x ~cmp in
5352
if newData == odata then m
54-
else t ~cmp ~data:newData
53+
else {cmp; data = newData}
5554

5655
let removeMany m x =
57-
let cmp, odata = m |. (cmpGet, dataGet) in
56+
let {cmp; data=odata} = m in
5857
let newData = Dict.removeMany odata x ~cmp in
59-
t ~cmp ~data:newData
58+
{cmp; data = newData}
6059

6160
let set m key d =
62-
let cmp = cmpGet m in
63-
t ~cmp ~data:(Dict.set ~cmp (dataGet m) key d)
61+
let cmp = m.cmp in
62+
{cmp; data = Dict.set ~cmp m.data key d}
6463

6564
let mergeMany m e =
66-
let cmp = cmpGet m in
67-
t ~cmp ~data:(Dict.mergeMany ~cmp (dataGet m) e)
65+
let cmp = m.cmp in
66+
{cmp; data = Dict.mergeMany ~cmp m.data e}
6867

6968
let updateU m key f =
70-
let cmp = cmpGet m in
71-
t ~cmp ~data:(Dict.updateU ~cmp (dataGet m) key f )
69+
let cmp = m.cmp in
70+
{cmp; data = Dict.updateU ~cmp m.data key f }
7271
let update m key f = updateU m key (fun [@bs] a -> f a )
7372
let split m x =
74-
let cmp = cmpGet m in
75-
let (l,r),b = Dict.split ~cmp (dataGet m) x in
76-
(t ~cmp ~data:l, t ~cmp ~data:r), b
73+
let cmp = m.cmp in
74+
let (l,r),b = Dict.split ~cmp m.data x in
75+
({cmp; data=l}, {cmp; data=r}), b
7776

7877
let mergeU s1 s2 f =
79-
let cmp = cmpGet s1 in
80-
t ~cmp ~data:(Dict.mergeU ~cmp (dataGet s1) (dataGet s2) f)
78+
let cmp = s1.cmp in
79+
{cmp; data=(Dict.mergeU ~cmp (s1.data) (s2.data) f)}
8180

8281
let merge s1 s2 f =
8382
mergeU s1 s2 (fun [@bs] a b c -> f a b c)
8483

85-
let make (type key) (type idx) ~(id: (key, idx) id) =
84+
let make (type key idx) ~(id: (key, idx) id) =
8685
let module M = (val id) in
87-
t ~cmp:M.cmp ~data:Dict.empty
86+
{cmp = M.cmp; data = Dict.empty}
8887

8988
let isEmpty map =
90-
Dict.isEmpty (dataGet map)
89+
Dict.isEmpty map.data
9190

92-
let findFirstByU m f = Dict.findFirstByU (dataGet m) f
91+
let findFirstByU m f = Dict.findFirstByU m.data f
9392
let findFirstBy m f = findFirstByU m (fun [@bs] a b -> f a b)
94-
let forEachU m f = Dict.forEachU (dataGet m) f
93+
let forEachU m f = Dict.forEachU m.data f
9594
let forEach m f = forEachU m (fun [@bs] a b -> f a b)
96-
let reduceU m acc f = Dict.reduceU (dataGet m) acc f
95+
let reduceU m acc f = Dict.reduceU m.data acc f
9796
let reduce m acc f = reduceU m acc (fun[@bs] a b c -> f a b c )
98-
let everyU m f = Dict.everyU (dataGet m) f
97+
let everyU m f = Dict.everyU m.data f
9998
let every m f = everyU m (fun [@bs] a b -> f a b)
100-
let someU m f = Dict.someU (dataGet m) f
99+
let someU m f = Dict.someU m.data f
101100
let some m f = someU m (fun[@bs] a b -> f a b)
102101
let keepU m f =
103-
t ~cmp:(cmpGet m) ~data:(Dict.keepU (dataGet m) f)
102+
{cmp = m.cmp; data = (Dict.keepU m.data f)}
104103
let keep m f = keepU m (fun [@bs] a b -> f a b)
105104

106105
let partitionU m p =
107-
let cmp = cmpGet m in
108-
let l,r = m |. dataGet |. Dict.partitionU p in
109-
t ~cmp ~data:l, t ~cmp ~data:r
106+
let cmp = m.cmp in
107+
let l,r = m . data |. Dict.partitionU p in
108+
{cmp; data=l}, {cmp; data=r}
110109
let partition m p = partitionU m (fun [@bs] a b -> p a b)
111110

112111
let mapU m f =
113-
t ~cmp:(cmpGet m) ~data:(Dict.mapU (dataGet m) f)
112+
{cmp = m.cmp; data = Dict.mapU m.data f}
114113
let map m f = mapU m (fun [@bs] a -> f a)
115114
let mapWithKeyU m f =
116-
t ~cmp:(cmpGet m) ~data:(Dict.mapWithKeyU (dataGet m) f)
115+
{cmp = m.cmp; data = Dict.mapWithKeyU m.data f}
117116
let mapWithKey m f = mapWithKeyU m (fun [@bs] a b -> f a b)
118-
let size map = Dict.size (dataGet map)
119-
let toList map = Dict.toList (dataGet map)
120-
let toArray m = Dict.toArray (dataGet m)
121-
let keysToArray m = Dict.keysToArray (dataGet m)
122-
let valuesToArray m = Dict.valuesToArray (dataGet m)
123-
let minKey m = Dict.minKey (dataGet m)
124-
let minKeyUndefined m = Dict.minKeyUndefined (dataGet m)
125-
let maxKey m = Dict.maxKey (dataGet m)
126-
let maxKeyUndefined m = Dict.maxKeyUndefined (dataGet m)
127-
let minimum m = Dict.minimum (dataGet m)
128-
let minUndefined m = Dict.minUndefined (dataGet m)
129-
let maximum m = Dict.maximum (dataGet m)
130-
let maxUndefined m = Dict.maxUndefined (dataGet m)
117+
let size map = Dict.size map.data
118+
let toList map = Dict.toList map.data
119+
let toArray m = Dict.toArray m.data
120+
let keysToArray m = Dict.keysToArray m.data
121+
let valuesToArray m = Dict.valuesToArray m.data
122+
let minKey m = Dict.minKey m.data
123+
let minKeyUndefined m = Dict.minKeyUndefined m.data
124+
let maxKey m = Dict.maxKey m.data
125+
let maxKeyUndefined m = Dict.maxKeyUndefined m.data
126+
let minimum m = Dict.minimum m.data
127+
let minUndefined m = Dict.minUndefined m.data
128+
let maximum m = Dict.maximum m.data
129+
let maxUndefined m = Dict.maxUndefined m.data
131130

132131
let get map x =
133-
Dict.get ~cmp:(cmpGet map) (dataGet map) x
132+
Dict.get ~cmp:map.cmp map.data x
134133

135134
let getUndefined map x =
136-
Dict.getUndefined ~cmp:(cmpGet map) (dataGet map) x
135+
Dict.getUndefined ~cmp:map.cmp map.data x
137136

138137
let getWithDefault map x def =
139-
Dict.getWithDefault ~cmp:(cmpGet map) (dataGet map) x def
138+
Dict.getWithDefault ~cmp:map.cmp map.data x def
140139

141140
let getExn map x =
142-
Dict.getExn ~cmp:(cmpGet map) (dataGet map) x
141+
Dict.getExn ~cmp:map.cmp map.data x
143142

144143
let has map x =
145-
Dict.has ~cmp:(cmpGet map) (dataGet map) x
144+
Dict.has ~cmp:map.cmp map.data x
146145

147146
let checkInvariantInternal m =
148-
Dict.checkInvariantInternal (dataGet m)
147+
Dict.checkInvariantInternal m.data
149148

150149
let eqU m1 m2 veq =
151-
Dict.eqU ~kcmp:(cmpGet m1) ~veq (dataGet m1) (dataGet m2)
150+
Dict.eqU ~kcmp:m1.cmp ~veq m1.data m2.data
152151
let eq m1 m2 veq = eqU m1 m2 (fun[@bs] a b -> veq a b)
153152

154153
let cmpU m1 m2 vcmp =
155-
Dict.cmpU ~kcmp:(cmpGet m1) ~vcmp (dataGet m1) (dataGet m2)
154+
Dict.cmpU ~kcmp:m1.cmp ~vcmp m1.data m2.data
156155
let cmp m1 m2 vcmp = cmpU m1 m2 (fun [@bs] a b -> vcmp a b)
157156

158-
let getData = dataGet
157+
let getData m = m.data
159158

160-
let getId (type key) (type identity) (m : (key,_,identity) t) : (key, identity) id =
159+
let getId (type key identity) (m : (key,_,identity) t) : (key, identity) id =
161160
let module T = struct
162161
type nonrec identity = identity
163162
type nonrec t = key
164-
let cmp = cmpGet m
163+
let cmp = m.cmp
165164
end in
166165
(module T )
167166

168-
let packIdData (type key) (type idx) ~(id : (key, idx) id) ~data =
167+
let packIdData (type key idx) ~(id : (key, idx) id) ~data =
169168
let module M = (val id) in
170-
t ~cmp:M.cmp ~data
169+
{cmp = M.cmp ; data}
171170

0 commit comments

Comments
 (0)