Skip to content

Commit 34eed6f

Browse files
author
Hongbo Zhang
committed
make js interface clean
1 parent 1dd933e commit 34eed6f

20 files changed

+179
-150
lines changed

Diff for: jscomp/runtime/.runtimedepend

+44-40
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ caml_weak.cmi :
2424
js_primitive.cmi : js.cmj
2525
block.cmj : block.cmi
2626
block.cmx : block.cmi
27-
caml_array.cmj : js.cmj caml_array.cmi
28-
caml_array.cmx : js.cmx caml_array.cmi
27+
caml_array.cmj : caml_array.cmi
28+
caml_array.cmx : caml_array.cmi
2929
caml_backtrace.cmj : caml_backtrace.cmi
3030
caml_backtrace.cmx : caml_backtrace.cmi
3131
caml_basic.cmj : js.cmj caml_basic.cmi
@@ -36,58 +36,60 @@ caml_exceptions.cmj : caml_builtin_exceptions.cmi caml_exceptions.cmi
3636
caml_exceptions.cmx : caml_builtin_exceptions.cmx caml_exceptions.cmi
3737
caml_float.cmj : typed_array.cmj js.cmj caml_float.cmi
3838
caml_float.cmx : typed_array.cmx js.cmx caml_float.cmi
39-
caml_format.cmj : js.cmj caml_utils.cmi caml_format.cmi
40-
caml_format.cmx : js.cmx caml_utils.cmx caml_format.cmi
39+
caml_format.cmj : js_string.cmj js.cmj caml_utils.cmi caml_format.cmi
40+
caml_format.cmx : js_string.cmx js.cmx caml_utils.cmx caml_format.cmi
4141
caml_gc.cmj : caml_gc.cmi
4242
caml_gc.cmx : caml_gc.cmi
43-
caml_hash.cmj : js.cmj caml_queue.cmi caml_hash.cmi
44-
caml_hash.cmx : js.cmx caml_queue.cmx caml_hash.cmi
43+
caml_hash.cmj : js_string.cmj js.cmj caml_queue.cmi caml_hash.cmi
44+
caml_hash.cmx : js_string.cmx js.cmx caml_queue.cmx caml_hash.cmi
4545
caml_int32.cmj : caml_int32.cmi
4646
caml_int32.cmx : caml_int32.cmi
47-
caml_int64.cmj : typed_array.cmj js.cmj caml_utils.cmi caml_int32.cmi \
48-
caml_int64.cmi
49-
caml_int64.cmx : typed_array.cmx js.cmx caml_utils.cmx caml_int32.cmx \
50-
caml_int64.cmi
51-
caml_io.cmj : js.cmj
52-
caml_io.cmx : js.cmx
47+
caml_int64.cmj : typed_array.cmj js_string.cmj js.cmj caml_utils.cmi \
48+
caml_int32.cmi caml_int64.cmi
49+
caml_int64.cmx : typed_array.cmx js_string.cmx js.cmx caml_utils.cmx \
50+
caml_int32.cmx caml_int64.cmi
51+
caml_io.cmj : js_string.cmj js.cmj
52+
caml_io.cmx : js_string.cmx js.cmx
5353
caml_lexer.cmj : caml_lexer.cmi
5454
caml_lexer.cmx : caml_lexer.cmi
55-
caml_md5.cmj : js.cmj caml_md5.cmi
56-
caml_md5.cmx : js.cmx caml_md5.cmi
55+
caml_md5.cmj : js_string.cmj caml_md5.cmi
56+
caml_md5.cmx : js_string.cmx caml_md5.cmi
5757
caml_module.cmj :
5858
caml_module.cmx :
5959
caml_obj.cmj : js.cmj caml_obj.cmi
6060
caml_obj.cmx : js.cmx caml_obj.cmi
61-
caml_oo.cmj : js.cmj caml_oo.cmi
62-
caml_oo.cmx : js.cmx caml_oo.cmi
61+
caml_oo.cmj : js.cmj caml_array.cmi caml_oo.cmi
62+
caml_oo.cmx : js.cmx caml_array.cmx caml_oo.cmi
6363
caml_parser.cmj : caml_parser.cmi
6464
caml_parser.cmx : caml_parser.cmi
6565
caml_primitive.cmj : caml_primitive.cmi
6666
caml_primitive.cmx : caml_primitive.cmi
6767
caml_queue.cmj : caml_queue.cmi
6868
caml_queue.cmx : caml_queue.cmi
69-
caml_string.cmj : js.cmj caml_string.cmi
70-
caml_string.cmx : js.cmx caml_string.cmi
69+
caml_string.cmj : js_string.cmj js.cmj caml_string.cmi
70+
caml_string.cmx : js_string.cmx js.cmx caml_string.cmi
7171
caml_sys.cmj : js.cmj caml_sys.cmi
7272
caml_sys.cmx : js.cmx caml_sys.cmi
7373
caml_utils.cmj : caml_utils.cmi
7474
caml_utils.cmx : caml_utils.cmi
7575
caml_weak.cmj : js.cmj caml_array.cmi caml_weak.cmi
7676
caml_weak.cmx : js.cmx caml_array.cmx caml_weak.cmi
77-
curry.cmj : js.cmj caml_oo.cmi
78-
curry.cmx : js.cmx caml_oo.cmx
77+
curry.cmj : caml_oo.cmi caml_array.cmi
78+
curry.cmx : caml_oo.cmx caml_array.cmx
7979
js.cmj :
8080
js.cmx :
8181
js_primitive.cmj : js.cmj js_primitive.cmi
8282
js_primitive.cmx : js.cmx js_primitive.cmi
83+
js_string.cmj :
84+
js_string.cmx :
8385
js_unsafe.cmj : js.cmj
8486
js_unsafe.cmx : js.cmx
8587
typed_array.cmj :
8688
typed_array.cmx :
8789
block.cmo : block.cmi
8890
block.cmj : block.cmi
89-
caml_array.cmo : js.cmo caml_array.cmi
90-
caml_array.cmj : js.cmj caml_array.cmi
91+
caml_array.cmo : caml_array.cmi
92+
caml_array.cmj : caml_array.cmi
9193
caml_backtrace.cmo : caml_backtrace.cmi
9294
caml_backtrace.cmj : caml_backtrace.cmi
9395
caml_basic.cmo : js.cmo caml_basic.cmi
@@ -98,50 +100,52 @@ caml_exceptions.cmo : caml_builtin_exceptions.cmi caml_exceptions.cmi
98100
caml_exceptions.cmj : caml_builtin_exceptions.cmj caml_exceptions.cmi
99101
caml_float.cmo : typed_array.cmo js.cmo caml_float.cmi
100102
caml_float.cmj : typed_array.cmj js.cmj caml_float.cmi
101-
caml_format.cmo : js.cmo caml_utils.cmi caml_format.cmi
102-
caml_format.cmj : js.cmj caml_utils.cmj caml_format.cmi
103+
caml_format.cmo : js_string.cmo js.cmo caml_utils.cmi caml_format.cmi
104+
caml_format.cmj : js_string.cmj js.cmj caml_utils.cmj caml_format.cmi
103105
caml_gc.cmo : caml_gc.cmi
104106
caml_gc.cmj : caml_gc.cmi
105-
caml_hash.cmo : js.cmo caml_queue.cmi caml_hash.cmi
106-
caml_hash.cmj : js.cmj caml_queue.cmj caml_hash.cmi
107+
caml_hash.cmo : js_string.cmo js.cmo caml_queue.cmi caml_hash.cmi
108+
caml_hash.cmj : js_string.cmj js.cmj caml_queue.cmj caml_hash.cmi
107109
caml_int32.cmo : caml_int32.cmi
108110
caml_int32.cmj : caml_int32.cmi
109-
caml_int64.cmo : typed_array.cmo js.cmo caml_utils.cmi caml_int32.cmi \
110-
caml_int64.cmi
111-
caml_int64.cmj : typed_array.cmj js.cmj caml_utils.cmj caml_int32.cmj \
112-
caml_int64.cmi
113-
caml_io.cmo : js.cmo
114-
caml_io.cmj : js.cmj
111+
caml_int64.cmo : typed_array.cmo js_string.cmo js.cmo caml_utils.cmi \
112+
caml_int32.cmi caml_int64.cmi
113+
caml_int64.cmj : typed_array.cmj js_string.cmj js.cmj caml_utils.cmj \
114+
caml_int32.cmj caml_int64.cmi
115+
caml_io.cmo : js_string.cmo js.cmo
116+
caml_io.cmj : js_string.cmj js.cmj
115117
caml_lexer.cmo : caml_lexer.cmi
116118
caml_lexer.cmj : caml_lexer.cmi
117-
caml_md5.cmo : js.cmo caml_md5.cmi
118-
caml_md5.cmj : js.cmj caml_md5.cmi
119+
caml_md5.cmo : js_string.cmo caml_md5.cmi
120+
caml_md5.cmj : js_string.cmj caml_md5.cmi
119121
caml_module.cmo :
120122
caml_module.cmj :
121123
caml_obj.cmo : js.cmo caml_obj.cmi
122124
caml_obj.cmj : js.cmj caml_obj.cmi
123-
caml_oo.cmo : js.cmo caml_oo.cmi
124-
caml_oo.cmj : js.cmj caml_oo.cmi
125+
caml_oo.cmo : js.cmo caml_array.cmi caml_oo.cmi
126+
caml_oo.cmj : js.cmj caml_array.cmj caml_oo.cmi
125127
caml_parser.cmo : caml_parser.cmi
126128
caml_parser.cmj : caml_parser.cmi
127129
caml_primitive.cmo : caml_primitive.cmi
128130
caml_primitive.cmj : caml_primitive.cmi
129131
caml_queue.cmo : caml_queue.cmi
130132
caml_queue.cmj : caml_queue.cmi
131-
caml_string.cmo : js.cmo caml_string.cmi
132-
caml_string.cmj : js.cmj caml_string.cmi
133+
caml_string.cmo : js_string.cmo js.cmo caml_string.cmi
134+
caml_string.cmj : js_string.cmj js.cmj caml_string.cmi
133135
caml_sys.cmo : js.cmo caml_sys.cmi
134136
caml_sys.cmj : js.cmj caml_sys.cmi
135137
caml_utils.cmo : caml_utils.cmi
136138
caml_utils.cmj : caml_utils.cmi
137139
caml_weak.cmo : js.cmo caml_array.cmi caml_weak.cmi
138140
caml_weak.cmj : js.cmj caml_array.cmj caml_weak.cmi
139-
curry.cmo : js.cmo caml_oo.cmi
140-
curry.cmj : js.cmj caml_oo.cmj
141+
curry.cmo : caml_oo.cmi caml_array.cmi
142+
curry.cmj : caml_oo.cmj caml_array.cmj
141143
js.cmo :
142144
js.cmj :
143145
js_primitive.cmo : js.cmo js_primitive.cmi
144146
js_primitive.cmj : js.cmj js_primitive.cmi
147+
js_string.cmo :
148+
js_string.cmj :
145149
js_unsafe.cmo : js.cmo
146150
js_unsafe.cmj : js.cmj
147151
typed_array.cmo :

