Skip to content

Commit 7409a06

Browse files
committed
remove legacy built-in exceptions
1 parent 6f55bb0 commit 7409a06

File tree

10 files changed

+58
-49
lines changed

10 files changed

+58
-49
lines changed

jscomp/ml/predef.ml

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -109,33 +109,29 @@ and type_extension_constructor =
109109
and type_floatarray = newgenty (Tconstr(path_floatarray, [], ref Mnil))
110110

111111
let ident_match_failure = ident_create_predef_exn "Match_failure"
112-
and ident_out_of_memory = ident_create_predef_exn "Out_of_memory"
112+
113113
and ident_invalid_argument = ident_create_predef_exn "Invalid_argument"
114114
and ident_failure = ident_create_predef_exn "Failure"
115115

116116
and ident_js_error = ident_create_predef_exn "JsError"
117117
and ident_not_found = ident_create_predef_exn "Not_found"
118-
and ident_sys_error = ident_create_predef_exn "Sys_error"
118+
119119
and ident_end_of_file = ident_create_predef_exn "End_of_file"
120120
and ident_division_by_zero = ident_create_predef_exn "Division_by_zero"
121-
and ident_stack_overflow = ident_create_predef_exn "Stack_overflow"
122-
and ident_sys_blocked_io = ident_create_predef_exn "Sys_blocked_io"
121+
122+
123123
and ident_assert_failure = ident_create_predef_exn "Assert_failure"
124124
and ident_undefined_recursive_module =
125125
ident_create_predef_exn "Undefined_recursive_module"
126126

127127
let all_predef_exns = [
128128
ident_match_failure;
129-
ident_out_of_memory;
130129
ident_invalid_argument;
131130
ident_failure;
132131
ident_js_error;
133132
ident_not_found;
134-
ident_sys_error;
135133
ident_end_of_file;
136134
ident_division_by_zero;
137-
ident_stack_overflow;
138-
ident_sys_blocked_io;
139135
ident_assert_failure;
140136
ident_undefined_recursive_module;
141137
]
@@ -247,14 +243,10 @@ let common_initial_env add_type add_extension empty_env =
247243
in
248244
add_extension ident_match_failure
249245
[newgenty (Ttuple[type_string; type_int; type_int])] (
250-
add_extension ident_out_of_memory [] (
251-
add_extension ident_stack_overflow [] (
252246
add_extension ident_invalid_argument [type_string] (
253247
add_extension ident_js_error [type_unknown] (
254248
add_extension ident_failure [type_string] (
255249
add_extension ident_not_found [] (
256-
add_extension ident_sys_blocked_io [] (
257-
add_extension ident_sys_error [type_string] (
258250
add_extension ident_end_of_file [] (
259251
add_extension ident_division_by_zero [] (
260252
add_extension ident_assert_failure
@@ -276,7 +268,7 @@ let common_initial_env add_type add_extension empty_env =
276268
add_type ident_int decl_abstr_imm (
277269
add_type ident_extension_constructor decl_abstr (
278270
add_type ident_floatarray decl_abstr (
279-
empty_env)))))))))))))))))))))))))))
271+
empty_env)))))))))))))))))))))))
280272

281273
let build_initial_env add_type add_exception empty_env =
282274
let common = common_initial_env add_type add_exception empty_env in
@@ -290,10 +282,10 @@ let build_initial_env add_type add_exception empty_env =
290282

