Skip to content

Commit 5936cd8

Browse files
committed
Snapshot js_compiler / js_refmt_compiler
1 parent c2b4140 commit 5936cd8

File tree

3 files changed

+166
-95
lines changed

3 files changed

+166
-95
lines changed

lib/4.06.1/unstable/js_compiler.ml

Lines changed: 82 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -110625,6 +110625,86 @@ let dump_deps_program
110625110625
(oc : out_channel) =
110626110626
pp_deps_program ~output_prefix kind x (P.from_channel oc)
110627110627

110628+
end
110629+
module Jsoo_common : sig
110630+
#1 "jsoo_common.mli"
110631+
(**
110632+
This module is shared between different JSOO / Playground based modules
110633+
*)
110634+
module Js :
110635+
sig
110636+
module Unsafe :
110637+
sig
110638+
type any
110639+
external inject : 'a -> any = "%identity"
110640+
external get : 'a -> 'b -> 'c = "caml_js_get"
110641+
external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
110642+
external pure_js_expr : string -> 'a = "caml_pure_js_expr"
110643+
val global : 'a
110644+
type obj
110645+
external obj : (string * any) array -> obj = "caml_js_object"
110646+
end
110647+
type (-'a, +'b) meth_callback
110648+
type 'a callback = (unit, 'a) meth_callback
110649+
external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback
110650+
= "caml_js_wrap_callback"
110651+
external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback
110652+
= "caml_js_wrap_meth_callback"
110653+
type +'a t
110654+
type js_string
110655+
external string : string -> js_string t = "caml_js_from_string"
110656+
external to_string : js_string t -> string = "caml_js_to_string"
110657+
external create_file : js_string t -> js_string t -> unit
110658+
= "caml_create_file"
110659+
external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
110660+
end
110661+
110662+
(*
110663+
Creates a Js Error object for given location with and a certain error message
110664+
*)
110665+
val mk_js_error : Location.t -> string -> Js.Unsafe.obj
110666+
110667+
end = struct
110668+
#1 "jsoo_common.ml"
110669+
module Js = struct
110670+
module Unsafe = struct
110671+
type any
110672+
external inject : 'a -> any = "%identity"
110673+
external get : 'a -> 'b -> 'c = "caml_js_get"
110674+
external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
110675+
external pure_js_expr : string -> 'a = "caml_pure_js_expr"
110676+
let global = pure_js_expr "joo_global_object"
110677+
type obj
110678+
external obj : (string * any) array -> obj = "caml_js_object"
110679+
end
110680+
type (-'a, +'b) meth_callback
110681+
type 'a callback = (unit, 'a) meth_callback
110682+
external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback = "caml_js_wrap_callback"
110683+
external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback = "caml_js_wrap_meth_callback"
110684+
type + 'a t
110685+
type js_string
110686+
external string : string -> js_string t = "caml_js_from_string"
110687+
external to_string : js_string t -> string = "caml_js_to_string"
110688+
external create_file : js_string t -> js_string t -> unit = "caml_create_file"
110689+
external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
110690+
end
110691+
110692+
let mk_js_error (loc: Location.t) (msg: string) =
110693+
let (file,line,startchar) = Location.get_pos_info loc.Location.loc_start in
110694+
let (file,endline,endchar) = Location.get_pos_info loc.Location.loc_end in
110695+
Js.Unsafe.(obj
110696+
[|
110697+
"js_error_msg",
110698+
inject @@ Js.string (Printf.sprintf "Line %d, %d:\n %s" line startchar msg);
110699+
"row" , inject (line - 1);
110700+
"column" , inject startchar;
110701+
"endRow" , inject (endline - 1);
110702+
"endColumn" , inject endchar;
110703+
"text" , inject @@ Js.string msg;
110704+
"type" , inject @@ Js.string "error"
110705+
|]
110706+
)
110707+
110628110708
end
110629110709
module Js_fold_basic : sig
110630110710
#1 "js_fold_basic.mli"
@@ -133233,29 +133313,7 @@ end = struct
133233133313
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
133234133314

133235133315
(** *)
133236-
module Js = struct
133237-
module Unsafe = struct
133238-
type any
133239-
external inject : 'a -> any = "%identity"
133240-
external get : 'a -> 'b -> 'c = "caml_js_get"
133241-
external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
133242-
external pure_js_expr : string -> 'a = "caml_pure_js_expr"
133243-
let global = pure_js_expr "joo_global_object"
133244-
type obj
133245-
external obj : (string * any) array -> obj = "caml_js_object"
133246-
end
133247-
type (-'a, +'b) meth_callback
133248-
type 'a callback = (unit, 'a) meth_callback
133249-
external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback = "caml_js_wrap_callback"
133250-
external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback = "caml_js_wrap_meth_callback"
133251-
type + 'a t
133252-
type js_string
133253-
external string : string -> js_string t = "caml_js_from_string"
133254-
external to_string : js_string t -> string = "caml_js_to_string"
133255-
external create_file : js_string t -> js_string t -> unit = "caml_create_file"
133256-
external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
133257-
end
133258-
133316+
module Js = Jsoo_common.Js
133259133317