Diff for: jscomp/runtime/Makefile

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ OTHERS= caml_array caml_string \
88
caml_float caml_lexer caml_parser caml_primitive\
99
caml_format caml_md5 caml_queue caml_hash caml_weak\
1010
caml_backtrace caml_int32 caml_gc typed_array \
11-
js_primitive caml_basic caml_oo curry caml_module js_unsafe
11+
js_primitive caml_basic caml_oo curry caml_module js_unsafe \
12+
js_string
1213

1314
SOURCE_LIST= $(OTHERS) caml_builtin_exceptions block js
1415

@@ -18,6 +19,9 @@ caml_format.cmj caml_io.cmj: curry.cmj
1819

1920
$(addsuffix .cmj, $(OTHERS)): caml_builtin_exceptions.cmj block.cmj js.cmj
2021

22+
## since we use ppx
23+
$(addsuffix .cmi, $(OTHERS)): js.cmi
24+
2125
RUNTIME := $(addsuffix .cmj, $(SOURCE_LIST))
2226

2327

Diff for: jscomp/runtime/caml_array.ml

+6-3
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,13 @@
2424

2525

2626

27+
external new_uninitialized : int -> 'a array = "js_create_array"
28+
external append : 'a array -> 'a array -> 'a array = "js_array_append"
29+
external make : int -> 'a -> 'a array = "caml_make_vect"
2730