291283
let builtin_values =
292284
List.map (fun id -> Ident.make_global id; (Ident.name id, id))
293-
[ident_match_failure; ident_out_of_memory; ident_stack_overflow;
285+
[ident_match_failure;
294286
ident_invalid_argument;
295-
ident_failure; ident_js_error; ident_not_found; ident_sys_error; ident_end_of_file;
296-
ident_division_by_zero; ident_sys_blocked_io;
287+
ident_failure; ident_js_error; ident_not_found; ident_end_of_file;
288+
ident_division_by_zero;
297289
ident_assert_failure; ident_undefined_recursive_module ]
298290

299291
(* Start non-predef identifiers at 1000. This way, more predefs can

jscomp/stdlib-406/printexc.ml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ let to_string x =
4949
| None -> conv tl)
5050
| [] ->
5151
match x with
52-
| Out_of_memory -> "Out of memory"
53-
| Stack_overflow -> "Stack overflow"
5452
| Match_failure(file, line, char) ->
5553
locfmt file line char (char+5) "Pattern matching failed"
5654
| Assert_failure(file, line, char) ->

jscomp/test/exn_error_pattern.js

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,19 @@ var Mt = require("./mt.js");
44
var Caml_exceptions = require("../../lib/js/caml_exceptions.js");
55
var Caml_js_exceptions = require("../../lib/js/caml_js_exceptions.js");
66

7+
var Stack_overflow = /* @__PURE__ */Caml_exceptions.create("Exn_error_pattern.Stack_overflow");
8+
9+
var Sys_blocked_io = /* @__PURE__ */Caml_exceptions.create("Exn_error_pattern.Sys_blocked_io");
10+
11+
var Sys_error = /* @__PURE__ */Caml_exceptions.create("Exn_error_pattern.Sys_error");
12+
713
function f(match) {
814
if (Caml_exceptions.is_extension(match)) {
915
if (match.RE_EXN_ID === "Not_found") {
1016
return 0;
11-
} else if (match.RE_EXN_ID === "Invalid_argument" || match.RE_EXN_ID === "Stack_overflow") {
17+
} else if (match.RE_EXN_ID === "Invalid_argument" || match.RE_EXN_ID === Stack_overflow) {
1218
return 1;
13-
} else if (match.RE_EXN_ID === "Sys_error") {
19+
} else if (match.RE_EXN_ID === Sys_error) {
1420
return 2;
1521
} else {
1622
return ;
@@ -27,7 +33,7 @@ function g(match) {
2733
if (Caml_exceptions.is_extension(match)) {
2834
if (match.RE_EXN_ID === "Not_found" || match.RE_EXN_ID === "Invalid_argument") {
2935
return 0;
30-
} else if (match.RE_EXN_ID === "Sys_error") {
36+
} else if (match.RE_EXN_ID === Sys_error) {
3137
return 2;
3238
} else if (match.RE_EXN_ID === A || match.RE_EXN_ID === B) {
3339
return match._1;
@@ -50,21 +56,21 @@ function eq(loc, x, y) {
5056
Mt.eq_suites(test_id, suites, loc, x, y);
5157
}
5258

53-
eq("File \"exn_error_pattern.ml\", line 34, characters 5-12", f({
59+
eq("File \"exn_error_pattern.ml\", line 36, characters 5-12", f({
5460
RE_EXN_ID: "Not_found"
5561
}), 0);
5662

57-
eq("File \"exn_error_pattern.ml\", line 35, characters 5-12", f({
63+
eq("File \"exn_error_pattern.ml\", line 37, characters 5-12", f({
5864
RE_EXN_ID: "Invalid_argument",
5965
_1: ""
6066
}), 1);
6167

62-
eq("File \"exn_error_pattern.ml\", line 36, characters 5-12", f({
63-
RE_EXN_ID: "Stack_overflow"
68+
eq("File \"exn_error_pattern.ml\", line 38, characters 5-12", f({
69+
RE_EXN_ID: Stack_overflow
6470
}), 1);
6571

66-
eq("File \"exn_error_pattern.ml\", line 37, characters 5-12", f({
67-
RE_EXN_ID: "Sys_error",
72+
eq("File \"exn_error_pattern.ml\", line 39, characters 5-12", f({
73+
RE_EXN_ID: Sys_error,
6874
_1: ""
6975
}), 2);
7076

@@ -77,10 +83,13 @@ catch (raw_e){
7783
tmp = Caml_js_exceptions.internalToOCamlException(raw_e);
7884
}
7985

80-
eq("File \"exn_error_pattern.ml\", line 38, characters 5-12", f(tmp), undefined);
86+
eq("File \"exn_error_pattern.ml\", line 40, characters 5-12", f(tmp), undefined);
8187

8288
Mt.from_pair_suites("Exn_error_pattern", suites.contents);
8389

90+
exports.Stack_overflow = Stack_overflow;
91+
exports.Sys_blocked_io = Sys_blocked_io;
92+
exports.Sys_error = Sys_error;
8493
exports.f = f;
8594
exports.A = A;
8695
exports.B = B;

jscomp/test/exn_error_pattern.ml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11

22

3-
3+
exception Stack_overflow
4+
exception Sys_blocked_io
5+
exception Sys_error of string
46

57
(*
68
let f = [%bs.error? (Not_found | Invalid_argument _)]

jscomp/test/js_promise_basic_test.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,19 +157,21 @@ function orElseRejectedResolveTest(param) {
157157
return obj$1.catch(fail);
158158
}
159159

160+
var Stack_overflow = /* @__PURE__ */Caml_exceptions.create("Js_promise_basic_test.Stack_overflow");
161+
160162
function orElseRejectedRejectTest(param) {
161163
var p = Promise.reject({
162164
RE_EXN_ID: "Not_found"
163165
});
164166
var arg1 = function (param) {
165167
return Promise.reject({
166-
RE_EXN_ID: "Stack_overflow"
168+
RE_EXN_ID: Stack_overflow
167169
});
168170
};
169171
var obj = p.catch(arg1);
170172
var obj$1 = obj.then(fail);
171173
var arg1$1 = function (error) {
172-
var match = Caml_exceptions.is_extension(error) && error.RE_EXN_ID === "Stack_overflow" ? 0 : undefined;
174+
var match = Caml_exceptions.is_extension(error) && error.RE_EXN_ID === Stack_overflow ? 0 : undefined;
173175
if (match !== undefined) {
174176
return h;
175177
}
@@ -407,6 +409,7 @@ exports.orResolvedTest = orResolvedTest;
407409
exports.orRejectedTest = orRejectedTest;
408410
exports.orElseResolvedTest = orElseResolvedTest;
409411
exports.orElseRejectedResolveTest = orElseRejectedResolveTest;
412+
exports.Stack_overflow = Stack_overflow;
410413
exports.orElseRejectedRejectTest = orElseRejectedRejectTest;
411414
exports.resolveTest = resolveTest;
412415
exports.rejectTest = rejectTest;

jscomp/test/js_promise_basic_test.ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ let orElseRejectedResolveTest () =
6666
p |> catch (fun _ -> resolve 22)
6767
|> then_ (fun value -> resolve @@ assert_bool (value = 22))
6868
|> catch fail
69-
69+
exception Stack_overflow
7070
let orElseRejectedRejectTest () =
7171
let p = reject Not_found in
7272
p |> catch (fun _ -> reject Stack_overflow)

jscomp/test/test_trywith.js

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
'use strict';
22

33
var Curry = require("../../lib/js/curry.js");
4+
var Caml_exceptions = require("../../lib/js/caml_exceptions.js");
45
var Caml_js_exceptions = require("../../lib/js/caml_js_exceptions.js");
56

7+
var Out_of_memory = /* @__PURE__ */Caml_exceptions.create("Test_trywith.Out_of_memory");
8+
9+
var Sys_error = /* @__PURE__ */Caml_exceptions.create("Test_trywith.Sys_error");
10+
11+
var Stack_overflow = /* @__PURE__ */Caml_exceptions.create("Test_trywith.Stack_overflow");
12+
13+
var Sys_blocked_io = /* @__PURE__ */Caml_exceptions.create("Test_trywith.Sys_blocked_io");
14+
615
function ff(g, x) {
716
try {
817
Curry._1(g, x);
@@ -19,7 +28,7 @@ function ff(g, x) {
1928
}
2029
catch (raw_exn$1){
2130
var exn$1 = Caml_js_exceptions.internalToOCamlException(raw_exn$1);
22-
if (exn$1.RE_EXN_ID !== "Out_of_memory") {
31+
if (exn$1.RE_EXN_ID !== Out_of_memory) {
2332
throw exn$1;
2433
}
2534

@@ -29,7 +38,7 @@ function ff(g, x) {
2938
}
3039
catch (raw_exn$2){
3140
var exn$2 = Caml_js_exceptions.internalToOCamlException(raw_exn$2);
32-
if (exn$2.RE_EXN_ID !== "Sys_error") {
41+
if (exn$2.RE_EXN_ID !== Sys_error) {
3342
throw exn$2;
3443
}
3544

@@ -69,7 +78,7 @@ function ff(g, x) {
6978
}
7079
catch (raw_exn$6){
7180
var exn$6 = Caml_js_exceptions.internalToOCamlException(raw_exn$6);
72-
if (exn$6.RE_EXN_ID !== "Stack_overflow") {
81+
if (exn$6.RE_EXN_ID !== Stack_overflow) {
7382
throw exn$6;
7483
}
7584

@@ -79,7 +88,7 @@ function ff(g, x) {
7988
}
8089
catch (raw_exn$7){
8190
var exn$7 = Caml_js_exceptions.internalToOCamlException(raw_exn$7);
82-
if (exn$7.RE_EXN_ID !== "Sys_blocked_io") {
91+
if (exn$7.RE_EXN_ID !== Sys_blocked_io) {
8392
throw exn$7;
8493
}
8594

@@ -124,7 +133,7 @@ function f(x) {
124133
RE_EXN_ID: "Assert_failure",
125134
_1: [
126135
"test_trywith.ml",
127-
51,
136+
55,
128137
9
129138
],
130139
Error: new Error()
@@ -135,6 +144,10 @@ var u1 = "bad character decimal encoding \\";
135144

136145
var v = "bad character decimal encoding \\%c%c%c";
137146

147+
exports.Out_of_memory = Out_of_memory;
148+
exports.Sys_error = Sys_error;
149+
exports.Stack_overflow = Stack_overflow;
150+
exports.Sys_blocked_io = Sys_blocked_io;
138151
exports.ff = ff;
139152
exports.u = u;
140153
exports.u1 = u1;

jscomp/test/test_trywith.ml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
exception Out_of_memory
2+
exception Sys_error of string
3+
exception Stack_overflow
4+
exception Sys_blocked_io
15
let ff g x =
26
(
37
try g x

lib/es6/printexc.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,6 @@ function to_string(x) {
4444
_param = param.tl;
4545
continue ;
4646
}
47-
if (x.RE_EXN_ID === "Out_of_memory") {
48-
return "Out of memory";
49-
}
50-
if (x.RE_EXN_ID === "Stack_overflow") {
51-
return "Stack overflow";
52-
}
5347
if (x.RE_EXN_ID === "Match_failure") {
5448
var match = x._1;
5549
var $$char = match[2];

lib/js/printexc.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,6 @@ function to_string(x) {
4444
_param = param.tl;
4545
continue ;
4646
}
47-
if (x.RE_EXN_ID === "Out_of_memory") {
48-
return "Out of memory";
49-
}
50-
if (x.RE_EXN_ID === "Stack_overflow") {
51-
return "Stack overflow";
52-
}
5347
if (x.RE_EXN_ID === "Match_failure") {
5448
var match = x._1;
5549
var $$char = match[2];

0 commit comments

Comments
 (0)