133260133318
(*
133261133319
Error:
@@ -133333,21 +133391,7 @@ let implementation ~use_super_errors ?(react_ppx_version=V3) prefix impl str :
133333133391
begin match error_of_exn e with
133334133392
| Some error ->
133335133393
Location.report_error Format.err_formatter error;
133336-
let (file,line,startchar) = Location.get_pos_info error.loc.loc_start in
133337-
let (file,endline,endchar) = Location.get_pos_info error.loc.loc_end in
133338-
Js.Unsafe.(obj
133339-
[|
133340-
"js_error_msg",
133341-
inject @@ Js.string (Printf.sprintf "Line %d, %d:\n %s" line startchar error.msg);
133342-
"row" , inject (line - 1);
133343-
"column" , inject startchar;
133344-
"endRow" , inject (endline - 1);
133345-
"endColumn" , inject endchar;
133346-
"text" , inject @@ Js.string error.msg;
133347-
"type" , inject @@ Js.string "error"
133348-
|]
133349-
);
133350-
133394+
Jsoo_common.mk_js_error error.loc error.msg
133351133395
| None ->
133352133396
Js.Unsafe.(obj [|
133353133397
"js_error_msg" , inject @@ Js.string (Printexc.to_string e)

lib/4.06.1/unstable/js_refmt_compiler.ml

Lines changed: 83 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -110466,6 +110466,86 @@ let dump_deps_program
110466110466
(oc : out_channel) =
110467110467
pp_deps_program ~output_prefix kind x (P.from_channel oc)
110468110468

110469+
end
110470+
module Jsoo_common : sig
110471+
#1 "jsoo_common.mli"
110472+
(**
110473+
This module is shared between different JSOO / Playground based modules
110474+
*)
110475+
module Js :
110476+
sig
110477+
module Unsafe :
110478+
sig
110479+
type any
110480+
external inject : 'a -> any = "%identity"
110481+
external get : 'a -> 'b -> 'c = "caml_js_get"
110482+
external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
110483+
external pure_js_expr : string -> 'a = "caml_pure_js_expr"
110484+
val global : 'a
110485+
type obj
110486+
external obj : (string * any) array -> obj = "caml_js_object"
110487+
end
110488+
type (-'a, +'b) meth_callback
110489+
type 'a callback = (unit, 'a) meth_callback
110490+
external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback
110491+
= "caml_js_wrap_callback"
110492+
external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback
110493+
= "caml_js_wrap_meth_callback"
110494+
type +'a t
110495+
type js_string
110496+
external string : string -> js_string t = "caml_js_from_string"
110497+
external to_string : js_string t -> string = "caml_js_to_string"
110498+
external create_file : js_string t -> js_string t -> unit
110499+
= "caml_create_file"
110500+
external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
110501+
end
110502+
110503+
(*
110504+
Creates a Js Error object for given location with and a certain error message
110505+
*)
110506+
val mk_js_error : Location.t -> string -> Js.Unsafe.obj
110507+
110508+
end = struct
110509+
#1 "jsoo_common.ml"
110510+
module Js = struct
110511+
module Unsafe = struct
110512+
type any
110513+
external inject : 'a -> any = "%identity"
110514+
external get : 'a -> 'b -> 'c = "caml_js_get"
110515+
external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
110516+
external pure_js_expr : string -> 'a = "caml_pure_js_expr"
110517+
let global = pure_js_expr "joo_global_object"
110518+
type obj
110519+
external obj : (string * any) array -> obj = "caml_js_object"
110520+
end
110521+
type (-'a, +'b) meth_callback
110522+
type 'a callback = (unit, 'a) meth_callback
110523+
external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback = "caml_js_wrap_callback"
110524+
external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback = "caml_js_wrap_meth_callback"
110525+
type + 'a t
110526+
type js_string
110527+
external string : string -> js_string t = "caml_js_from_string"
110528+
external to_string : js_string t -> string = "caml_js_to_string"
110529+
external create_file : js_string t -> js_string t -> unit = "caml_create_file"
110530+
external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
110531+
end
110532+
110533+
let mk_js_error (loc: Location.t) (msg: string) =
110534+
let (file,line,startchar) = Location.get_pos_info loc.Location.loc_start in
110535+
let (file,endline,endchar) = Location.get_pos_info loc.Location.loc_end in
110536+
Js.Unsafe.(obj
110537+
[|
110538+
"js_error_msg",
110539+
inject @@ Js.string (Printf.sprintf "Line %d, %d:\n %s" line startchar msg);
110540+
"row" , inject (line - 1);
110541+
"column" , inject startchar;
110542+
"endRow" , inject (endline - 1);
110543+
"endColumn" , inject endchar;
110544+
"text" , inject @@ Js.string msg;
110545+
"type" , inject @@ Js.string "error"
110546+
|]
110547+
)
110548+
110469110549
end
110470110550
module Js_fold_basic : sig
110471110551
#1 "js_fold_basic.mli"
@@ -262144,54 +262224,8 @@ end = struct
262144262224
`jsoo_refmt_main` is the JSOO compilation entry point for building BuckleScript + Refmt as one bundle.
262145262225
This is usually the file you want to build for the full playground experience.
262146262226
*)
262147-
module Js = struct
262148-
module Unsafe = struct
262149-
type any
262150-
external inject : 'a -> any = "%identity"
262151-
external get : 'a -> 'b -> 'c = "caml_js_get"
262152-
external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
262153-
external pure_js_expr : string -> 'a = "caml_pure_js_expr"
262154-
let global = pure_js_expr "joo_global_object"
262155-
type obj
262156-
external obj : (string * any) array -> obj = "caml_js_object"
262157-
end
262158-
type (-'a, +'b) meth_callback
262159-
type 'a callback = (unit, 'a) meth_callback
262160-
external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback = "caml_js_wrap_callback"
262161-
external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback = "caml_js_wrap_meth_callback"
262162-
type + 'a t
262163-
type js_string
262164-
external string : string -> js_string t = "caml_js_from_string"
262165-
external to_string : js_string t -> string = "caml_js_to_string"
262166-
external create_file : js_string t -> js_string t -> unit = "caml_create_file"
262167-
external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
262168-
end
262169262227

