Skip to content

Commit 752fed9

Browse files
authored
Merge pull request #2991 from BuckleScript/upgrade
provide a compatibility layer for ast cross compiler versions
2 parents 58f2369 + 45b3799 commit 752fed9

31 files changed

+2859
-1524
lines changed

jscomp/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ COMMON_SRCS= bs_version\
226226
COMMON_CMXS= $(addprefix common/, $(addsuffix .cmx, $(COMMON_SRCS)))
227227
SYNTAX_SRCS= \
228228
bs_syntaxerr\
229+
ast_compatible\
229230
ast_utf8_string\
230231
ast_utf8_string_interp\
231232
ast_derive_constructor \

jscomp/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,25 @@ so that we don't need bootstrap compiler, everytime we deliver a new feature.
4444
## [test](./test)
4545

4646
The directory containing unit-test files, some unit tests are copied from OCaml distribution(4.02)
47+
48+
## compiler sourcetree
49+
50+
- ext
51+
- common
52+
- bsb
53+
- depends
54+
- core
55+
- bspp
56+
- outcome_printer
57+
- stubs
58+
- super_errors
59+
- syntax
60+
## tools (deprecatd code)
61+
## xwatcher (dev tools)
62+
## runtime
63+
## build_tests
64+
## bin
65+
## cmd_tests
66+
## ounit
67+
## ounit_tests
68+
## others (belt/stdlib/node bindings)

