Skip to content

Commit 9aa5b70

Browse files
committed
Handle getters/setters and restore removed test
1 parent 52ccf67 commit 9aa5b70

File tree

11 files changed

+276
-18
lines changed

11 files changed

+276
-18
lines changed

jscomp/gentype_tests/typescript-react-example/src/nested/Types.res.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/chain_code_test.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/class_type_ffi_test.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/gpr_2352_test.js

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/hash_sugar_desugar.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/method_string_name.js

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/mutable_obj_test.js

Lines changed: 2 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/name_mangle_test.js

Lines changed: 153 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/name_mangle_test.res

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
let suites: ref<Mt.pair_suites> = ref(list{})
2+
let test_id = ref(0)
3+
let eq = (loc, x, y) => {
4+
incr(test_id)
5+
suites :=
6+
list{(loc ++ (" id " ++ string_of_int(test_id.contents)), _ => Mt.Eq(x, y)), ...suites.contents}
7+
}
8+
9+
/* FIXME: paren needed here
10+
{[ x##xh#= (g z ) ]}
11+
*/
12+
let f0 = (x: {@set "_open": int}) => {
13+
let old = x["_open"]
14+
x["_open"] = old + 1
15+
x["_open"]
16+
}
17+
18+
let f1 = (x: {@set "_in": int}) => {
19+
let old = x["_in"]
20+
x["_in"] = old + 1
21+
x["_in"]
22+
}
23+
24+
let f2 = (x: {@set "_MAX_LENGTH": int}) => {
25+
let old = x["_MAX_LENGTH"]
26+
x["_MAX_LENGTH"] = old + 1
27+
x["_MAX_LENGTH"]
28+
}
29+
30+
let f3 = (x: {@set "_Capital": int}) => {
31+
let old = x["_Capital"]
32+
x["_Capital"] = old + 1
33+
x["_Capital"]
34+
}
35+
36+
let f4 = (x: {@set "_open__": int}) => {
37+
let old = x["_open__"]
38+
x["_open__"] = old + 1
39+
x["_open__"]
40+
}
41+
42+
let f5 = (x: {@set "open__": int}) => {
43+
let old = x["open__"]
44+
x["open__"] = old + 1
45+
x["open__"]
46+
}
47+
48+
/* < _ : int > -> is a syntax error */
49+
50+
let f6 = (x: {@set "_'x": int}) => {
51+
let old = x["_'x"]
52+
x["_'x"] = old + 1
53+
x["_'x"]
54+
}
55+
56+
let f7 = (x: {@set "_Capital__": int}) => {
57+
let old = x["_Capital__"]
58+
x["_Capital__"] = old + 1
59+
x["_Capital__"]
60+
}
61+
62+
let f8 = (x: {@set "_MAX__": int}) => {
63+
let old = x["_MAX__"]
64+
x["_MAX__"] = old + 1
65+
x["_MAX__"]
66+
}
67+
68+
let f9 = (x: {@set "__": int}) => {
69+
let old = x["__"]
70+
x["__"] = old + 1
71+
x["__"]
72+
}
73+
74+
let f10 = (x: {@set "__x": int}) => {
75+
let old = x["__x"]
76+
x["__x"] = old + 1
77+
x["__x"]
78+
}
79+
80+
/* triple _ */
81+
let f11 = (x: {@set "___": int}) => {
82+
let old = x["___"]
83+
x["___"] = old + 1
84+
x["___"]
85+
}
86+
/* quad _ */
87+
let f12 = (x: {@set "____": int}) => {
88+
let old = x["____"]
89+
x["____"] = old + 1
90+
x["____"]
91+
}
92+
93+
let () = {
94+
eq(__LOC__, f0(%raw("{_open:0}")), 1)
95+
eq(__LOC__, f1(%raw("{_in:0}")), 1)
96+
eq(__LOC__, f2(%raw("{_MAX_LENGTH:0}")), 1)
97+
eq(__LOC__, f3(%raw("{_Capital:0}")), 1)
98+
eq(__LOC__, f4(%raw("{_open__:0}")), 1)
99+
eq(__LOC__, f5(%raw("{open__:0}")), 1)
100+
eq(__LOC__, f6(%raw(`{ "_'x" :0} `)), 1)
101+
eq(__LOC__, f7(%raw("{_Capital__:0}")), 1)
102+
eq(__LOC__, f8(%raw("{_MAX__:0}")), 1)
103+
eq(__LOC__, f9(%raw("{__:0}")), 1)
104+
eq(__LOC__, f10(%raw("{__x:0}")), 1)
105+
eq(__LOC__, f11(%raw("{___:0}")), 1)
106+
eq(__LOC__, f12(%raw("{____:0}")), 1)
107+
}
108+
109+
Mt.from_pair_suites(__LOC__, suites.contents)

jscomp/test/set_annotation.js

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)