262170-
262171-
(*
262172-
Error:
262173-
* {
262174-
* row: 12,
262175-
* column: 2, //can be undefined
262176-
* text: "Missing argument",
262177-
* type: "error" // or "warning" or "info"
262178-
* }
262179-
*)
262180-
let mk_js_error loc msg =
262181-
let (file,line,startchar) = Location.get_pos_info loc.Location.loc_start in
262182-
let (file,endline,endchar) = Location.get_pos_info loc.Location.loc_end in
262183-
Js.Unsafe.(obj
262184-
[|
262185-
"js_error_msg",
262186-
inject @@ Js.string (Printf.sprintf "Line %d, %d:\n %s" line startchar msg);
262187-
"row" , inject (line - 1);
262188-
"column" , inject startchar;
262189-
"endRow" , inject (endline - 1);
262190-
"endColumn" , inject endchar;
262191-
"text" , inject @@ Js.string msg;
262192-
"type" , inject @@ Js.string "error"
262193-
|]
262194-
)
262228+
module Js = Jsoo_common.Js
262195262229

262196262230
let () =
262197262231
Bs_conditional_initial.setup_env ();
@@ -262261,13 +262295,13 @@ let implementation ~use_super_errors ?(react_ppx_version=V3) ?prefix impl str :
262261262295
begin match error_of_exn e with
262262262296
| Some error ->
262263262297
Location.report_error Format.err_formatter error;
262264-
mk_js_error error.loc error.msg
262298+
Jsoo_common.mk_js_error error.loc error.msg
262265262299
| None ->
262266262300
let msg = Printexc.to_string e in
262267262301
match e with
262268262302
| Refmt_api.Migrate_parsetree.Def.Migration_error (_,loc)
262269262303
| Refmt_api.Reason_errors.Reason_error (_,loc) ->
262270-
mk_js_error loc msg
262304+
Jsoo_common.mk_js_error loc msg
262271262305
| _ ->
262272262306
Js.Unsafe.(obj [|
262273262307
"js_error_msg" , inject @@ Js.string msg;
@@ -262282,15 +262316,11 @@ let compile impl ~use_super_errors ?react_ppx_version =
262282262316
let shake_compile impl ~use_super_errors ?react_ppx_version prefix =
262283262317
implementation ~use_super_errors ?react_ppx_version ~prefix impl
262284262318

262285-
262286-
262287262319
let load_module cmi_path cmi_content cmj_name cmj_content =
262288262320
Js.create_file cmi_path cmi_content;
262289262321
Js_cmj_datasets.data_sets :=
262290262322
String_map.add !Js_cmj_datasets.data_sets
262291262323
cmj_name (lazy (Js_cmj_format.from_string cmj_content))
262292-
262293-
262294262324

262295262325
let export (field : string) v =
262296262326
Js.Unsafe.set (Js.Unsafe.global) field v
@@ -262301,7 +262331,6 @@ let export (field : string) v =
262301262331
let dir_directory d =
262302262332
Config.load_path := d :: !Config.load_path
262303262333

262304-
262305262334
let () =
262306262335
dir_directory "/static/cmis"
262307262336

@@ -262357,8 +262386,6 @@ let make_compiler name impl prefix =
262357262386
let () = make_compiler "ocaml" Parse.implementation "[@@@bs.config{no_export}]\n#1 \"repl.ml\"\n"
262358262387
let () = make_compiler "reason" reason_parse "[@bs.config {no_export: no_export}];\n#1 \"repl.re\";\n"
262359262388

262360-
let _ = 1
262361-
262362262389
(* local variables: *)
262363262390
(* compile-command: "ocamlbuild -use-ocamlfind -pkg compiler-libs -no-hygiene driver.cmo" *)
262364262391
(* end: *)

0 commit comments

Comments
 (0)