jscomp/all.depend

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ ext/ext_filename.cmi :
157157
ext/ext_modulename.cmi :
158158
ext/ext_namespace.cmi :
159159
common/bs_version.cmx : common/bs_version.cmi
160-
common/js_config.cmx : common/js_config.cmi
160+
common/js_config.cmx : ext/ext_string.cmx common/js_config.cmi
161161
common/ext_log.cmx : common/js_config.cmx common/ext_log.cmi
162162
common/bs_loc.cmx : common/bs_loc.cmi
163163
common/bs_warnings.cmx : common/js_config.cmx common/bs_warnings.cmi
@@ -172,15 +172,18 @@ common/bs_warnings.cmi :
172172
common/lam_methname.cmi :
173173
common/ml_binary.cmi :
174174
syntax/bs_syntaxerr.cmx : syntax/bs_syntaxerr.cmi
175+
syntax/ast_compatible.cmx : ext/ext_list.cmx syntax/ast_compatible.cmi
175176
syntax/ast_utf8_string.cmx : ext/ext_utf8.cmx ext/ext_char.cmx \
176177
syntax/ast_utf8_string.cmi
177178
syntax/ast_utf8_string_interp.cmx : ext/literals.cmx ext/ext_utf8.cmx \
178179
ext/ext_string.cmx ext/ext_char.cmx common/bs_loc.cmx \
179-
syntax/ast_utf8_string_interp.cmi
180+
syntax/ast_compatible.cmx syntax/ast_utf8_string_interp.cmi
180181
syntax/ast_derive_constructor.cmx :
181-
syntax/ast_derive_util.cmx : ext/ext_list.cmx syntax/ast_derive_util.cmi
182+
syntax/ast_derive_util.cmx : ext/ext_list.cmx syntax/ast_compatible.cmx \
183+
syntax/ast_derive_util.cmi
182184
syntax/ast_exp.cmx : syntax/ast_exp.cmi
183-
syntax/ast_external_mk.cmx : syntax/ast_external_mk.cmi
185+
syntax/ast_external_mk.cmx : syntax/ast_compatible.cmx \
186+
syntax/ast_external_mk.cmi
184187
syntax/ast_lift.cmx : syntax/ast_lift.cmi
185188
syntax/ast_literal.cmx : syntax/ast_literal.cmi
186189
syntax/ast_pat.cmx : syntax/ast_pat.cmi
@@ -198,7 +201,7 @@ syntax/ast_derive.cmx : ext/string_map.cmx ext/literals.cmx \
198201
syntax/ast_structure.cmx syntax/ast_signature.cmx syntax/ast_payload.cmx \
199202
syntax/ast_derive.cmi
200203
syntax/ast_comb.cmx : ext/ext_list.cmx syntax/ast_literal.cmx \
201-
syntax/ast_comb.cmi
204+
syntax/ast_compatible.cmx syntax/ast_comb.cmi
202205
syntax/ast_core_type.cmx : ext/ext_list.cmx syntax/bs_syntaxerr.cmx \
203206
syntax/ast_comb.cmx syntax/ast_core_type.cmi
204207
syntax/bs_ast_invariant.cmx : ext/literals.cmx ext/hash_set_poly.cmx \
@@ -227,20 +230,22 @@ syntax/ast_derive_abstract.cmx : syntax/external_process.cmx \
227230
syntax/ast_derive_abstract.cmi
228231
syntax/ast_derive_dyn.cmx : ext/ext_list.cmx syntax/bs_syntaxerr.cmx \
229232
syntax/ast_structure.cmx syntax/ast_derive_util.cmx syntax/ast_derive.cmx \
230-
syntax/ast_attributes.cmx syntax/ast_derive_dyn.cmi
231-
syntax/ast_derive_projector.cmx : ext/ext_list.cmx \
232-
syntax/ast_derive_util.cmx syntax/ast_derive.cmx syntax/ast_comb.cmx \
233+
syntax/ast_compatible.cmx syntax/ast_attributes.cmx \
234+
syntax/ast_derive_dyn.cmi
235+
syntax/ast_derive_projector.cmx : ext/ext_string.cmx ext/ext_list.cmx \
236+
syntax/ast_derive_util.cmx syntax/ast_derive.cmx \
237+
syntax/ast_compatible.cmx syntax/ast_comb.cmx \
233238
syntax/ast_derive_projector.cmi
234239
syntax/ast_derive_js_mapper.cmx : ext/ext_list.cmx syntax/ast_polyvar.cmx \
235240
syntax/ast_literal.cmx syntax/ast_derive_util.cmx syntax/ast_derive.cmx \
236-
syntax/ast_core_type.cmx syntax/ast_comb.cmx \
241+
syntax/ast_core_type.cmx syntax/ast_compatible.cmx syntax/ast_comb.cmx \
237242
syntax/ast_derive_js_mapper.cmi
238243
syntax/ast_util.cmx : ext/literals.cmx syntax/external_process.cmx \
239244
ext/ext_string.cmx ext/ext_list.cmx syntax/bs_syntaxerr.cmx \
240245
syntax/bs_ast_mapper.cmx syntax/ast_payload.cmx syntax/ast_pat.cmx \
241246
syntax/ast_literal.cmx syntax/ast_external_mk.cmx syntax/ast_exp.cmx \
242-
syntax/ast_core_type.cmx syntax/ast_comb.cmx syntax/ast_attributes.cmx \
243-
syntax/ast_util.cmi
247+
syntax/ast_core_type.cmx syntax/ast_compatible.cmx syntax/ast_comb.cmx \
248+
syntax/ast_attributes.cmx syntax/ast_util.cmi
244249
syntax/ast_tdcls.cmx : ext/ext_list.cmx syntax/bs_ast_mapper.cmx \
245250
syntax/ast_structure.cmx syntax/ast_signature.cmx syntax/ast_payload.cmx \
246251
syntax/ast_derive_abstract.cmx syntax/ast_derive.cmx \
@@ -253,12 +258,14 @@ syntax/ast_tuple_pattern_flatten.cmx : ext/ext_list.cmx \
253258
syntax/ast_exp_apply.cmx : ext/literals.cmx ext/ext_list.cmx \
254259
syntax/bs_ast_mapper.cmx syntax/bs_ast_invariant.cmx syntax/ast_util.cmx \
255260
syntax/ast_tuple_pattern_flatten.cmx syntax/ast_literal.cmx \
256-
syntax/ast_attributes.cmx syntax/ast_exp_apply.cmi
261+
syntax/ast_compatible.cmx syntax/ast_attributes.cmx \
262+
syntax/ast_exp_apply.cmi
257263
syntax/ast_exp_extension.cmx : ext/literals.cmx ext/ext_string.cmx \
258264
ext/ext_ref.cmx ext/ext_pervasives.cmx common/bs_version.cmx \
259265
syntax/bs_ast_mapper.cmx syntax/ast_util.cmx syntax/ast_payload.cmx \
260266
syntax/ast_literal.cmx syntax/ast_derive.cmx syntax/ast_core_type.cmx \
261-
syntax/ast_comb.cmx syntax/ast_exp_extension.cmi
267+
syntax/ast_compatible.cmx syntax/ast_comb.cmx \
268+
syntax/ast_exp_extension.cmi
262269
syntax/ast_core_type_class_type.cmx : ext/literals.cmx ext/ext_ref.cmx \
263270
ext/ext_list.cmx syntax/bs_ast_mapper.cmx syntax/ast_util.cmx \
264271
syntax/ast_literal.cmx syntax/ast_comb.cmx syntax/ast_attributes.cmx \
@@ -272,8 +279,9 @@ syntax/ppx_entry.cmx : ext/string_map.cmx ext/literals.cmx \
272279
syntax/ast_literal.cmx syntax/ast_exp_extension.cmx \
273280
syntax/ast_exp_apply.cmx syntax/ast_derive_projector.cmx \
274281
syntax/ast_derive_js_mapper.cmx syntax/ast_core_type_class_type.cmx \
275-
syntax/ast_attributes.cmx syntax/ppx_entry.cmi
282+
syntax/ast_compatible.cmx syntax/ast_attributes.cmx syntax/ppx_entry.cmi
276283
syntax/bs_syntaxerr.cmi :
284+
syntax/ast_compatible.cmi :
277285
syntax/ast_utf8_string.cmi :
278286
syntax/ast_utf8_string_interp.cmi :
279287
syntax/ast_derive_util.cmi :
@@ -435,7 +443,7 @@ core/lam_compile_main.cmi : core/j.cmx
435443
core/js_implementation.cmi :
436444
core/ocaml_batch_compile.cmi :
437445
core/js_runtime_modules.cmx :
438-
core/config_util.cmx : core/config_util.cmi
446+
core/config_util.cmx : ext/ext_string.cmx core/config_util.cmi
439447
core/js_packages_info.cmx : core/lam_module_ident.cmx ext/ext_sys.cmx \
440448
ext/ext_string.cmx ext/ext_pervasives.cmx ext/ext_path.cmx \
441449
ext/ext_namespace.cmx ext/ext_filename.cmx core/config_util.cmx \

jscomp/bin/all_ounit_tests.d

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ bin/all_ounit_tests.ml : ./ounit_tests/ounit_union_find_tests.ml
117117
bin/all_ounit_tests.ml : ./ounit_tests/ounit_utf8_test.ml
118118
bin/all_ounit_tests.ml : ./ounit_tests/ounit_vec_test.ml
119119
bin/all_ounit_tests.ml : ./stubs/bs_hash_stubs.ml
120+
bin/all_ounit_tests.ml : ./syntax/ast_compatible.ml
121+
bin/all_ounit_tests.ml : ./syntax/ast_compatible.mli
120122
bin/all_ounit_tests.ml : ./syntax/ast_utf8_string.ml
121123
bin/all_ounit_tests.ml : ./syntax/ast_utf8_string.mli
122124
bin/all_ounit_tests.ml : ./syntax/ast_utf8_string_interp.ml

0 commit comments

Comments
 (0)