2831

2932
let caml_array_sub (x : 'a array) (offset : int) (len : int) =
30-
let result = Js.Array.new_uninitialized len in
33+
let result = new_uninitialized len in
3134
let j = ref 0 and i = ref offset in
3235
while !j < len do
3336
result.(!j) <- x.(!i);
@@ -58,7 +61,7 @@ let rec fill arr i l =
5861

5962
let caml_array_concat (l : 'a array list) : 'a array =
6063
let v = len 0 l in
61-
let result = Js.Array.new_uninitialized v in
64+
let result = new_uninitialized v in
6265
fill result 0 l ;
6366
result
6467

@@ -73,7 +76,7 @@ let caml_array_get xs index =
7376
else xs.(index)
7477

7578
let caml_make_vect len init =
76-
let b = Js.Array.new_uninitialized len in
79+
let b = new_uninitialized len in
7780
for i = 0 to len - 1 do
7881
b.(i) <- init
7982
done;

Diff for: jscomp/runtime/caml_array.mli

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525

2626

2727

28-
29-
30-
28+
external new_uninitialized : int -> 'a array = "js_create_array"
29+
external append : 'a array -> 'a array -> 'a array = "js_array_append"
30+
external make : int -> 'a -> 'a array = "caml_make_vect"
3131

3232
val caml_array_sub : 'a array -> int -> int -> 'a array
3333

Diff for: jscomp/runtime/caml_format.ml

+22-22
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
let repeat = Caml_utils.repeat
3333
let caml_failwith s = raise (Failure s)
3434
let caml_invalid_argument s= raise (Invalid_argument s )
35-
let (^) = Js.String.append
35+
let (^) = Js_string.append
3636
let (>>>) = Nativeint.shift_right_logical
3737

3838
let to_nat x = Nativeint.of_int x
@@ -89,7 +89,7 @@ let caml_int_of_string s =
8989
let i, sign, hbase = parse_sign_and_base s in
9090
let base = Nativeint.of_int @@ int_of_string_base hbase in
9191
let threshold = (-1n >>> 0) in
92-
let len =Js.String.length s in
92+
let len =Js_string.length s in
9393
let c = if i < len then s.[i] else '\000' in
9494
let d = to_nat @@ parse_digit c in
9595
let () =
@@ -133,7 +133,7 @@ let caml_int64_of_string s =
133133
| Bin ->
134134
9223372036854775807L
135135
in
136-
let len =Js.String.length s in
136+
let len =Js_string.length s in
137137
let c = if i < len then s.[i] else '\000' in
138138
let d = Int64.of_int @@ parse_digit c in
139139
let () =
@@ -192,7 +192,7 @@ let lowercase c =
192192
else c
193193

194194
let parse_format fmt =
195-
let len =Js.String.length fmt in
195+
let len =Js_string.length fmt in
196196
if len > 31 then
197197
raise @@ Invalid_argument "format_int: format too long" ;
198198
let rec aux (f : fmt) i : fmt =
@@ -205,7 +205,7 @@ let parse_format fmt =
205205
aux f (i + 1)
206206
| '+'|' '
207207
->
208-
f.signstyle <- Js.String.of_char c ;
208+
f.signstyle <- Js_string.of_char c ;
209209
aux f (i + 1)
210210
| '#' ->
211211
f.alternate <- true;
@@ -256,13 +256,13 @@ let parse_format fmt =
256256
| 'e' | 'f' | 'g'
257257
->
258258
f.signedconv <- true;
259-
f.conv <- Js.String.of_char c ;
259+
f.conv <- Js_string.of_char c ;
260260
aux f (i + 1)
261261
| 'E' | 'F' | 'G'
262262
->
263263
f.signedconv <- true;
264264
f.uppercase <- true;
265-
f.conv <- Js.String.of_char (lowercase c);
265+
f.conv <- Js_string.of_char (lowercase c);
266266
aux f (i + 1)
267267
| _ ->
268268
aux f (i + 1)
@@ -332,7 +332,7 @@ let finish_formatting ({
332332
done;
333333
begin
334334
if uppercase then
335-
buffer := !buffer ^ Js.String.toUpperCase rawbuffer
335+
buffer := !buffer ^ Js_string.toUpperCase rawbuffer
336336
else
337337
buffer := !buffer ^ rawbuffer
338338
end;
@@ -355,11 +355,11 @@ let aux f (i : nativeint) =
355355
else
356356
Nativeint.shift_right_logical i 0
357357
else i in
358-
let s = ref @@ Js.String.of_nativeint i ~base:(int_of_base f.base) in
358+
let s = ref @@ Js_string.of_nativeint i ~base:(int_of_base f.base) in
359359
if f.prec >= 0 then
360360
begin
361361
f.filter <- " ";
362-
let n = f.prec -Js.String.length !s in
362+
let n = f.prec -Js_string.length !s in
363363
if n > 0 then
364364
s := repeat n "0" [@bs] ^ !s
365365
end ;
@@ -482,7 +482,7 @@ let caml_int64_format fmt x =
482482
if f.prec >= 0 then
483483
begin
484484
f.filter <- " ";
485-
let n = f.prec -Js.String.length !s in
485+
let n = f.prec -Js_string.length !s in
486486
if n > 0 then
487487
s := repeat n "0" [@bs] ^ !s
488488
end;
@@ -517,10 +517,10 @@ let caml_format_float fmt x =
517517
3.3e+00
518518
]}
519519
*)
520-
let i =Js.String.length !s in
520+
let i =Js_string.length !s in
521521
if !s.[i-3] = 'e' then
522522
begin
523-
s := Js.String.slice !s 0 (i - 1) ^ "0" ^ Js.String.slice_rest !s (i - 1)
523+
s := Js_string.slice !s 0 (i - 1) ^ "0" ^ Js_string.slice_rest !s (i - 1)
524524
end
525525
| "f"
526526
->
@@ -530,19 +530,19 @@ let caml_format_float fmt x =
530530
| "g" ->
531531
let prec = if prec <> 0 then prec else 1 in
532532
s := Js.Float.to_exponential x (prec - 1);
533-
let j = Js.String.index_of !s "e" in
534-
let exp = Js.to_number @@ Js.String.slice_rest !s (j + 1) in
535-
if exp < -4 || x >= 1e21 ||Js.String.length (Js.Float.to_fixed x 0) > prec then
533+
let j = Js_string.index_of !s "e" in
534+
let exp = Js.to_number @@ Js_string.slice_rest !s (j + 1) in
535+
if exp < -4 || x >= 1e21 ||Js_string.length (Js.Float.to_fixed x 0) > prec then
536536
let i = ref (j - 1) in
537537
while !s.[!i] = '0' do
538538
decr i
539539
done;
540540
if !s.[!i] = '.' then
541541
decr i ;
542-
s := Js.String.slice !s 0 (!i+1) ^ Js.String.slice_rest !s j ;
543-
let i =Js.String.length !s in
542+
s := Js_string.slice !s 0 (!i+1) ^ Js_string.slice_rest !s j ;
543+
let i =Js_string.length !s in
544544
if !s.[i - 3] = 'e' then
545-
s := Js.String.slice !s 0 (i - 1) ^ "0" ^ Js.String.slice_rest !s (i - 1)
545+
s := Js_string.slice !s 0 (i - 1) ^ "0" ^ Js_string.slice_rest !s (i - 1)
546546
else ()
547547
else
548548
let p = ref prec in
@@ -552,17 +552,17 @@ let caml_format_float fmt x =
552552
s := Js.Float.to_fixed x !p
553553
end
554554
else
555-
while (s := Js.Float.to_fixed x !p;Js.String.length !s > prec + 1) do
555+
while (s := Js.Float.to_fixed x !p;Js_string.length !s > prec + 1) do
556556
decr p
557557
done ;
558558
if !p <> 0 then
559-
let k = ref @@Js.String.length !s - 1 in
559+
let k = ref @@Js_string.length !s - 1 in
560560
while !s.[!k] = '0' do
561561
decr k
562562
done ;
563563
if !s.[!k] = '.' then
564564
decr k ;
565-
s := Js.String.slice !s 0 (!k + 1)
565+
s := Js_string.slice !s 0 (!k + 1)
566566

567567
| _ -> ()
568568
end;

Diff for: jscomp/runtime/caml_hash.ml

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ let final_mix h =
5959
(* Nativeint.logand (!h ^ (!h >>> 16)) 0x3FFFFFFFn *)
6060

6161
let caml_hash_mix_string h s =
62-
let len =Js.String.length s in
62+
let len =Js_string.length s in
6363
let block = len / 4 - 1 in
6464
let hash = ref h in
6565
for i = 0 to block do

0 commit comments

Comments
 (0)