Skip to content

Commit 1840190

Browse files
committed
better handling M.q (rescript-lang#224)
1 parent 32f6ff2 commit 1840190

23 files changed

+561
-547
lines changed

jscomp/lam_pass_lets_dce.ml

+1-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ let lets_helper (count_var : Ident.t -> used_info) lam =
167167
| _, (Lconst (Const_base (
168168
Const_int _ | Const_char _ | Const_float _ | Const_int32 _
169169
| Const_nativeint _ ))
170-
(* | Lprim (Lambda.Pfield (_), [Lprim (Lambda.Pgetglobal _, _)] ) *)
170+
| Lprim (Lambda.Pfield (_), [Lprim (Lambda.Pgetglobal _, _)] )
171171
)
172172
(* Const_int64 is no longer primitive
173173
Note for some constant which is not

jscomp/runtime/caml_format.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ var Caml_builtin_exceptions = require("./caml_builtin_exceptions");
66
var Caml_utils = require("./caml_utils");
77
var Caml_string = require("./caml_string");
88

9-
var repeat = Caml_utils.repeat;
10-
119
function caml_failwith(s) {
1210
throw [
1311
Caml_builtin_exceptions.failure,
@@ -596,7 +594,7 @@ function caml_format_int(fmt, i) {
596594
f$1[/* filter */2] = " ";
597595
var n = f$1[/* prec */9] - s.length;
598596
if (n > 0) {
599-
s = repeat(n, "0") + s;
597+
s = Caml_utils.repeat(n, "0") + s;
600598
}
601599

602600
}
@@ -714,7 +712,7 @@ function caml_int64_format(fmt, x) {
714712
f[/* filter */2] = " ";
715713
var n = f[/* prec */9] - s.length;
716714
if (n > 0) {
717-
s = repeat(n, "0") + s;
715+
s = Caml_utils.repeat(n, "0") + s;
718716
}
719717

720718
}
@@ -840,6 +838,8 @@ function (s) {
840838

841839
);
842840

841+
var repeat = Caml_utils.repeat;
842+
843843
var caml_nativeint_format = caml_format_int;
844844

845845
var caml_int32_format = caml_format_int;

jscomp/stdlib/arg.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
var Caml_builtin_exceptions = require("../runtime/caml_builtin_exceptions");
55
var Caml_obj = require("../runtime/caml_obj");
6+
var Bytes = require("./bytes");
67
var Pervasives = require("./pervasives");
78
var Caml_format = require("../runtime/caml_format");
89
var Sys = require("./sys");
@@ -11,6 +12,7 @@ var Buffer = require("./buffer");
1112
var Caml_curry = require("../runtime/caml_curry");
1213
var $$String = require("./string");
1314
var List = require("./list");
15+
var Caml_string = require("../runtime/caml_string");
1416

1517
var Bad = {
1618
0: "Arg.Bad",
@@ -863,7 +865,7 @@ function parse_dynamic(l, f, msg) {
863865
function second_word(s) {
864866
var len = s.length;
865867
try {
866-
var _n = $$String.index(s, /* " " */32);
868+
var _n = Bytes.index(Caml_string.bytes_of_string(s), /* " " */32);
867869
while(true) {
868870
var n = _n;
869871
if (n >= len) {
@@ -915,7 +917,8 @@ function align($staropt$star, speclist) {
915917
else if (spec.tag === 11) {
916918
var msg = ksd[2];
917919
var cutcol = second_word(msg);
918-
var spaces = $$String.make(Pervasives.max(0, len$2 - cutcol) + 3, /* " " */32);
920+
var n = Pervasives.max(0, len$2 - cutcol) + 3;
921+
var spaces = Caml_string.bytes_to_string(Bytes.make(n, /* " " */32));
919922
return /* tuple */[
920923
kwd,
921924
spec,
@@ -935,7 +938,7 @@ function align($staropt$star, speclist) {
935938
];
936939
}
937940
else {
938-
var spaces$1 = $$String.make(diff, /* " " */32);
941+
var spaces$1 = Caml_string.bytes_to_string(Bytes.make(diff, /* " " */32));
939942
var prefix = $$String.sub(msg$1, 0, cutcol$1);
940943
var suffix = $$String.sub(msg$1, cutcol$1, msg$1.length - cutcol$1);
941944
return /* tuple */[

jscomp/stdlib/camlinternalFormat.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ function string_of_formatting_lit(formatting_lit) {
673673
case 1 :
674674
return formatting_lit[0];
675675
case 2 :
676-
return "@" + $$String.make(1, formatting_lit[0]);
676+
return "@" + Caml_string.bytes_to_string(Bytes.make(1, formatting_lit[0]));
677677

678678
}
679679
}
@@ -3697,7 +3697,7 @@ function format_of_aconv(iconv, c) {
36973697
break;
36983698

36993699
}
3700-
return $$String.concat($$String.make(1, c), seps);
3700+
return $$String.concat(Caml_string.bytes_to_string(Bytes.make(1, c)), seps);
37013701
}
37023702

37033703
function format_of_fconv(fconv, prec) {

jscomp/stdlib/format.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33

44
var Caml_builtin_exceptions = require("../runtime/caml_builtin_exceptions");
55
var Caml_obj = require("../runtime/caml_obj");
6+
var Bytes = require("./bytes");
67
var Caml_io = require("../runtime/caml_io");
78
var Pervasives = require("./pervasives");
89
var Buffer = require("./buffer");
910
var Caml_curry = require("../runtime/caml_curry");
1011
var $$String = require("./string");
12+
var Caml_string = require("../runtime/caml_string");
1113
var CamlinternalFormat = require("./camlinternalFormat");
1214

1315
function add_queue(x, q) {
@@ -670,7 +672,7 @@ function pp_print_bool(state, b) {
670672
}
671673

672674
function pp_print_char(state, c) {
673-
return pp_print_as(state, 1, $$String.make(1, c));
675+
return pp_print_as(state, 1, Caml_string.bytes_to_string(Bytes.make(1, c)));
674676
}
675677

676678
function pp_open_hbox(state, _) {
@@ -1017,7 +1019,7 @@ function display_newline(state, _) {
10171019
return Caml_curry.app3(state[/* pp_out_string */16], "\n", 0, 1);
10181020
}
10191021

1020-
var blank_line = $$String.make(80, /* " " */32);
1022+
var blank_line = Caml_string.bytes_to_string(Bytes.make(80, /* " " */32));
10211023

10221024
function display_blanks(state, _n) {
10231025
while(true) {
@@ -1593,7 +1595,7 @@ function output_acc(ppf, acc) {
15931595
return pp_print_as_size(ppf, size, s);
15941596
case 2 :
15951597
output_acc(ppf, p$1);
1596-
return pp_print_as_size(ppf, size$1, $$String.make(1, c));
1598+
return pp_print_as_size(ppf, size$1, Caml_string.bytes_to_string(Bytes.make(1, c)));
15971599

15981600
}
15991601
}
@@ -1787,7 +1789,7 @@ function strput_acc(ppf, acc) {
17871789
return pp_print_as_size(ppf, size, s);
17881790
case 2 :
17891791
strput_acc(ppf, p$1);
1790-
return pp_print_as_size(ppf, size$1, $$String.make(1, c));
1792+
return pp_print_as_size(ppf, size$1, Caml_string.bytes_to_string(Bytes.make(1, c)));
17911793

17921794
}
17931795
}

jscomp/stdlib/genlex.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ var Hashtbl = require("./hashtbl");
77
var Stream = require("./stream");
88
var Caml_format = require("../runtime/caml_format");
99
var Char = require("./char");
10-
var $$String = require("./string");
1110
var Caml_string = require("../runtime/caml_string");
1211
var List = require("./list");
1312

@@ -66,7 +65,7 @@ function make_lexer(keywords) {
6665
}
6766
};
6867
var keyword_or_error = function (c) {
69-
var s = $$String.make(1, c);
68+
var s = Caml_string.bytes_to_string(Bytes.make(1, c));
7069
try {
7170
return Hashtbl.find(kwd_table, s);
7271
}

jscomp/stdlib/hashtbl.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
'use strict';
33

44
var Caml_builtin_exceptions = require("../runtime/caml_builtin_exceptions");
5+
var Bytes = require("./bytes");
56
var Caml_obj = require("../runtime/caml_obj");
67
var CamlinternalLazy = require("./camlinternalLazy");
78
var Caml_sys = require("../runtime/caml_sys");
@@ -10,8 +11,8 @@ var Sys = require("./sys");
1011
var Caml_primitive = require("../runtime/caml_primitive");
1112
var Caml_array = require("../runtime/caml_array");
1213
var $$Array = require("./array");
13-
var $$String = require("./string");
1414
var Caml_curry = require("../runtime/caml_curry");
15+
var Caml_string = require("../runtime/caml_string");
1516
var Random = require("./random");
1617

1718
function hash(x) {
@@ -50,7 +51,7 @@ catch (exn){
5051
}
5152
}
5253

53-
var randomized_default = $$String.contains(params, /* "R" */82);
54+
var randomized_default = Bytes.contains(Caml_string.bytes_of_string(params), /* "R" */82);
5455

5556
var randomized = [randomized_default];
5657

jscomp/stdlib/nativeint.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ function abs(n) {
2222
}
2323
}
2424

25-
var size = Sys.word_size;
26-
2725
var min_int = -9007199254740991;
2826

2927
var max_int = 9007199254740991;
@@ -46,6 +44,8 @@ var one = 1;
4644

4745
var minus_one = -1;
4846

47+
var size = Sys.word_size;
48+
4949
exports.zero = zero;
5050
exports.one = one;
5151
exports.minus_one = minus_one;

jscomp/stdlib/scanf.js

+14-10
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
'use strict';
33

44
var Caml_builtin_exceptions = require("../runtime/caml_builtin_exceptions");
5+
var Bytes = require("./bytes");
56
var Pervasives = require("./pervasives");
67
var Caml_format = require("../runtime/caml_format");
78
var Printf = require("./printf");
@@ -1885,9 +1886,10 @@ function make_scanf(ib, _fmt, readers) {
18851886
}
18861887
break;
18871888
case 11 :
1888-
$$String.iter(function (param) {
1889-
return check_char(ib, param);
1890-
}, fmt[0]);
1889+
var f = function (param) {
1890+
return check_char(ib, param);
1891+
};
1892+
Bytes.iter(f, Caml_string.bytes_of_string(fmt[0]));
18911893
_fmt = fmt[1];
18921894
continue ;
18931895
case 12 :
@@ -1964,9 +1966,11 @@ function make_scanf(ib, _fmt, readers) {
19641966
'scanf: bad conversion "%t"'
19651967
];
19661968
case 17 :
1967-
$$String.iter(function (param) {
1968-
return check_char(ib, param);
1969-
}, CamlinternalFormat.string_of_formatting_lit(fmt[0]));
1969+
var s$2 = CamlinternalFormat.string_of_formatting_lit(fmt[0]);
1970+
var f$1 = function (param) {
1971+
return check_char(ib, param);
1972+
};
1973+
Bytes.iter(f$1, Caml_string.bytes_of_string(s$2));
19701974
_fmt = fmt[1];
19711975
continue ;
19721976
case 18 :
@@ -2005,7 +2009,7 @@ function make_scanf(ib, _fmt, readers) {
20052009
var match$6 = stopper_of_formatting_lit(rest$1[0]);
20062010
var width = width_of_pad_opt(width_opt);
20072011
scan_chars_in_char_set(char_set, /* Some */[match$6[0]], width, ib);
2008-
var s$2 = token(ib);
2012+
var s$3 = token(ib);
20092013
var str_rest_000$1 = match$6[1];
20102014
var str_rest_001$1 = rest$1[1];
20112015
var str_rest$1 = /* String_literal */{
@@ -2015,7 +2019,7 @@ function make_scanf(ib, _fmt, readers) {
20152019
tag: 11
20162020
};
20172021
return /* Cons */{
2018-
0: s$2,
2022+
0: s$3,
20192023
1: make_scanf(ib, str_rest$1, readers),
20202024
length: 2,
20212025
tag: 0
@@ -2027,9 +2031,9 @@ function make_scanf(ib, _fmt, readers) {
20272031
if (exit$1 === 1) {
20282032
var width$1 = width_of_pad_opt(width_opt);
20292033
scan_chars_in_char_set(char_set, /* None */0, width$1, ib);
2030-
var s$3 = token(ib);
2034+
var s$4 = token(ib);
20312035
return /* Cons */{
2032-
0: s$3,
2036+
0: s$4,
20332037
1: make_scanf(ib, rest$1, readers),
20342038
length: 2,
20352039
tag: 0

0 commit comments

Comments
 (0)