diff --git a/jscomp/bin/all_ounit_tests.ml b/jscomp/bin/all_ounit_tests.ml index a52d7f28ae..debcab41f5 100644 --- a/jscomp/bin/all_ounit_tests.ml +++ b/jscomp/bin/all_ounit_tests.ml @@ -6906,7 +6906,7 @@ val equal : Ident.t -> Ident.t -> bool end = struct #1 "ext_ident.ml" (* Copyright (C) 2015-2016 Bloomberg Finance L.P. - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -6924,7 +6924,7 @@ end = struct * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *) @@ -6948,32 +6948,32 @@ let js_flag = 0b1_000 (* check with ocaml compiler *) *) let js_object_flag = 0b100_000 (* javascript object flags *) -let is_js (i : Ident.t) = - i.flags land js_flag <> 0 +let is_js (i : Ident.t) = + i.flags land js_flag <> 0 -let is_js_or_global (i : Ident.t) = - i.flags land (8 lor 1) <> 0 +let is_js_or_global (i : Ident.t) = + i.flags land (8 lor 1) <> 0 -let is_js_object (i : Ident.t) = - i.flags land js_object_flag <> 0 +let is_js_object (i : Ident.t) = + i.flags land js_object_flag <> 0 -let make_js_object (i : Ident.t) = - i.flags <- i.flags lor js_object_flag +let make_js_object (i : Ident.t) = + i.flags <- i.flags lor js_object_flag (* It's a js function hard coded by js api, so when printing, - it should preserve the name + it should preserve the name *) -let create_js (name : string) : Ident.t = +let create_js (name : string) : Ident.t = { name = name; flags = js_flag ; stamp = 0} let create = Ident.create (* FIXME: no need for `$' operator *) -let create_tmp ?(name=Literals.tmp) () = create name +let create_tmp ?(name=Literals.tmp) () = create name -let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 +let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 (* This is for a js exeternal module, we can change it when printing for example @@ -6984,25 +6984,25 @@ let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 Given a name, if duplicated, they should have the same id *) -let create_js_module (name : string) : Ident.t = - let name = - String.concat "" @@ Ext_list.map (Ext_string.capitalize_ascii ) @@ +let create_js_module (name : string) : Ident.t = + let name = + String.concat "" @@ Ext_list.map (Ext_string.capitalize_ascii ) @@ Ext_string.split name '-' in (* TODO: if we do such transformation, we should avoid collision for example: - react-dom + react-dom react--dom check collision later *) - match String_hashtbl.find_exn js_module_table name with - | exception Not_found -> + match String_hashtbl.find_exn js_module_table name with + | exception Not_found -> let ans = Ident.create name in (* let ans = { v with flags = js_module_flag} in *) String_hashtbl.add js_module_table name ans; ans - | v -> (* v *) Ident.rename v + | v -> (* v *) Ident.rename v -let reserved_words = +let reserved_words = [| (* keywork *) "break"; @@ -7039,7 +7039,7 @@ let reserved_words = (* also reserved in ECMAScript 3 *) "abstract"; "boolean"; "byte"; "char"; "const"; "double"; "final"; "float"; "goto"; "int"; "long"; "native"; "short"; - "synchronized"; + "synchronized"; (* "throws"; *) (* seems to be fine, like nodejs [assert.throws] *) "transient"; "volatile"; @@ -7064,7 +7064,7 @@ let reserved_words = "String"; "Boolean"; "Number"; - + "Buffer"; (* Node *) "Map"; (* es6*) "Set"; @@ -7091,7 +7091,7 @@ let reserved_words = "parseFloat"; "parseInt"; - (** reserved for commonjs and NodeJS globals*) + (** reserved for commonjs and NodeJS globals*) "require"; "exports"; "module"; @@ -7110,36 +7110,36 @@ let reserved_words = "__esModule" |] -let reserved_map = - let len = Array.length reserved_words in +let reserved_map = + let len = Array.length reserved_words in let set = String_hash_set.create 1024 in (* large hash set for perfect hashing *) - for i = 0 to len - 1 do + for i = 0 to len - 1 do String_hash_set.add set reserved_words.(i); done ; - set + set -exception Not_normal_letter of int -let name_mangle name = +exception Not_normal_letter of int +let name_mangle name = let len = String.length name in try - for i = 0 to len - 1 do - match String.unsafe_get name i with + for i = 0 to len - 1 do + match String.unsafe_get name i with | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' -> () | _ -> raise (Not_normal_letter i) done; name (* Normal letter *) - with + with | Not_normal_letter 0 -> - let buffer = Buffer.create len in - for j = 0 to len - 1 do + let buffer = Buffer.create len in + for j = 0 to len - 1 do let c = String.unsafe_get name j in - match c with + match c with | '*' -> Buffer.add_string buffer "$star" | '\'' -> Buffer.add_string buffer "$prime" | '!' -> Buffer.add_string buffer "$bang" @@ -7157,17 +7157,17 @@ let name_mangle name = | '~' -> Buffer.add_string buffer "$tilde" | '#' -> Buffer.add_string buffer "$hash" | ':' -> Buffer.add_string buffer "$colon" - | 'a'..'z' | 'A'..'Z'| '_' + | 'a'..'z' | 'A'..'Z'| '_' | '$' | '0'..'9'-> Buffer.add_char buffer c | _ -> Buffer.add_string buffer "$unknown" done; Buffer.contents buffer - | Not_normal_letter i -> + | Not_normal_letter i -> String.sub name 0 i ^ - (let buffer = Buffer.create len in - for j = i to len - 1 do + (let buffer = Buffer.create len in + for j = i to len - 1 do let c = String.unsafe_get name j in - match c with + match c with | '*' -> Buffer.add_string buffer "$star" | '\'' -> Buffer.add_string buffer "$prime" | '!' -> Buffer.add_string buffer "$bang" @@ -7175,7 +7175,7 @@ let name_mangle name = | '<' -> Buffer.add_string buffer "$less" | '=' -> Buffer.add_string buffer "$eq" | '+' -> Buffer.add_string buffer "$plus" - | '-' -> Buffer.add_string buffer "$" + | '-' -> Buffer.add_string buffer "$" (* Note ocaml compiler also has [self-] *) | '@' -> Buffer.add_string buffer "$at" | '^' -> Buffer.add_string buffer "$caret" @@ -7187,7 +7187,7 @@ let name_mangle name = | '#' -> Buffer.add_string buffer "$hash" | ':' -> Buffer.add_string buffer "$colon" | '$' -> Buffer.add_string buffer "$dollar" - | 'a'..'z' | 'A'..'Z'| '_' + | 'a'..'z' | 'A'..'Z'| '_' | '0'..'9'-> Buffer.add_char buffer c | _ -> Buffer.add_string buffer "$unknown" done; Buffer.contents buffer) @@ -7198,16 +7198,16 @@ let name_mangle name = - : string = "$caret" ]} [convert name] if [name] is a js keyword,add "$$" - otherwise do the name mangling to make sure ocaml identifier it is + otherwise do the name mangling to make sure ocaml identifier it is a valid js identifier *) -let convert (name : string) = - if String_hash_set.mem reserved_map name then "$$" ^ name - else name_mangle name +let convert (name : string) = + if String_hash_set.mem reserved_map name then "$$" ^ name + else name_mangle name (** keyword could be used in property *) -(* It is currently made a persistent ident to avoid fresh ids +(* It is currently made a persistent ident to avoid fresh ids which would result in different signature files - other solution: use lazy values *) @@ -7215,24 +7215,24 @@ let make_unused () = create "_" -let reset () = +let reset () = String_hashtbl.clear js_module_table let undefined = create_js "undefined" let nil = create_js "null" -(* Has to be total order, [x < y] +(* Has to be total order, [x < y] and [x > y] should be consistent - flags are not relevant here + flags are not relevant here *) -let compare (x : Ident.t ) ( y : Ident.t) = +let compare (x : Ident.t ) ( y : Ident.t) = let u = x.stamp - y.stamp in - if u = 0 then - Ext_string.compare x.name y.name - else u + if u = 0 then + Ext_string.compare x.name y.name + else u -let equal ( x : Ident.t) ( y : Ident.t) = +let equal ( x : Ident.t) ( y : Ident.t) = if x.stamp <> 0 then x.stamp = y.stamp else y.stamp = 0 && x.name = y.name diff --git a/jscomp/ext/ext_ident.ml b/jscomp/ext/ext_ident.ml index 971b271337..ea98bdd93a 100644 --- a/jscomp/ext/ext_ident.ml +++ b/jscomp/ext/ext_ident.ml @@ -1,5 +1,5 @@ (* Copyright (C) 2015-2016 Bloomberg Finance L.P. - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -17,7 +17,7 @@ * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *) @@ -41,32 +41,32 @@ let js_flag = 0b1_000 (* check with ocaml compiler *) *) let js_object_flag = 0b100_000 (* javascript object flags *) -let is_js (i : Ident.t) = - i.flags land js_flag <> 0 +let is_js (i : Ident.t) = + i.flags land js_flag <> 0 -let is_js_or_global (i : Ident.t) = - i.flags land (8 lor 1) <> 0 +let is_js_or_global (i : Ident.t) = + i.flags land (8 lor 1) <> 0 -let is_js_object (i : Ident.t) = - i.flags land js_object_flag <> 0 +let is_js_object (i : Ident.t) = + i.flags land js_object_flag <> 0 -let make_js_object (i : Ident.t) = - i.flags <- i.flags lor js_object_flag +let make_js_object (i : Ident.t) = + i.flags <- i.flags lor js_object_flag (* It's a js function hard coded by js api, so when printing, - it should preserve the name + it should preserve the name *) -let create_js (name : string) : Ident.t = +let create_js (name : string) : Ident.t = { name = name; flags = js_flag ; stamp = 0} let create = Ident.create (* FIXME: no need for `$' operator *) -let create_tmp ?(name=Literals.tmp) () = create name +let create_tmp ?(name=Literals.tmp) () = create name -let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 +let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 (* This is for a js exeternal module, we can change it when printing for example @@ -77,25 +77,25 @@ let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 Given a name, if duplicated, they should have the same id *) -let create_js_module (name : string) : Ident.t = - let name = - String.concat "" @@ Ext_list.map (Ext_string.capitalize_ascii ) @@ +let create_js_module (name : string) : Ident.t = + let name = + String.concat "" @@ Ext_list.map (Ext_string.capitalize_ascii ) @@ Ext_string.split name '-' in (* TODO: if we do such transformation, we should avoid collision for example: - react-dom + react-dom react--dom check collision later *) - match String_hashtbl.find_exn js_module_table name with - | exception Not_found -> + match String_hashtbl.find_exn js_module_table name with + | exception Not_found -> let ans = Ident.create name in (* let ans = { v with flags = js_module_flag} in *) String_hashtbl.add js_module_table name ans; ans - | v -> (* v *) Ident.rename v + | v -> (* v *) Ident.rename v -let reserved_words = +let reserved_words = [| (* keywork *) "break"; @@ -132,7 +132,7 @@ let reserved_words = (* also reserved in ECMAScript 3 *) "abstract"; "boolean"; "byte"; "char"; "const"; "double"; "final"; "float"; "goto"; "int"; "long"; "native"; "short"; - "synchronized"; + "synchronized"; (* "throws"; *) (* seems to be fine, like nodejs [assert.throws] *) "transient"; "volatile"; @@ -157,7 +157,7 @@ let reserved_words = "String"; "Boolean"; "Number"; - + "Buffer"; (* Node *) "Map"; (* es6*) "Set"; @@ -184,7 +184,7 @@ let reserved_words = "parseFloat"; "parseInt"; - (** reserved for commonjs and NodeJS globals*) + (** reserved for commonjs and NodeJS globals*) "require"; "exports"; "module"; @@ -203,36 +203,36 @@ let reserved_words = "__esModule" |] -let reserved_map = - let len = Array.length reserved_words in +let reserved_map = + let len = Array.length reserved_words in let set = String_hash_set.create 1024 in (* large hash set for perfect hashing *) - for i = 0 to len - 1 do + for i = 0 to len - 1 do String_hash_set.add set reserved_words.(i); done ; - set + set -exception Not_normal_letter of int -let name_mangle name = +exception Not_normal_letter of int +let name_mangle name = let len = String.length name in try - for i = 0 to len - 1 do - match String.unsafe_get name i with + for i = 0 to len - 1 do + match String.unsafe_get name i with | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' -> () | _ -> raise (Not_normal_letter i) done; name (* Normal letter *) - with + with | Not_normal_letter 0 -> - let buffer = Buffer.create len in - for j = 0 to len - 1 do + let buffer = Buffer.create len in + for j = 0 to len - 1 do let c = String.unsafe_get name j in - match c with + match c with | '*' -> Buffer.add_string buffer "$star" | '\'' -> Buffer.add_string buffer "$prime" | '!' -> Buffer.add_string buffer "$bang" @@ -250,17 +250,17 @@ let name_mangle name = | '~' -> Buffer.add_string buffer "$tilde" | '#' -> Buffer.add_string buffer "$hash" | ':' -> Buffer.add_string buffer "$colon" - | 'a'..'z' | 'A'..'Z'| '_' + | 'a'..'z' | 'A'..'Z'| '_' | '$' | '0'..'9'-> Buffer.add_char buffer c | _ -> Buffer.add_string buffer "$unknown" done; Buffer.contents buffer - | Not_normal_letter i -> + | Not_normal_letter i -> String.sub name 0 i ^ - (let buffer = Buffer.create len in - for j = i to len - 1 do + (let buffer = Buffer.create len in + for j = i to len - 1 do let c = String.unsafe_get name j in - match c with + match c with | '*' -> Buffer.add_string buffer "$star" | '\'' -> Buffer.add_string buffer "$prime" | '!' -> Buffer.add_string buffer "$bang" @@ -268,7 +268,7 @@ let name_mangle name = | '<' -> Buffer.add_string buffer "$less" | '=' -> Buffer.add_string buffer "$eq" | '+' -> Buffer.add_string buffer "$plus" - | '-' -> Buffer.add_string buffer "$" + | '-' -> Buffer.add_string buffer "$" (* Note ocaml compiler also has [self-] *) | '@' -> Buffer.add_string buffer "$at" | '^' -> Buffer.add_string buffer "$caret" @@ -280,7 +280,7 @@ let name_mangle name = | '#' -> Buffer.add_string buffer "$hash" | ':' -> Buffer.add_string buffer "$colon" | '$' -> Buffer.add_string buffer "$dollar" - | 'a'..'z' | 'A'..'Z'| '_' + | 'a'..'z' | 'A'..'Z'| '_' | '0'..'9'-> Buffer.add_char buffer c | _ -> Buffer.add_string buffer "$unknown" done; Buffer.contents buffer) @@ -291,16 +291,16 @@ let name_mangle name = - : string = "$caret" ]} [convert name] if [name] is a js keyword,add "$$" - otherwise do the name mangling to make sure ocaml identifier it is + otherwise do the name mangling to make sure ocaml identifier it is a valid js identifier *) -let convert (name : string) = - if String_hash_set.mem reserved_map name then "$$" ^ name - else name_mangle name +let convert (name : string) = + if String_hash_set.mem reserved_map name then "$$" ^ name + else name_mangle name (** keyword could be used in property *) -(* It is currently made a persistent ident to avoid fresh ids +(* It is currently made a persistent ident to avoid fresh ids which would result in different signature files - other solution: use lazy values *) @@ -308,24 +308,24 @@ let make_unused () = create "_" -let reset () = +let reset () = String_hashtbl.clear js_module_table let undefined = create_js "undefined" let nil = create_js "null" -(* Has to be total order, [x < y] +(* Has to be total order, [x < y] and [x > y] should be consistent - flags are not relevant here + flags are not relevant here *) -let compare (x : Ident.t ) ( y : Ident.t) = +let compare (x : Ident.t ) ( y : Ident.t) = let u = x.stamp - y.stamp in - if u = 0 then - Ext_string.compare x.name y.name - else u + if u = 0 then + Ext_string.compare x.name y.name + else u -let equal ( x : Ident.t) ( y : Ident.t) = +let equal ( x : Ident.t) ( y : Ident.t) = if x.stamp <> 0 then x.stamp = y.stamp else y.stamp = 0 && x.name = y.name diff --git a/jscomp/test/.depend b/jscomp/test/.depend index fb94bd319e..3f849d9c23 100644 --- a/jscomp/test/.depend +++ b/jscomp/test/.depend @@ -309,6 +309,7 @@ gpr_2503_test.cmj : mt.cmj ../runtime/js.cmj gpr_2608_test.cmj : mt.cmj ../stdlib/list.cmj gpr_2633_test.cmj : gpr_2642_test.cmj : +gpr_2652_test.cmj : ../others/node.cmj ../stdlib/buffer.cmj gpr_405_test.cmj : ../stdlib/hashtbl.cmj gpr_405_test.cmi gpr_441.cmj : gpr_459_test.cmj : mt.cmj diff --git a/jscomp/test/Makefile b/jscomp/test/Makefile index 6b2efb3ff2..92d70cb8de 100644 --- a/jscomp/test/Makefile +++ b/jscomp/test/Makefile @@ -247,6 +247,7 @@ OTHERS := test_literals a test_ari test_export2 test_internalOO test_obj_simple_ gpr_2633_test\ gpr_2413_test\ gpr_2642_test\ + gpr_2652_test\ # bs_uncurry_test # needs Lam to get rid of Uncurry arity first # simple_derive_test diff --git a/jscomp/test/buffer_test.js b/jscomp/test/buffer_test.js index bafb8d9a9e..53d889ef81 100644 --- a/jscomp/test/buffer_test.js +++ b/jscomp/test/buffer_test.js @@ -3,7 +3,7 @@ var Mt = require("./mt.js"); var Block = require("../../lib/js/block.js"); var Bytes = require("../../lib/js/bytes.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Caml_bytes = require("../../lib/js/caml_bytes.js"); var v = "gso"; @@ -46,12 +46,12 @@ var suites_001 = /* :: */[ /* tuple */[ "buffer", (function () { - var v = Buffer.create(30); + var v = $$Buffer.create(30); for(var i = 0; i <= 10; ++i){ - Buffer.add_string(v, String(i)); + $$Buffer.add_string(v, String(i)); } return /* Eq */Block.__(0, [ - Buffer.contents(v), + $$Buffer.contents(v), "012345678910" ]); }) diff --git a/jscomp/test/caml_format_test.js b/jscomp/test/caml_format_test.js index de0a5befa3..1c5886ee3a 100644 --- a/jscomp/test/caml_format_test.js +++ b/jscomp/test/caml_format_test.js @@ -5,7 +5,7 @@ var $$Array = require("../../lib/js/array.js"); var Block = require("../../lib/js/block.js"); var Curry = require("../../lib/js/curry.js"); var Int64 = require("../../lib/js/int64.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Format = require("../../lib/js/format.js"); var Printf = require("../../lib/js/printf.js"); var Caml_float = require("../../lib/js/caml_float.js"); @@ -2209,7 +2209,7 @@ var int64_suites_001 = /* :: */[ /* tuple */[ "missing_newline2", (function () { - var buf = Buffer.create(30); + var buf = $$Buffer.create(30); return /* Eq */Block.__(0, [ (Curry._1(Printf.bprintf(buf, /* Format */[ /* Int64 */Block.__(7, [ @@ -2225,7 +2225,7 @@ var int64_suites_001 = /* :: */[ ]), /* int64 */[ /* hi */0, /* lo */32 - ]), Buffer.contents(buf)), + ]), $$Buffer.contents(buf)), "32\n" ]); }) diff --git a/jscomp/test/flow_parser_reg_test.js b/jscomp/test/flow_parser_reg_test.js index f8017872a2..17ca053533 100644 --- a/jscomp/test/flow_parser_reg_test.js +++ b/jscomp/test/flow_parser_reg_test.js @@ -11,7 +11,7 @@ var Block = require("../../lib/js/block.js"); var Bytes = require("../../lib/js/bytes.js"); var Curry = require("../../lib/js/curry.js"); var Queue = require("../../lib/js/queue.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Js_exn = require("../../lib/js/js_exn.js"); var Lexing = require("../../lib/js/lexing.js"); var Printf = require("../../lib/js/printf.js"); @@ -1214,7 +1214,7 @@ function float_of_string(str) { function save_comment(env, start, _end, buf, multiline) { var loc = btwn(start, _end); - var s = Buffer.contents(buf); + var s = $$Buffer.contents(buf); var c = multiline ? /* Block */Block.__(0, [s]) : /* Line */Block.__(1, [s]); var lex_comments_acc_000 = /* tuple */[ loc, @@ -1798,7 +1798,7 @@ function token(env, lexbuf) { return token(env$1, lexbuf$1); case 3 : var start = loc_of_lexbuf(env$1, lexbuf$1); - var buf = Buffer.create(127); + var buf = $$Buffer.create(127); var match = comment(env$1, buf, lexbuf$1); var env$3 = save_comment(match[0], start, match[1], buf, /* true */1); return token(env$3, lexbuf$1); @@ -1825,9 +1825,9 @@ function token(env, lexbuf) { } } else { var start$1 = loc_of_lexbuf(env$1, lexbuf$1); - var buf$1 = Buffer.create(127); - Buffer.add_string(buf$1, sp); - Buffer.add_string(buf$1, escape_type); + var buf$1 = $$Buffer.create(127); + $$Buffer.add_string(buf$1, sp); + $$Buffer.add_string(buf$1, escape_type); var match$1 = comment(env$1, buf$1, lexbuf$1); var env$6 = save_comment(match$1[0], start$1, match$1[1], buf$1, /* true */1); return token(env$6, lexbuf$1); @@ -1845,13 +1845,13 @@ function token(env, lexbuf) { } case 6 : var start$2 = loc_of_lexbuf(env$1, lexbuf$1); - var buf$2 = Buffer.create(127); + var buf$2 = $$Buffer.create(127); var match$2 = line_comment(env$1, buf$2, lexbuf$1); var env$8 = save_comment(match$2[0], start$2, match$2[1], buf$2, /* false */0); return token(env$8, lexbuf$1); case 7 : if (lexbuf$1[/* lex_start_pos */4] === 0) { - var match$3 = line_comment(env$1, Buffer.create(127), lexbuf$1); + var match$3 = line_comment(env$1, $$Buffer.create(127), lexbuf$1); return token(match$3[0], lexbuf$1); } else { return /* tuple */[ @@ -1862,24 +1862,24 @@ function token(env, lexbuf) { case 8 : var quote = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); var start$3 = loc_of_lexbuf(env$1, lexbuf$1); - var buf$3 = Buffer.create(127); - var raw = Buffer.create(127); - Buffer.add_char(raw, quote); + var buf$3 = $$Buffer.create(127); + var raw = $$Buffer.create(127); + $$Buffer.add_char(raw, quote); var match$4 = string_quote(env$1, quote, buf$3, raw, /* false */0, lexbuf$1); return /* tuple */[ match$4[0], /* T_STRING */Block.__(1, [/* tuple */[ btwn(start$3, match$4[1]), - Buffer.contents(buf$3), - Buffer.contents(raw), + $$Buffer.contents(buf$3), + $$Buffer.contents(raw), match$4[2] ]]) ]; case 9 : - var cooked = Buffer.create(127); - var raw$1 = Buffer.create(127); - var literal = Buffer.create(127); - Buffer.add_string(literal, Lexing.lexeme(lexbuf$1)); + var cooked = $$Buffer.create(127); + var raw$1 = $$Buffer.create(127); + var literal = $$Buffer.create(127); + $$Buffer.add_string(literal, Lexing.lexeme(lexbuf$1)); var start$4 = loc_of_lexbuf(env$1, lexbuf$1); var match$5 = template_part(env$1, start$4, cooked, raw$1, literal, lexbuf$1); return /* tuple */[ @@ -1887,9 +1887,9 @@ function token(env, lexbuf) { /* T_TEMPLATE_PART */Block.__(2, [/* tuple */[ match$5[1], /* record */[ - /* cooked */Buffer.contents(cooked), - /* raw */Buffer.contents(raw$1), - /* literal */Buffer.contents(literal) + /* cooked */$$Buffer.contents(cooked), + /* raw */$$Buffer.contents(raw$1), + /* literal */$$Buffer.contents(literal) ], match$5[2] ]]) @@ -2301,8 +2301,8 @@ function jsx_text(env, mode, buf, raw, lexbuf) { } if (exit === 1) { - Buffer.add_char(raw$1, c); - Buffer.add_char(buf$1, c); + $$Buffer.add_char(raw$1, c); + $$Buffer.add_char(buf$1, c); return jsx_text(env$1, mode$1, buf$1, raw$1, lexbuf$1); } break; @@ -2314,32 +2314,32 @@ function jsx_text(env, mode, buf, raw, lexbuf) { ]; case 2 : var lt = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); - Buffer.add_string(raw$1, lt); - Buffer.add_string(buf$1, lt); + $$Buffer.add_string(raw$1, lt); + $$Buffer.add_string(buf$1, lt); Lexing.new_line(lexbuf$1); return jsx_text(env$1, mode$1, buf$1, raw$1, lexbuf$1); case 3 : var n = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4] + 3 | 0, lexbuf$1[/* lex_curr_pos */5] - 1 | 0); var s = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); - Buffer.add_string(raw$1, s); + $$Buffer.add_string(raw$1, s); var code = Caml_format.caml_int_of_string("0x" + n); List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code)); return jsx_text(env$1, mode$1, buf$1, raw$1, lexbuf$1); case 4 : var n$1 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4] + 2 | 0, lexbuf$1[/* lex_curr_pos */5] - 1 | 0); var s$1 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); - Buffer.add_string(raw$1, s$1); + $$Buffer.add_string(raw$1, s$1); var code$1 = Caml_format.caml_int_of_string(n$1); List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code$1)); return jsx_text(env$1, mode$1, buf$1, raw$1, lexbuf$1); case 5 : var entity = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4] + 1 | 0, lexbuf$1[/* lex_curr_pos */5] - 1 | 0); var s$2 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); - Buffer.add_string(raw$1, s$2); + $$Buffer.add_string(raw$1, s$2); var code$2; switch (entity) { case "'int'" : @@ -3106,16 +3106,16 @@ function jsx_text(env, mode, buf, raw, lexbuf) { } if (code$2) { List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code$2[0])); } else { - Buffer.add_string(buf$1, "&" + (entity + ";")); + $$Buffer.add_string(buf$1, "&" + (entity + ";")); } return jsx_text(env$1, mode$1, buf$1, raw$1, lexbuf$1); case 6 : var c$1 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(raw$1, c$1); - Buffer.add_char(buf$1, c$1); + $$Buffer.add_char(raw$1, c$1); + $$Buffer.add_char(buf$1, c$1); return jsx_text(env$1, mode$1, buf$1, raw$1, lexbuf$1); } @@ -3144,7 +3144,7 @@ function __ocaml_lex_template_tail_rec(_env, lexbuf, ___ocaml_lex_state) { continue ; case 2 : var start = loc_of_lexbuf(env, lexbuf); - var buf = Buffer.create(127); + var buf = $$Buffer.create(127); var match = line_comment(env, buf, lexbuf); var env$1 = save_comment(match[0], start, match[1], buf, /* true */1); ___ocaml_lex_state = 393; @@ -3152,7 +3152,7 @@ function __ocaml_lex_template_tail_rec(_env, lexbuf, ___ocaml_lex_state) { continue ; case 3 : var start$1 = loc_of_lexbuf(env, lexbuf); - var buf$1 = Buffer.create(127); + var buf$1 = $$Buffer.create(127); var match$1 = comment(env, buf$1, lexbuf); var env$2 = save_comment(match$1[0], start$1, match$1[1], buf$1, /* true */1); ___ocaml_lex_state = 393; @@ -3160,19 +3160,19 @@ function __ocaml_lex_template_tail_rec(_env, lexbuf, ___ocaml_lex_state) { continue ; case 4 : var start$2 = loc_of_lexbuf(env, lexbuf); - var cooked = Buffer.create(127); - var raw = Buffer.create(127); - var literal = Buffer.create(127); - Buffer.add_string(literal, "}"); + var cooked = $$Buffer.create(127); + var raw = $$Buffer.create(127); + var literal = $$Buffer.create(127); + $$Buffer.add_string(literal, "}"); var match$2 = template_part(env, start$2, cooked, raw, literal, lexbuf); return /* tuple */[ match$2[0], /* T_TEMPLATE_PART */Block.__(2, [/* tuple */[ match$2[1], /* record */[ - /* cooked */Buffer.contents(cooked), - /* raw */Buffer.contents(raw), - /* literal */Buffer.contents(literal) + /* cooked */$$Buffer.contents(cooked), + /* raw */$$Buffer.contents(raw), + /* literal */$$Buffer.contents(literal) ], match$2[2] ]]) @@ -3222,46 +3222,46 @@ function template_part(env, start, cooked, raw, literal, lexbuf) { /* true */1 ]; case 1 : - Buffer.add_char(literal$1, /* "`" */96); + $$Buffer.add_char(literal$1, /* "`" */96); return /* tuple */[ env$1, btwn(start$1, loc_of_lexbuf(env$1, lexbuf$1)), /* true */1 ]; case 2 : - Buffer.add_string(literal$1, "${"); + $$Buffer.add_string(literal$1, "${"); return /* tuple */[ env$1, btwn(start$1, loc_of_lexbuf(env$1, lexbuf$1)), /* false */0 ]; case 3 : - Buffer.add_char(raw$1, /* "\\" */92); - Buffer.add_char(literal$1, /* "\\" */92); + $$Buffer.add_char(raw$1, /* "\\" */92); + $$Buffer.add_char(literal$1, /* "\\" */92); var match = string_escape(env$1, cooked$1, lexbuf$1); var str = Lexing.lexeme(lexbuf$1); - Buffer.add_string(raw$1, str); - Buffer.add_string(literal$1, str); + $$Buffer.add_string(raw$1, str); + $$Buffer.add_string(literal$1, str); return template_part(match[0], start$1, cooked$1, raw$1, literal$1, lexbuf$1); case 4 : var lf = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 2 | 0); - Buffer.add_string(raw$1, lf); - Buffer.add_string(literal$1, lf); - Buffer.add_string(cooked$1, "\n"); + $$Buffer.add_string(raw$1, lf); + $$Buffer.add_string(literal$1, lf); + $$Buffer.add_string(cooked$1, "\n"); Lexing.new_line(lexbuf$1); return template_part(env$1, start$1, cooked$1, raw$1, literal$1, lexbuf$1); case 5 : var lf$1 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(raw$1, lf$1); - Buffer.add_char(literal$1, lf$1); - Buffer.add_char(cooked$1, /* "\n" */10); + $$Buffer.add_char(raw$1, lf$1); + $$Buffer.add_char(literal$1, lf$1); + $$Buffer.add_char(cooked$1, /* "\n" */10); Lexing.new_line(lexbuf$1); return template_part(env$1, start$1, cooked$1, raw$1, literal$1, lexbuf$1); case 6 : var c = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(raw$1, c); - Buffer.add_char(literal$1, c); - Buffer.add_char(cooked$1, c); + $$Buffer.add_char(raw$1, c); + $$Buffer.add_char(literal$1, c); + $$Buffer.add_char(cooked$1, c); return template_part(env$1, start$1, cooked$1, raw$1, literal$1, lexbuf$1); } @@ -3289,7 +3289,7 @@ function string_escape(env, buf, lexbuf) { /* false */0 ]; case 1 : - Buffer.add_string(buf$1, "\\"); + $$Buffer.add_string(buf$1, "\\"); return /* tuple */[ env$1, /* false */0 @@ -3299,7 +3299,7 @@ function string_escape(env, buf, lexbuf) { var b = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4] + 2 | 0); var code = (hexa_to_int(a) << 4) + hexa_to_int(b) | 0; List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code)); return /* tuple */[ env$1, @@ -3312,14 +3312,14 @@ function string_escape(env, buf, lexbuf) { var code$1 = ((oct_to_int(a$1) << 6) + (oct_to_int(b$1) << 3) | 0) + oct_to_int(c) | 0; if (code$1 < 256) { List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code$1)); } else { var code$2 = (oct_to_int(a$1) << 3) + oct_to_int(b$1) | 0; List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code$2)); - Buffer.add_char(buf$1, c); + $$Buffer.add_char(buf$1, c); } return /* tuple */[ env$1, @@ -3330,50 +3330,50 @@ function string_escape(env, buf, lexbuf) { var b$2 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4] + 1 | 0); var code$3 = (oct_to_int(a$2) << 3) + oct_to_int(b$2) | 0; List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code$3)); return /* tuple */[ env$1, /* true */1 ]; case 5 : - Buffer.add_char(buf$1, Char.chr(0)); + $$Buffer.add_char(buf$1, Char.chr(0)); return /* tuple */[ env$1, /* false */0 ]; case 6 : - Buffer.add_char(buf$1, Char.chr(8)); + $$Buffer.add_char(buf$1, Char.chr(8)); return /* tuple */[ env$1, /* false */0 ]; case 7 : - Buffer.add_char(buf$1, Char.chr(12)); + $$Buffer.add_char(buf$1, Char.chr(12)); return /* tuple */[ env$1, /* false */0 ]; case 8 : - Buffer.add_char(buf$1, Char.chr(10)); + $$Buffer.add_char(buf$1, Char.chr(10)); return /* tuple */[ env$1, /* false */0 ]; case 9 : - Buffer.add_char(buf$1, Char.chr(13)); + $$Buffer.add_char(buf$1, Char.chr(13)); return /* tuple */[ env$1, /* false */0 ]; case 10 : - Buffer.add_char(buf$1, Char.chr(9)); + $$Buffer.add_char(buf$1, Char.chr(9)); return /* tuple */[ env$1, /* false */0 ]; case 11 : - Buffer.add_char(buf$1, Char.chr(11)); + $$Buffer.add_char(buf$1, Char.chr(11)); return /* tuple */[ env$1, /* false */0 @@ -3382,7 +3382,7 @@ function string_escape(env, buf, lexbuf) { var a$3 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); var code$4 = oct_to_int(a$3); List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code$4)); return /* tuple */[ env$1, @@ -3395,7 +3395,7 @@ function string_escape(env, buf, lexbuf) { var d = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4] + 4 | 0); var code$5 = (((hexa_to_int(a$4) << 12) + (hexa_to_int(b$3) << 8) | 0) + (hexa_to_int(c$1) << 4) | 0) + hexa_to_int(d) | 0; List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code$5)); return /* tuple */[ env$1, @@ -3406,7 +3406,7 @@ function string_escape(env, buf, lexbuf) { var code$6 = Caml_format.caml_int_of_string("0x" + hex_code); var env$2 = code$6 > 1114111 ? lex_error(env$1, loc_of_lexbuf(env$1, lexbuf$1), /* UnexpectedToken */Block.__(1, ["ILLEGAL"])) : env$1; List.iter((function (param) { - return Buffer.add_char(buf$1, param); + return $$Buffer.add_char(buf$1, param); }), utf16to8(code$6)); return /* tuple */[ env$2, @@ -3415,7 +3415,7 @@ function string_escape(env, buf, lexbuf) { case 15 : var c$2 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); var env$3 = lex_error(env$1, loc_of_lexbuf(env$1, lexbuf$1), /* UnexpectedToken */Block.__(1, ["ILLEGAL"])); - Buffer.add_char(buf$1, c$2); + $$Buffer.add_char(buf$1, c$2); return /* tuple */[ env$3, /* false */0 @@ -3428,7 +3428,7 @@ function string_escape(env, buf, lexbuf) { ]; case 17 : var c$3 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(buf$1, c$3); + $$Buffer.add_char(buf$1, c$3); return /* tuple */[ env$1, /* false */0 @@ -3462,18 +3462,18 @@ function regexp_class(env, buf, lexbuf) { break; case 3 : var c = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(buf$1, c); + $$Buffer.add_char(buf$1, c); return env$1; case 4 : var c$1 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(buf$1, c$1); + $$Buffer.add_char(buf$1, c$1); return regexp_class(env$1, buf$1, lexbuf$1); } } if (exit === 1) { var s = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 2 | 0); - Buffer.add_string(buf$1, s); + $$Buffer.add_string(buf$1, s); return regexp_class(env$1, buf$1, lexbuf$1); } @@ -3510,7 +3510,7 @@ function regexp_body(env, buf, lexbuf) { ]; case 2 : var s = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 2 | 0); - Buffer.add_string(buf$1, s); + $$Buffer.add_string(buf$1, s); return regexp_body(env$1, buf$1, lexbuf$1); case 3 : var flags = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4] + 1 | 0, lexbuf$1[/* lex_curr_pos */5]); @@ -3525,7 +3525,7 @@ function regexp_body(env, buf, lexbuf) { ]; case 5 : var c = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(buf$1, c); + $$Buffer.add_char(buf$1, c); var env$4 = regexp_class(env$1, buf$1, lexbuf$1); return regexp_body(env$4, buf$1, lexbuf$1); case 6 : @@ -3537,7 +3537,7 @@ function regexp_body(env, buf, lexbuf) { ]; case 7 : var c$1 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(buf$1, c$1); + $$Buffer.add_char(buf$1, c$1); return regexp_body(env$1, buf$1, lexbuf$1); } @@ -3586,7 +3586,7 @@ function line_comment(env, buf, lexbuf) { ]; case 2 : var c = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(buf$1, c); + $$Buffer.add_char(buf$1, c); return line_comment(env$1, buf$1, lexbuf$1); } @@ -3616,7 +3616,7 @@ function comment(env, buf, lexbuf) { ]; case 1 : Lexing.new_line(lexbuf$1); - Buffer.add_char(buf$1, /* "\n" */10); + $$Buffer.add_char(buf$1, /* "\n" */10); return comment(env$1, buf$1, lexbuf$1); case 2 : var loc = loc_of_lexbuf(env$1, lexbuf$1); @@ -3632,12 +3632,12 @@ function comment(env, buf, lexbuf) { loc_of_lexbuf(env$1, lexbuf$1) ]; } else { - Buffer.add_string(buf$1, "*-/"); + $$Buffer.add_string(buf$1, "*-/"); return comment(env$1, buf$1, lexbuf$1); } case 4 : var c = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(buf$1, c); + $$Buffer.add_char(buf$1, c); return comment(env$1, buf$1, lexbuf$1); } @@ -3664,7 +3664,7 @@ function string_quote(env, q, buf, raw, octal, lexbuf) { switch (__ocaml_lex_state$1) { case 0 : var q$prime = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(raw$1, q$prime); + $$Buffer.add_char(raw$1, q$prime); if (q$1 === q$prime) { return /* tuple */[ env$1, @@ -3672,21 +3672,21 @@ function string_quote(env, q, buf, raw, octal, lexbuf) { octal$1 ]; } else { - Buffer.add_char(buf$1, q$prime); + $$Buffer.add_char(buf$1, q$prime); return string_quote(env$1, q$1, buf$1, raw$1, octal$1, lexbuf$1); } case 1 : var e = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(raw$1, e); + $$Buffer.add_char(raw$1, e); var match = string_escape(env$1, buf$1, lexbuf$1); var octal$2 = match[1] || octal$1; - Buffer.add_string(raw$1, Lexing.lexeme(lexbuf$1)); + $$Buffer.add_string(raw$1, Lexing.lexeme(lexbuf$1)); return string_quote(match[0], q$1, buf$1, raw$1, octal$2, lexbuf$1); case 2 : var x = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); - Buffer.add_string(raw$1, x); + $$Buffer.add_string(raw$1, x); var env$2 = lex_error(env$1, loc_of_lexbuf(env$1, lexbuf$1), /* UnexpectedToken */Block.__(1, ["ILLEGAL"])); - Buffer.add_string(buf$1, x); + $$Buffer.add_string(buf$1, x); return /* tuple */[ env$2, loc_of_lexbuf(env$2, lexbuf$1), @@ -3694,8 +3694,8 @@ function string_quote(env, q, buf, raw, octal, lexbuf) { ]; case 3 : var x$1 = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(raw$1, x$1); - Buffer.add_char(buf$1, x$1); + $$Buffer.add_char(raw$1, x$1); + $$Buffer.add_char(buf$1, x$1); return string_quote(env$1, q$1, buf$1, raw$1, octal$1, lexbuf$1); } @@ -3739,7 +3739,7 @@ function type_token(env, lexbuf) { return type_token(env$1, lexbuf$1); case 2 : var start = loc_of_lexbuf(env$1, lexbuf$1); - var buf = Buffer.create(127); + var buf = $$Buffer.create(127); var match = comment(env$1, buf, lexbuf$1); var env$2 = save_comment(match[0], start, match[1], buf, /* true */1); return type_token(env$2, lexbuf$1); @@ -3766,9 +3766,9 @@ function type_token(env, lexbuf) { } } else { var start$1 = loc_of_lexbuf(env$1, lexbuf$1); - var buf$1 = Buffer.create(127); - Buffer.add_string(buf$1, sp); - Buffer.add_string(buf$1, escape_type); + var buf$1 = $$Buffer.create(127); + $$Buffer.add_string(buf$1, sp); + $$Buffer.add_string(buf$1, escape_type); var match$1 = comment(env$1, buf$1, lexbuf$1); var env$5 = save_comment(match$1[0], start$1, match$1[1], buf$1, /* true */1); return type_token(env$5, lexbuf$1); @@ -3786,23 +3786,23 @@ function type_token(env, lexbuf) { } case 5 : var start$2 = loc_of_lexbuf(env$1, lexbuf$1); - var buf$2 = Buffer.create(127); + var buf$2 = $$Buffer.create(127); var match$2 = line_comment(env$1, buf$2, lexbuf$1); var env$7 = save_comment(match$2[0], start$2, match$2[1], buf$2, /* true */1); return type_token(env$7, lexbuf$1); case 6 : var quote = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); var start$3 = loc_of_lexbuf(env$1, lexbuf$1); - var buf$3 = Buffer.create(127); - var raw = Buffer.create(127); - Buffer.add_char(raw, quote); + var buf$3 = $$Buffer.create(127); + var raw = $$Buffer.create(127); + $$Buffer.add_char(raw, quote); var match$3 = string_quote(env$1, quote, buf$3, raw, /* false */0, lexbuf$1); return /* tuple */[ match$3[0], /* T_STRING */Block.__(1, [/* tuple */[ btwn(start$3, match$3[1]), - Buffer.contents(buf$3), - Buffer.contents(raw), + $$Buffer.contents(buf$3), + $$Buffer.contents(raw), match$3[2] ]]) ]; @@ -4100,7 +4100,7 @@ function __ocaml_lex_regexp_rec(_env, lexbuf, ___ocaml_lex_state) { continue ; case 3 : var start = loc_of_lexbuf(env, lexbuf); - var buf = Buffer.create(127); + var buf = $$Buffer.create(127); var match = line_comment(env, buf, lexbuf); var env$1 = save_comment(match[0], start, match[1], buf, /* true */1); ___ocaml_lex_state = 291; @@ -4108,7 +4108,7 @@ function __ocaml_lex_regexp_rec(_env, lexbuf, ___ocaml_lex_state) { continue ; case 4 : var start$1 = loc_of_lexbuf(env, lexbuf); - var buf$1 = Buffer.create(127); + var buf$1 = $$Buffer.create(127); var match$1 = comment(env, buf$1, lexbuf); var env$2 = save_comment(match$1[0], start$1, match$1[1], buf$1, /* true */1); ___ocaml_lex_state = 291; @@ -4116,7 +4116,7 @@ function __ocaml_lex_regexp_rec(_env, lexbuf, ___ocaml_lex_state) { continue ; case 5 : var start$2 = loc_of_lexbuf(env, lexbuf); - var buf$2 = Buffer.create(127); + var buf$2 = $$Buffer.create(127); var match$2 = regexp_body(env, buf$2, lexbuf); var env$3 = match$2[0]; var end_ = loc_of_lexbuf(env$3, lexbuf); @@ -4125,7 +4125,7 @@ function __ocaml_lex_regexp_rec(_env, lexbuf, ___ocaml_lex_state) { env$3, /* T_REGEXP */Block.__(3, [/* tuple */[ loc, - Buffer.contents(buf$2), + $$Buffer.contents(buf$2), match$2[1] ]]) ]; @@ -4167,7 +4167,7 @@ function __ocaml_lex_jsx_tag_rec(_env, lexbuf, ___ocaml_lex_state) { continue ; case 3 : var start = loc_of_lexbuf(env, lexbuf); - var buf = Buffer.create(127); + var buf = $$Buffer.create(127); var match = line_comment(env, buf, lexbuf); var env$1 = save_comment(match[0], start, match[1], buf, /* true */1); ___ocaml_lex_state = 333; @@ -4175,7 +4175,7 @@ function __ocaml_lex_jsx_tag_rec(_env, lexbuf, ___ocaml_lex_state) { continue ; case 4 : var start$1 = loc_of_lexbuf(env, lexbuf); - var buf$1 = Buffer.create(127); + var buf$1 = $$Buffer.create(127); var match$1 = comment(env, buf$1, lexbuf); var env$2 = save_comment(match$1[0], start$1, match$1[1], buf$1, /* true */1); ___ocaml_lex_state = 333; @@ -4225,14 +4225,14 @@ function __ocaml_lex_jsx_tag_rec(_env, lexbuf, ___ocaml_lex_state) { case 13 : var quote = Caml_bytes.get(lexbuf[/* lex_buffer */1], lexbuf[/* lex_start_pos */4]); var start$2 = loc_of_lexbuf(env, lexbuf); - var buf$2 = Buffer.create(127); - var raw = Buffer.create(127); - Buffer.add_char(raw, quote); + var buf$2 = $$Buffer.create(127); + var raw = $$Buffer.create(127); + $$Buffer.add_char(raw, quote); var mode = quote === /* "'" */39 ? /* JSX_SINGLE_QUOTED_TEXT */0 : /* JSX_DOUBLE_QUOTED_TEXT */1; var match$2 = jsx_text(env, mode, buf$2, raw, lexbuf); - Buffer.add_char(raw, quote); - var value = Buffer.contents(buf$2); - var raw$1 = Buffer.contents(raw); + $$Buffer.add_char(raw, quote); + var value = $$Buffer.contents(buf$2); + var raw$1 = $$Buffer.contents(raw); return /* tuple */[ match$2[0], /* T_JSX_TEXT */Block.__(4, [/* tuple */[ @@ -4270,12 +4270,12 @@ function jsx_child(env, start, buf, raw, lexbuf) { switch (__ocaml_lex_state$1) { case 0 : var lt = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); - Buffer.add_string(raw$1, lt); - Buffer.add_string(buf$1, lt); + $$Buffer.add_string(raw$1, lt); + $$Buffer.add_string(buf$1, lt); Lexing.new_line(lexbuf$1); var match = jsx_text(env$1, /* JSX_CHILD_TEXT */2, buf$1, raw$1, lexbuf$1); - var value = Buffer.contents(buf$1); - var raw$2 = Buffer.contents(raw$1); + var value = $$Buffer.contents(buf$1); + var raw$2 = $$Buffer.contents(raw$1); return /* tuple */[ match[0], /* T_JSX_TEXT */Block.__(4, [/* tuple */[ @@ -4301,11 +4301,11 @@ function jsx_child(env, start, buf, raw, lexbuf) { ]; case 4 : var c = Caml_bytes.get(lexbuf$1[/* lex_buffer */1], lexbuf$1[/* lex_start_pos */4]); - Buffer.add_char(raw$1, c); - Buffer.add_char(buf$1, c); + $$Buffer.add_char(raw$1, c); + $$Buffer.add_char(buf$1, c); var match$1 = jsx_text(env$1, /* JSX_CHILD_TEXT */2, buf$1, raw$1, lexbuf$1); - var value$1 = Buffer.contents(buf$1); - var raw$3 = Buffer.contents(raw$1); + var value$1 = $$Buffer.contents(buf$1); + var raw$3 = $$Buffer.contents(raw$1); return /* tuple */[ match$1[0], /* T_JSX_TEXT */Block.__(4, [/* tuple */[ @@ -4326,8 +4326,8 @@ function regexp(env) { function jsx_child$1(env) { var start = from_curr_lb(env[/* lex_source */0], env[/* lex_lb */1]); - var buf = Buffer.create(127); - var raw = Buffer.create(127); + var buf = $$Buffer.create(127); + var raw = $$Buffer.create(127); var match = jsx_child(env, start, buf, raw, env[/* lex_lb */1]); return get_result_and_clear_state(/* tuple */[ match[0], @@ -7884,13 +7884,13 @@ function primary$1(env) { } var raw_flags = match$5[2]; pop_lex_mode(env$3); - var filtered_flags = Buffer.create(raw_flags.length); + var filtered_flags = $$Buffer.create(raw_flags.length); var f = function (c) { if (c >= 110) { if (c !== 121) { return /* () */0; } else { - return Buffer.add_char(filtered_flags, c); + return $$Buffer.add_char(filtered_flags, c); } } else if (c >= 103) { switch (c - 103 | 0) { @@ -7902,7 +7902,7 @@ function primary$1(env) { case 0 : case 2 : case 6 : - return Buffer.add_char(filtered_flags, c); + return $$Buffer.add_char(filtered_flags, c); } } else { @@ -7910,7 +7910,7 @@ function primary$1(env) { } }; Bytes.iter(f, Caml_string.bytes_of_string(raw_flags)); - var flags = Buffer.contents(filtered_flags); + var flags = $$Buffer.contents(filtered_flags); if (flags !== raw_flags) { error$1(env$3, /* InvalidRegExpFlags */Block.__(3, [raw_flags])); } diff --git a/jscomp/test/gpr_2652_test.js b/jscomp/test/gpr_2652_test.js new file mode 100644 index 0000000000..283605a0e5 --- /dev/null +++ b/jscomp/test/gpr_2652_test.js @@ -0,0 +1,13 @@ +'use strict'; + +var $$Buffer = require("../../lib/js/buffer.js"); + +var foo = $$Buffer.contents; + +function bar(str) { + return Buffer.from(str); +} + +exports.foo = foo; +exports.bar = bar; +/* No side effect */ diff --git a/jscomp/test/gpr_2652_test.ml b/jscomp/test/gpr_2652_test.ml new file mode 100644 index 0000000000..970a58f278 --- /dev/null +++ b/jscomp/test/gpr_2652_test.ml @@ -0,0 +1,2 @@ +let foo buf = Buffer.contents buf +let bar str = Node.Buffer.fromString str diff --git a/jscomp/test/hamming_test.js b/jscomp/test/hamming_test.js index 41670fd9ce..f7ccd38be5 100644 --- a/jscomp/test/hamming_test.js +++ b/jscomp/test/hamming_test.js @@ -3,7 +3,7 @@ var Mt = require("./mt.js"); var Block = require("../../lib/js/block.js"); var Curry = require("../../lib/js/curry.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Printf = require("../../lib/js/printf.js"); var Caml_obj = require("../../lib/js/caml_obj.js"); var Caml_int64 = require("../../lib/js/caml_int64.js"); @@ -90,7 +90,7 @@ var nn1 = /* tuple */[ n0 ]; -var buf = Buffer.create(5000); +var buf = $$Buffer.create(5000); function pr(param) { var nh = param[1]; @@ -266,7 +266,7 @@ Mt.from_pair_suites("hamming_test.ml", /* :: */[ "output", (function () { return /* Eq */Block.__(0, [ - Buffer.contents(buf), + $$Buffer.contents(buf), "6726050156250000000000000000000000000\n6729216728661136606575523242669244416\n6730293634611118019721084375000000000\n6731430439413948088320000000000000000\n6733644878411293029785156250000000000\n6736815026358904613608094481682268160\n6739031236724077363200000000000000000\n6743282904874568941599068856042651648\n6744421903677486140423997176256921600\n6746640616477458432000000000000000000\n6750000000000000000000000000000000000\n6750897085400702945836103937453588480\n6752037370304563380023474956271616000\n6754258588364960445000000000000000000\n6755399441055744000000000000000000000\n6757621765136718750000000000000000000\n6758519863481752323552044362431792300\n6759661435938757375539248533340160000\n6761885162088395001166534423828125000\n6763027302973440000000000000000000000\n6765252136392518877983093261718750000\n6767294110289640371843415775641600000\n6768437164792816653010961694720000000\n6770663777894400000000000000000000000\n6774935403077748181101173538816000000\n6776079748261363229431903027200000000\n6778308875544000000000000000000000000\n6782585324034592562287109312160000000\n6783730961356018699387011072000000000\n6785962605658597412109375000000000000\n6789341568946838378906250000000000000\n6791390813820928754681118720000000000\n6794772480000000000000000000000000000\n6799059315411241693033267200000000000\n6800207735332289107722240000000000000\n6802444800000000000000000000000000000\n6806736475893120841673472000000000000\n6807886192552970708582400000000000000\n6810125783203125000000000000000000000\n6814422305043756994967597929687500000\n6815573319906622439424000000000000000\n6817815439391434192657470703125000000\n6821025214188390921278195662703296512\n6821210263296961784362792968750000000\n6823269127183128330240000000000000000\n6828727177473454717179297140960133120\n6830973624183426662400000000000000000\n6834375000000000000000000000000000000\n6835283298968211732659055236671758336\n6836437837433370422273768393225011200\n6838686820719522450562500000000000000\n6839841934068940800000000000000000000\n6842092037200927734375000000000000000\n6844157203887991842733489140006912000\n6845313241232438768082197309030400000\n6847565144260608000000000000000000000\n6849817788097425363957881927490234375\n6851885286668260876491458472837120000\n6853042629352726861173598715904000000\n6855297075118080000000000000000000000\n6859622095616220033364938208051200000\n6860780745114630269799801815040000000\n6863037736488300000000000000000000000\n6866455078125000000000000000000000000\n6867367640585024969315698178562000000\n6868527598372968933129348710400000000\n6870787138229329879760742187500000000\n6871947673600000000000000000000000000\n6874208338558673858642578125000000000\n6876283198993690364114632704000000000\n6879707136000000000000000000000000000\n6884047556853882214196183040000000000\n6885210332023942721568768000000000000\n6887475360000000000000000000000000000\n6891820681841784852194390400000000000\n6892984769959882842439680000000000000\n6895252355493164062500000000000000000\n6899602583856803957404692903808593750\n6900767986405455219916800000000000000\n6903038132383827120065689086914062500\n6906475391588173806667327880859375000\n6908559991272917434368000000000000000\n6912000000000000000000000000000000000\n6914086267191872901144038355222134784\n6916360794485719495680000000000000000\n6917529027641081856000000000000000000\n6919804687500000000000000000000000000\n6921893310401287552552190498140323840\n6924170405978516481194531250000000000\n6925339958244802560000000000000000000\n6927618187665939331054687500000000000\n6929709168936591740767657754256998400\n6930879656747844252683224775393280000\n6933159708563865600000000000000000000\n6937533852751614137447601703747584000\n6938705662219635946938268699852800000\n6940988288557056000000000000000000000\n6945367371811422783781999935651840000\n6946540504428563148172299337728000000\n6948825708194403750000000000000000000\n" ]); }) diff --git a/jscomp/test/ocaml_parsetree_test.js b/jscomp/test/ocaml_parsetree_test.js index 36420ebdfa..80468ef430 100644 --- a/jscomp/test/ocaml_parsetree_test.js +++ b/jscomp/test/ocaml_parsetree_test.js @@ -9,7 +9,7 @@ var $$Array = require("../../lib/js/array.js"); var Block = require("../../lib/js/block.js"); var Bytes = require("../../lib/js/bytes.js"); var Curry = require("../../lib/js/curry.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Format = require("../../lib/js/format.js"); var Js_exn = require("../../lib/js/js_exn.js"); var Lexing = require("../../lib/js/lexing.js"); @@ -1721,7 +1721,7 @@ function errorf($staropt$star, $staropt$star$1, $staropt$star$2, fmt) { ]; }; var fmt$1 = fmt; - var buf = Buffer.create(64); + var buf = $$Buffer.create(64); var ppf = Format.formatter_of_buffer(buf); Curry._1(Misc_043[/* set_color_tag_handling */5], ppf); if (before) { @@ -1729,7 +1729,7 @@ function errorf($staropt$star, $staropt$star$1, $staropt$star$2, fmt) { } return Format.kfprintf((function () { Format.pp_print_flush(ppf, /* () */0); - return Curry._1(k, Buffer.contents(buf)); + return Curry._1(k, $$Buffer.contents(buf)); }), ppf, fmt$1); } diff --git a/jscomp/test/ocaml_typedtree_test.js b/jscomp/test/ocaml_typedtree_test.js index 645c7d6562..47aef44289 100644 --- a/jscomp/test/ocaml_typedtree_test.js +++ b/jscomp/test/ocaml_typedtree_test.js @@ -11,7 +11,7 @@ var Bytes = require("../../lib/js/bytes.js"); var Curry = require("../../lib/js/curry.js"); var Int32 = require("../../lib/js/int32.js"); var Int64 = require("../../lib/js/int64.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Digest = require("../../lib/js/digest.js"); var Format = require("../../lib/js/format.js"); var Js_exn = require("../../lib/js/js_exn.js"); @@ -1965,7 +1965,7 @@ function errorf($staropt$star, $staropt$star$1, $staropt$star$2, fmt) { ]; }; var fmt$1 = fmt; - var buf = Buffer.create(64); + var buf = $$Buffer.create(64); var ppf = Format.formatter_of_buffer(buf); Curry._1(Misc_043[/* set_color_tag_handling */5], ppf); if (before) { @@ -1973,7 +1973,7 @@ function errorf($staropt$star, $staropt$star$1, $staropt$star$2, fmt) { } return Format.kfprintf((function () { Format.pp_print_flush(ppf, /* () */0); - return Curry._1(k, Buffer.contents(buf)); + return Curry._1(k, $$Buffer.contents(buf)); }), ppf, fmt$1); } @@ -51996,14 +51996,14 @@ function do_check_partial(pred, exhaust, loc, casel, pss) { } if (exit === 1) { try { - var buf = Buffer.create(16); + var buf = $$Buffer.create(16); var fmt = Format.formatter_of_buffer(buf); top_pretty(fmt, v$1); var match$4 = check_partial_all(v$1, casel); if (match$4) { - Buffer.add_string(buf, "\n(However, some guarded clause may match this value.)"); + $$Buffer.add_string(buf, "\n(However, some guarded clause may match this value.)"); } - errmsg = Buffer.contents(buf); + errmsg = $$Buffer.contents(buf); } catch (exn){ errmsg = ""; diff --git a/jscomp/test/scanf_io.js b/jscomp/test/scanf_io.js index 43b329390c..6cb9f18a20 100644 --- a/jscomp/test/scanf_io.js +++ b/jscomp/test/scanf_io.js @@ -5,7 +5,7 @@ var Block = require("../../lib/js/block.js"); var Bytes = require("../../lib/js/bytes.js"); var Curry = require("../../lib/js/curry.js"); var Scanf = require("../../lib/js/scanf.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Digest = require("../../lib/js/digest.js"); var Js_exn = require("../../lib/js/js_exn.js"); var Printf = require("../../lib/js/printf.js"); @@ -28,31 +28,31 @@ var tscanf_data_file_lines = /* :: */[ function create_tscanf_data(ob, lines) { var add_line = function (param) { - Buffer.add_string(ob, Curry._1(Printf.sprintf(/* Format */[ + $$Buffer.add_string(ob, Curry._1(Printf.sprintf(/* Format */[ /* Caml_string */Block.__(3, [ /* No_padding */0, /* End_of_format */0 ]), "%S" ]), param[0])); - Buffer.add_string(ob, " -> "); - Buffer.add_string(ob, Curry._1(Printf.sprintf(/* Format */[ + $$Buffer.add_string(ob, " -> "); + $$Buffer.add_string(ob, Curry._1(Printf.sprintf(/* Format */[ /* Caml_string */Block.__(3, [ /* No_padding */0, /* End_of_format */0 ]), "%S" ]), param[1])); - return Buffer.add_string(ob, ";\n"); + return $$Buffer.add_string(ob, ";\n"); }; return List.iter(add_line, lines); } function write_tscanf_data_file(fname, lines) { var oc = Pervasives.open_out(fname); - var ob = Buffer.create(42); + var ob = $$Buffer.create(42); create_tscanf_data(ob, lines); - Buffer.output_buffer(oc, ob); + $$Buffer.output_buffer(oc, ob); Caml_io.caml_ml_flush(oc); return Caml_missing_polyfill.not_implemented("caml_ml_close_channel not implemented by bucklescript yet\n"); } @@ -155,11 +155,11 @@ function add_digest_ib(ob, ib) { ]), f); }; var output_line_digest = function (s) { - Buffer.add_string(ob, s); - Buffer.add_char(ob, /* "#" */35); + $$Buffer.add_string(ob, s); + $$Buffer.add_char(ob, /* "#" */35); var s$1 = Digest.to_hex(Digest.string(s)); - Buffer.add_string(ob, Caml_string.bytes_to_string(Bytes.uppercase(Caml_string.bytes_of_string(s$1)))); - return Buffer.add_char(ob, /* "\n" */10); + $$Buffer.add_string(ob, Caml_string.bytes_to_string(Bytes.uppercase(Caml_string.bytes_of_string(s$1)))); + return $$Buffer.add_char(ob, /* "\n" */10); }; try { while(true) { @@ -178,9 +178,9 @@ function add_digest_ib(ob, ib) { function digest_file(fname) { var ib = Scanf.Scanning[/* from_file */4](fname); - var ob = Buffer.create(42); + var ob = $$Buffer.create(42); add_digest_ib(ob, ib); - return Buffer.contents(ob); + return $$Buffer.contents(ob); } function test54() { @@ -188,13 +188,13 @@ function test54() { } function test55() { - var ob = Buffer.create(42); + var ob = $$Buffer.create(42); create_tscanf_data(ob, tscanf_data_file_lines); - var s = Buffer.contents(ob); + var s = $$Buffer.contents(ob); ob[/* position */1] = 0; var ib = Scanf.Scanning[/* from_string */6](s); add_digest_ib(ob, ib); - var tscanf_data_file_lines_digest = Buffer.contents(ob); + var tscanf_data_file_lines_digest = $$Buffer.contents(ob); return +(digest_file(tscanf_data_file) === tscanf_data_file_lines_digest); } diff --git a/jscomp/test/sexpm.js b/jscomp/test/sexpm.js index bf57745e89..ad16cf53c1 100644 --- a/jscomp/test/sexpm.js +++ b/jscomp/test/sexpm.js @@ -6,7 +6,7 @@ var List = require("../../lib/js/list.js"); var Block = require("../../lib/js/block.js"); var Bytes = require("../../lib/js/bytes.js"); var Curry = require("../../lib/js/curry.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Format = require("../../lib/js/format.js"); var Js_exn = require("../../lib/js/js_exn.js"); var Printf = require("../../lib/js/printf.js"); @@ -103,14 +103,14 @@ function to_buf(b, t) { var l = t[1]; if (l) { if (l[1]) { - Buffer.add_char(b, /* "(" */40); + $$Buffer.add_char(b, /* "(" */40); List.iteri((function (i, t$prime) { if (i > 0) { - Buffer.add_char(b, /* " " */32); + $$Buffer.add_char(b, /* " " */32); } return to_buf(b, t$prime); }), l); - return Buffer.add_char(b, /* ")" */41); + return $$Buffer.add_char(b, /* ")" */41); } else { return Curry._2(Printf.bprintf(b, /* Format */[ /* Char_literal */Block.__(12, [ @@ -124,7 +124,7 @@ function to_buf(b, t) { ]), to_buf, l[0]); } } else { - return Buffer.add_string(b, "()"); + return $$Buffer.add_string(b, "()"); } } else { var s = t[1]; @@ -143,15 +143,15 @@ function to_buf(b, t) { "\"%s\"" ]), $$String.escaped(s)); } else { - return Buffer.add_string(b, s); + return $$Buffer.add_string(b, s); } } } function to_string(t) { - var b = Buffer.create(128); + var b = $$Buffer.create(128); to_buf(b, t); - return Buffer.contents(b); + return $$Buffer.contents(b); } function print(fmt, t) { @@ -353,7 +353,7 @@ function make($staropt$star, refill) { return /* record */[ /* buf */Caml_string.caml_create_string(bufsize$1), /* refill */refill, - /* atom */Buffer.create(32), + /* atom */$$Buffer.create(32), /* i */0, /* len */0, /* line */1, @@ -403,7 +403,7 @@ function _get(t) { } function _error(t, msg) { - var b = Buffer.create(32); + var b = $$Buffer.create(32); Curry._2(Printf.bprintf(b, /* Format */[ /* String_literal */Block.__(11, [ "at ", @@ -428,7 +428,7 @@ function _error(t, msg) { "at %d, %d: " ]), t[/* line */5], t[/* col */6]); return Printf.kbprintf((function (b) { - var msg$prime = Buffer.contents(b); + var msg$prime = $$Buffer.contents(b); return /* `Error */[ 106380200, msg$prime @@ -525,7 +525,7 @@ function expr_starting_with(c, k, t) { } switch (exit) { case 1 : - Buffer.add_char(t[/* atom */2], c); + $$Buffer.add_char(t[/* atom */2], c); return atom(k, t); case 2 : throw [ @@ -607,7 +607,7 @@ function expr_list(acc, k, t) { } function _return_atom(last, k, t) { - var s = Buffer.contents(t[/* atom */2]); + var s = $$Buffer.contents(t[/* atom */2]); t[/* atom */2][/* position */1] = 0; return Curry._2(k, last, /* `Atom */[ 726615281, @@ -669,7 +669,7 @@ function atom(k, t) { } switch (exit) { case 1 : - Buffer.add_char(t[/* atom */2], c); + $$Buffer.add_char(t[/* atom */2], c); continue ; case 2 : return _return_atom(/* Some */[c], k, t); @@ -693,7 +693,7 @@ function quoted(k, t) { exit = 1; } else { return escaped((function (c) { - Buffer.add_char(t[/* atom */2], c); + $$Buffer.add_char(t[/* atom */2], c); return quoted(k, t); }), t); } @@ -701,7 +701,7 @@ function quoted(k, t) { return _return_atom(/* None */0, k, t); } if (exit === 1) { - Buffer.add_char(t[/* atom */2], c); + $$Buffer.add_char(t[/* atom */2], c); continue ; } @@ -985,7 +985,7 @@ function MakeDecode(funarg) { return /* record */[ /* buf */Caml_string.caml_create_string(bufsize$1), /* refill */refill, - /* atom */Buffer.create(32), + /* atom */$$Buffer.create(32), /* i */0, /* len */0, /* line */1, @@ -1032,7 +1032,7 @@ function MakeDecode(funarg) { return c; }; var _error = function (t, msg) { - var b = Buffer.create(32); + var b = $$Buffer.create(32); Curry._2(Printf.bprintf(b, /* Format */[ /* String_literal */Block.__(11, [ "at ", @@ -1057,7 +1057,7 @@ function MakeDecode(funarg) { "at %d, %d: " ]), t[/* line */5], t[/* col */6]); return Printf.kbprintf((function (b) { - var msg$prime = Buffer.contents(b); + var msg$prime = $$Buffer.contents(b); return Curry._1(funarg[/* return */0], /* `Error */[ 106380200, msg$prime @@ -1151,7 +1151,7 @@ function MakeDecode(funarg) { } switch (exit) { case 1 : - Buffer.add_char(t[/* atom */2], c); + $$Buffer.add_char(t[/* atom */2], c); return atom(k, t); case 2 : throw [ @@ -1231,7 +1231,7 @@ function MakeDecode(funarg) { }; }; var _return_atom = function (last, k, t) { - var s = Buffer.contents(t[/* atom */2]); + var s = $$Buffer.contents(t[/* atom */2]); t[/* atom */2][/* position */1] = 0; return Curry._2(k, last, /* `Atom */[ 726615281, @@ -1292,7 +1292,7 @@ function MakeDecode(funarg) { } switch (exit) { case 1 : - Buffer.add_char(t[/* atom */2], c); + $$Buffer.add_char(t[/* atom */2], c); continue ; case 2 : return _return_atom(/* Some */[c], k, t); @@ -1315,7 +1315,7 @@ function MakeDecode(funarg) { exit = 1; } else { return escaped((function (c) { - Buffer.add_char(t[/* atom */2], c); + $$Buffer.add_char(t[/* atom */2], c); return quoted(k, t); }), t); } @@ -1323,7 +1323,7 @@ function MakeDecode(funarg) { return _return_atom(/* None */0, k, t); } if (exit === 1) { - Buffer.add_char(t[/* atom */2], c); + $$Buffer.add_char(t[/* atom */2], c); continue ; } diff --git a/jscomp/test/tfloat_record_test.js b/jscomp/test/tfloat_record_test.js index 50962e0bf3..5d9934cc42 100644 --- a/jscomp/test/tfloat_record_test.js +++ b/jscomp/test/tfloat_record_test.js @@ -4,13 +4,13 @@ var Mt = require("./mt.js"); var $$Array = require("../../lib/js/array.js"); var Block = require("../../lib/js/block.js"); var Curry = require("../../lib/js/curry.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Format = require("../../lib/js/format.js"); var Mt_global = require("./mt_global.js"); var Pervasives = require("../../lib/js/pervasives.js"); var Float_array = require("./float_array.js"); -var buf = Buffer.create(50); +var buf = $$Buffer.create(50); var fmt = Format.formatter_of_buffer(buf); @@ -64,7 +64,7 @@ function eq(f, a, b) { return Mt_global.collect_eq(test_id, suites, f, a, b); } -eq("File \"tfloat_record_test.ml\", line 43, characters 5-12", Buffer.contents(buf), "1.\n1.\n2.\n3.\n\n1.\n2.\n3.\n4.\n5.\n6.\n7.\n8.\n9.\n0.\n1.\n2.\n3.\n4.\n5.\n6.\n7.\n8.\n9.\n0.\n1.\n2.\n3.\n4.\n5.\n6.\n7.\n8.\n9.\n0.\n1.\n2.\n3.\n4.\n5.\n6.\n7.\n8.\n9.\n0.\n\n"); +eq("File \"tfloat_record_test.ml\", line 43, characters 5-12", $$Buffer.contents(buf), "1.\n1.\n2.\n3.\n\n1.\n2.\n3.\n4.\n5.\n6.\n7.\n8.\n9.\n0.\n1.\n2.\n3.\n4.\n5.\n6.\n7.\n8.\n9.\n0.\n1.\n2.\n3.\n4.\n5.\n6.\n7.\n8.\n9.\n0.\n1.\n2.\n3.\n4.\n5.\n6.\n7.\n8.\n9.\n0.\n\n"); Mt.from_pair_suites("tfloat_record_test.ml", suites[0]); diff --git a/jscomp/test/tscanf_test.js b/jscomp/test/tscanf_test.js index 0c52286b4c..5b885f7526 100644 --- a/jscomp/test/tscanf_test.js +++ b/jscomp/test/tscanf_test.js @@ -6,7 +6,7 @@ var Block = require("../../lib/js/block.js"); var Bytes = require("../../lib/js/bytes.js"); var Curry = require("../../lib/js/curry.js"); var Scanf = require("../../lib/js/scanf.js"); -var Buffer = require("../../lib/js/buffer.js"); +var $$Buffer = require("../../lib/js/buffer.js"); var Js_exn = require("../../lib/js/js_exn.js"); var Printf = require("../../lib/js/printf.js"); var $$String = require("../../lib/js/string.js"); @@ -3672,21 +3672,21 @@ function test49() { test("File \"tscanf_test.ml\", line 1176, characters 5-12", test49(/* () */0)); function next_char(ob, _) { - var s = Buffer.contents(ob); + var s = $$Buffer.contents(ob); var len = s.length; if (len === 0) { throw Caml_builtin_exceptions.end_of_file; } else { var c = Caml_string.get(s, 0); ob[/* position */1] = 0; - Buffer.add_string(ob, $$String.sub(s, 1, len - 1 | 0)); + $$Buffer.add_string(ob, $$String.sub(s, 1, len - 1 | 0)); return c; } } function send_string(ob, s) { - Buffer.add_string(ob, s); - return Buffer.add_char(ob, /* "\n" */10); + $$Buffer.add_string(ob, s); + return $$Buffer.add_char(ob, /* "\n" */10); } function send_int(ob, i) { @@ -3766,7 +3766,7 @@ function reader(ib, ob) { } function go() { - var ob = Buffer.create(17); + var ob = $$Buffer.create(17); var ib = Scanf.Scanning[/* from_function */7]((function (param) { return next_char(ob, param); })); diff --git a/lib/js/arg.js b/lib/js/arg.js index e2fe30c242..b839bcc405 100644 --- a/lib/js/arg.js +++ b/lib/js/arg.js @@ -5,7 +5,7 @@ var List = require("./list.js"); var Block = require("./block.js"); var Bytes = require("./bytes.js"); var Curry = require("./curry.js"); -var Buffer = require("./buffer.js"); +var $$Buffer = require("./buffer.js"); var Js_exn = require("./js_exn.js"); var Printf = require("./printf.js"); var $$String = require("./string.js"); @@ -169,9 +169,9 @@ function usage_b(buf, speclist, errmsg) { } function usage_string(speclist, errmsg) { - var b = Buffer.create(200); + var b = $$Buffer.create(200); usage_b(b, speclist, errmsg); - return Buffer.contents(b); + return $$Buffer.contents(b); } function usage(speclist, errmsg) { @@ -189,7 +189,7 @@ var current = [0]; function parse_argv_dynamic($staropt$star, argv, speclist, anonfun, errmsg) { var current$1 = $staropt$star ? $staropt$star[0] : current; var l = argv.length; - var b = Buffer.create(200); + var b = $$Buffer.create(200); var initpos = current$1[0]; var stop = function (error) { var progname = initpos < l ? Caml_array.caml_array_get(argv, initpos) : "(?)"; @@ -291,12 +291,12 @@ function parse_argv_dynamic($staropt$star, argv, speclist, anonfun, errmsg) { if (Caml_obj.caml_equal(error, /* Unknown */Block.__(0, ["-help"])) || Caml_obj.caml_equal(error, /* Unknown */Block.__(0, ["--help"]))) { throw [ Help, - Buffer.contents(b) + $$Buffer.contents(b) ]; } else { throw [ Bad, - Buffer.contents(b) + $$Buffer.contents(b) ]; } }; diff --git a/lib/js/camlinternalFormat.js b/lib/js/camlinternalFormat.js index c1bd6f4449..62bce187e8 100644 --- a/lib/js/camlinternalFormat.js +++ b/lib/js/camlinternalFormat.js @@ -4,7 +4,7 @@ var Char = require("./char.js"); var Block = require("./block.js"); var Bytes = require("./bytes.js"); var Curry = require("./curry.js"); -var Buffer = require("./buffer.js"); +var $$Buffer = require("./buffer.js"); var Js_exn = require("./js_exn.js"); var $$String = require("./string.js"); var Caml_io = require("./caml_io.js"); @@ -3654,17 +3654,17 @@ function bufput_acc(b, _acc) { case 0 : var s = string_of_formatting_lit(acc[1]); bufput_acc(b, acc[0]); - return Buffer.add_string(b, s); + return $$Buffer.add_string(b, s); case 1 : var match = acc[1]; var p = acc[0]; bufput_acc(b, p); if (match.tag) { - Buffer.add_string(b, "@["); + $$Buffer.add_string(b, "@["); _acc = match[0]; continue ; } else { - Buffer.add_string(b, "@{"); + $$Buffer.add_string(b, "@{"); _acc = match[0]; continue ; } @@ -3694,10 +3694,10 @@ function bufput_acc(b, _acc) { switch (exit) { case 1 : bufput_acc(b, acc[0]); - return Buffer.add_string(b, acc[1]); + return $$Buffer.add_string(b, acc[1]); case 2 : bufput_acc(b, acc[0]); - return Buffer.add_char(b, acc[1]); + return $$Buffer.add_char(b, acc[1]); } }; @@ -3714,17 +3714,17 @@ function strput_acc(b, _acc) { case 0 : var s = string_of_formatting_lit(acc[1]); strput_acc(b, acc[0]); - return Buffer.add_string(b, s); + return $$Buffer.add_string(b, s); case 1 : var match = acc[1]; var p = acc[0]; strput_acc(b, p); if (match.tag) { - Buffer.add_string(b, "@["); + $$Buffer.add_string(b, "@["); _acc = match[0]; continue ; } else { - Buffer.add_string(b, "@{"); + $$Buffer.add_string(b, "@{"); _acc = match[0]; continue ; } @@ -3738,7 +3738,7 @@ function strput_acc(b, _acc) { break; case 6 : strput_acc(b, acc[0]); - return Buffer.add_string(b, Curry._1(acc[1], /* () */0)); + return $$Buffer.add_string(b, Curry._1(acc[1], /* () */0)); case 7 : _acc = acc[0]; continue ; @@ -3754,20 +3754,20 @@ function strput_acc(b, _acc) { switch (exit) { case 1 : strput_acc(b, acc[0]); - return Buffer.add_string(b, acc[1]); + return $$Buffer.add_string(b, acc[1]); case 2 : strput_acc(b, acc[0]); - return Buffer.add_char(b, acc[1]); + return $$Buffer.add_char(b, acc[1]); } }; } function failwith_message(param) { - var buf = Buffer.create(256); + var buf = $$Buffer.create(256); var k = function (_, acc) { strput_acc(buf, acc); - var s = Buffer.contents(buf); + var s = $$Buffer.contents(buf); throw [ Caml_builtin_exceptions.failure, s diff --git a/lib/js/filename.js b/lib/js/filename.js index 8efb681728..109171fe97 100644 --- a/lib/js/filename.js +++ b/lib/js/filename.js @@ -2,7 +2,7 @@ var Block = require("./block.js"); var Curry = require("./curry.js"); -var Buffer = require("./buffer.js"); +var $$Buffer = require("./buffer.js"); var Js_exn = require("./js_exn.js"); var Printf = require("./printf.js"); var Random = require("./random.js"); @@ -137,17 +137,17 @@ function quote(param) { var quotequote = "'\\''"; var s = param; var l = s.length; - var b = Buffer.create(l + 20 | 0); - Buffer.add_char(b, /* "'" */39); + var b = $$Buffer.create(l + 20 | 0); + $$Buffer.add_char(b, /* "'" */39); for(var i = 0 ,i_finish = l - 1 | 0; i <= i_finish; ++i){ if (Caml_string.get(s, i) === /* "'" */39) { - Buffer.add_string(b, quotequote); + $$Buffer.add_string(b, quotequote); } else { - Buffer.add_char(b, Caml_string.get(s, i)); + $$Buffer.add_char(b, Caml_string.get(s, i)); } } - Buffer.add_char(b, /* "'" */39); - return Buffer.contents(b); + $$Buffer.add_char(b, /* "'" */39); + return $$Buffer.contents(b); } function basename(param) { diff --git a/lib/js/format.js b/lib/js/format.js index a977e62256..88e187c0c9 100644 --- a/lib/js/format.js +++ b/lib/js/format.js @@ -3,7 +3,7 @@ var Block = require("./block.js"); var Bytes = require("./bytes.js"); var Curry = require("./curry.js"); -var Buffer = require("./buffer.js"); +var $$Buffer = require("./buffer.js"); var $$String = require("./string.js"); var Caml_io = require("./caml_io.js"); var Caml_obj = require("./caml_obj.js"); @@ -1041,13 +1041,13 @@ function formatter_of_out_channel(oc) { function formatter_of_buffer(b) { return make_formatter((function (param, param$1, param$2) { - return Buffer.add_substring(b, param, param$1, param$2); + return $$Buffer.add_substring(b, param, param$1, param$2); }), (function () { return /* () */0; })); } -var stdbuf = Buffer.create(512); +var stdbuf = $$Buffer.create(512); var std_formatter = formatter_of_out_channel(Pervasives.stdout); @@ -1057,15 +1057,15 @@ var str_formatter = formatter_of_buffer(stdbuf); function flush_str_formatter() { pp_flush_queue(str_formatter, /* false */0); - var s = Buffer.contents(stdbuf); - Buffer.reset(stdbuf); + var s = $$Buffer.contents(stdbuf); + $$Buffer.reset(stdbuf); return s; } function flush_buf_formatter(buf, ppf) { pp_flush_queue(ppf, /* false */0); - var s = Buffer.contents(buf); - Buffer.reset(buf); + var s = $$Buffer.contents(buf); + $$Buffer.reset(buf); return s; } @@ -1269,15 +1269,15 @@ function set_tags(param) { } function compute_tag(output, tag_acc) { - var buf = Buffer.create(16); + var buf = $$Buffer.create(16); var ppf = formatter_of_buffer(buf); Curry._2(output, ppf, tag_acc); pp_print_flush(ppf, /* () */0); var len = buf[/* position */1]; if (len < 2) { - return Buffer.contents(buf); + return $$Buffer.contents(buf); } else { - return Buffer.sub(buf, 1, len - 2 | 0); + return $$Buffer.sub(buf, 1, len - 2 | 0); } } @@ -1634,7 +1634,7 @@ function eprintf(fmt) { } function ksprintf(k, param) { - var b = Buffer.create(512); + var b = $$Buffer.create(512); var ppf = formatter_of_buffer(b); var k$prime = function (_, acc) { strput_acc(ppf, acc); @@ -1650,7 +1650,7 @@ function sprintf(fmt) { } function asprintf(param) { - var b = Buffer.create(512); + var b = $$Buffer.create(512); var ppf = formatter_of_buffer(b); var k$prime = function (ppf, acc) { output_acc(ppf, acc); diff --git a/lib/js/node.js b/lib/js/node.js index f98b37ba8b..295bea2403 100644 --- a/lib/js/node.js +++ b/lib/js/node.js @@ -23,7 +23,7 @@ var Process = 0; var Module = 0; -var Buffer = 0; +var $$Buffer = 0; var Child_process = 0; @@ -31,7 +31,7 @@ exports.Path = Path; exports.Fs = Fs; exports.Process = Process; exports.Module = Module; -exports.Buffer = Buffer; +exports.$$Buffer = $$Buffer; exports.Child_process = Child_process; exports.test = test; /* No side effect */ diff --git a/lib/js/printexc.js b/lib/js/printexc.js index 37e915d5d2..56ac8792d0 100644 --- a/lib/js/printexc.js +++ b/lib/js/printexc.js @@ -4,7 +4,7 @@ var Obj = require("./obj.js"); var $$Array = require("./array.js"); var Block = require("./block.js"); var Curry = require("./curry.js"); -var Buffer = require("./buffer.js"); +var $$Buffer = require("./buffer.js"); var Js_exn = require("./js_exn.js"); var Printf = require("./printf.js"); var Caml_io = require("./caml_io.js"); @@ -361,7 +361,7 @@ function print_backtrace(outchan) { function backtrace_to_string(backtrace) { if (backtrace) { var a = backtrace[0]; - var b = Buffer.create(1024); + var b = $$Buffer.create(1024); for(var i = 0 ,i_finish = a.length - 1 | 0; i <= i_finish; ++i){ var match = format_backtrace_slot(i, Caml_array.caml_array_get(a, i)); if (match) { @@ -378,7 +378,7 @@ function backtrace_to_string(backtrace) { } } - return Buffer.contents(b); + return $$Buffer.contents(b); } else { return "(Program not linked with -g, cannot print stack backtrace)\n"; } diff --git a/lib/js/printf.js b/lib/js/printf.js index cee5db5571..444bed9c6b 100644 --- a/lib/js/printf.js +++ b/lib/js/printf.js @@ -1,7 +1,7 @@ 'use strict'; var Curry = require("./curry.js"); -var Buffer = require("./buffer.js"); +var $$Buffer = require("./buffer.js"); var Pervasives = require("./pervasives.js"); var CamlinternalFormat = require("./camlinternalFormat.js"); @@ -53,9 +53,9 @@ function eprintf(fmt) { function ksprintf(k, param) { var k$prime = function (_, acc) { - var buf = Buffer.create(64); + var buf = $$Buffer.create(64); CamlinternalFormat.strput_acc(buf, acc); - return Curry._1(k, Buffer.contents(buf)); + return Curry._1(k, $$Buffer.contents(buf)); }; return CamlinternalFormat.make_printf(k$prime, /* () */0, /* End_of_acc */0, param[0]); } diff --git a/lib/js/scanf.js b/lib/js/scanf.js index d8619623cc..1b6ca434f1 100644 --- a/lib/js/scanf.js +++ b/lib/js/scanf.js @@ -4,7 +4,7 @@ var List = require("./list.js"); var Block = require("./block.js"); var Bytes = require("./bytes.js"); var Curry = require("./curry.js"); -var Buffer = require("./buffer.js"); +var $$Buffer = require("./buffer.js"); var Js_exn = require("./js_exn.js"); var Printf = require("./printf.js"); var $$String = require("./string.js"); @@ -92,7 +92,7 @@ function char_count(ib) { function token(ib) { var tokbuf = ib[/* tokbuf */7]; - var tok = Buffer.contents(tokbuf); + var tok = $$Buffer.contents(tokbuf); tokbuf[/* position */1] = 0; ib[/* token_count */5] = ib[/* token_count */5] + 1 | 0; return tok; @@ -105,7 +105,7 @@ function ignore_char(width, ib) { } function store_char(width, ib, c) { - Buffer.add_char(ib[/* tokbuf */7], c); + $$Buffer.add_char(ib[/* tokbuf */7], c); return ignore_char(width, ib); } @@ -118,7 +118,7 @@ function create(iname, next) { /* line_count */0, /* token_count */0, /* get_next_char */next, - /* tokbuf */Buffer.create(1024), + /* tokbuf */$$Buffer.create(1024), /* input_name */iname ]; } @@ -1790,7 +1790,7 @@ function kscanf(ib, ef, param) { var str = param[1]; var fmt = param[0]; var k = function (readers, f) { - Buffer.reset(ib[/* tokbuf */7]); + $$Buffer.reset(ib[/* tokbuf */7]); var match; try { match = /* Args */Block.__(0, [make_scanf(ib, fmt, readers)]); @@ -1885,17 +1885,17 @@ function sscanf_format(s, format, f) { function string_to_String(s) { var l = s.length; - var b = Buffer.create(l + 2 | 0); - Buffer.add_char(b, /* "\"" */34); + var b = $$Buffer.create(l + 2 | 0); + $$Buffer.add_char(b, /* "\"" */34); for(var i = 0 ,i_finish = l - 1 | 0; i <= i_finish; ++i){ var c = Caml_string.get(s, i); if (c === /* "\"" */34) { - Buffer.add_char(b, /* "\\" */92); + $$Buffer.add_char(b, /* "\\" */92); } - Buffer.add_char(b, c); + $$Buffer.add_char(b, c); } - Buffer.add_char(b, /* "\"" */34); - return Buffer.contents(b); + $$Buffer.add_char(b, /* "\"" */34); + return $$Buffer.contents(b); } function format_from_string(s, fmt) { diff --git a/lib/whole_compiler.ml b/lib/whole_compiler.ml index fa9423134b..eb3a77787b 100644 --- a/lib/whole_compiler.ml +++ b/lib/whole_compiler.ml @@ -60345,7 +60345,7 @@ val equal : Ident.t -> Ident.t -> bool end = struct #1 "ext_ident.ml" (* Copyright (C) 2015-2016 Bloomberg Finance L.P. - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -60363,7 +60363,7 @@ end = struct * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *) @@ -60387,32 +60387,32 @@ let js_flag = 0b1_000 (* check with ocaml compiler *) *) let js_object_flag = 0b100_000 (* javascript object flags *) -let is_js (i : Ident.t) = - i.flags land js_flag <> 0 +let is_js (i : Ident.t) = + i.flags land js_flag <> 0 -let is_js_or_global (i : Ident.t) = - i.flags land (8 lor 1) <> 0 +let is_js_or_global (i : Ident.t) = + i.flags land (8 lor 1) <> 0 -let is_js_object (i : Ident.t) = - i.flags land js_object_flag <> 0 +let is_js_object (i : Ident.t) = + i.flags land js_object_flag <> 0 -let make_js_object (i : Ident.t) = - i.flags <- i.flags lor js_object_flag +let make_js_object (i : Ident.t) = + i.flags <- i.flags lor js_object_flag (* It's a js function hard coded by js api, so when printing, - it should preserve the name + it should preserve the name *) -let create_js (name : string) : Ident.t = +let create_js (name : string) : Ident.t = { name = name; flags = js_flag ; stamp = 0} let create = Ident.create (* FIXME: no need for `$' operator *) -let create_tmp ?(name=Literals.tmp) () = create name +let create_tmp ?(name=Literals.tmp) () = create name -let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 +let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 (* This is for a js exeternal module, we can change it when printing for example @@ -60423,25 +60423,25 @@ let js_module_table : Ident.t String_hashtbl.t = String_hashtbl.create 31 Given a name, if duplicated, they should have the same id *) -let create_js_module (name : string) : Ident.t = - let name = - String.concat "" @@ Ext_list.map (Ext_string.capitalize_ascii ) @@ +let create_js_module (name : string) : Ident.t = + let name = + String.concat "" @@ Ext_list.map (Ext_string.capitalize_ascii ) @@ Ext_string.split name '-' in (* TODO: if we do such transformation, we should avoid collision for example: - react-dom + react-dom react--dom check collision later *) - match String_hashtbl.find_exn js_module_table name with - | exception Not_found -> + match String_hashtbl.find_exn js_module_table name with + | exception Not_found -> let ans = Ident.create name in (* let ans = { v with flags = js_module_flag} in *) String_hashtbl.add js_module_table name ans; ans - | v -> (* v *) Ident.rename v + | v -> (* v *) Ident.rename v -let reserved_words = +let reserved_words = [| (* keywork *) "break"; @@ -60478,7 +60478,7 @@ let reserved_words = (* also reserved in ECMAScript 3 *) "abstract"; "boolean"; "byte"; "char"; "const"; "double"; "final"; "float"; "goto"; "int"; "long"; "native"; "short"; - "synchronized"; + "synchronized"; (* "throws"; *) (* seems to be fine, like nodejs [assert.throws] *) "transient"; "volatile"; @@ -60503,7 +60503,7 @@ let reserved_words = "String"; "Boolean"; "Number"; - + "Buffer"; (* Node *) "Map"; (* es6*) "Set"; @@ -60530,7 +60530,7 @@ let reserved_words = "parseFloat"; "parseInt"; - (** reserved for commonjs and NodeJS globals*) + (** reserved for commonjs and NodeJS globals*) "require"; "exports"; "module"; @@ -60549,36 +60549,36 @@ let reserved_words = "__esModule" |] -let reserved_map = - let len = Array.length reserved_words in +let reserved_map = + let len = Array.length reserved_words in let set = String_hash_set.create 1024 in (* large hash set for perfect hashing *) - for i = 0 to len - 1 do + for i = 0 to len - 1 do String_hash_set.add set reserved_words.(i); done ; - set + set -exception Not_normal_letter of int -let name_mangle name = +exception Not_normal_letter of int +let name_mangle name = let len = String.length name in try - for i = 0 to len - 1 do - match String.unsafe_get name i with + for i = 0 to len - 1 do + match String.unsafe_get name i with | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' -> () | _ -> raise (Not_normal_letter i) done; name (* Normal letter *) - with + with | Not_normal_letter 0 -> - let buffer = Buffer.create len in - for j = 0 to len - 1 do + let buffer = Buffer.create len in + for j = 0 to len - 1 do let c = String.unsafe_get name j in - match c with + match c with | '*' -> Buffer.add_string buffer "$star" | '\'' -> Buffer.add_string buffer "$prime" | '!' -> Buffer.add_string buffer "$bang" @@ -60596,17 +60596,17 @@ let name_mangle name = | '~' -> Buffer.add_string buffer "$tilde" | '#' -> Buffer.add_string buffer "$hash" | ':' -> Buffer.add_string buffer "$colon" - | 'a'..'z' | 'A'..'Z'| '_' + | 'a'..'z' | 'A'..'Z'| '_' | '$' | '0'..'9'-> Buffer.add_char buffer c | _ -> Buffer.add_string buffer "$unknown" done; Buffer.contents buffer - | Not_normal_letter i -> + | Not_normal_letter i -> String.sub name 0 i ^ - (let buffer = Buffer.create len in - for j = i to len - 1 do + (let buffer = Buffer.create len in + for j = i to len - 1 do let c = String.unsafe_get name j in - match c with + match c with | '*' -> Buffer.add_string buffer "$star" | '\'' -> Buffer.add_string buffer "$prime" | '!' -> Buffer.add_string buffer "$bang" @@ -60614,7 +60614,7 @@ let name_mangle name = | '<' -> Buffer.add_string buffer "$less" | '=' -> Buffer.add_string buffer "$eq" | '+' -> Buffer.add_string buffer "$plus" - | '-' -> Buffer.add_string buffer "$" + | '-' -> Buffer.add_string buffer "$" (* Note ocaml compiler also has [self-] *) | '@' -> Buffer.add_string buffer "$at" | '^' -> Buffer.add_string buffer "$caret" @@ -60626,7 +60626,7 @@ let name_mangle name = | '#' -> Buffer.add_string buffer "$hash" | ':' -> Buffer.add_string buffer "$colon" | '$' -> Buffer.add_string buffer "$dollar" - | 'a'..'z' | 'A'..'Z'| '_' + | 'a'..'z' | 'A'..'Z'| '_' | '0'..'9'-> Buffer.add_char buffer c | _ -> Buffer.add_string buffer "$unknown" done; Buffer.contents buffer) @@ -60637,16 +60637,16 @@ let name_mangle name = - : string = "$caret" ]} [convert name] if [name] is a js keyword,add "$$" - otherwise do the name mangling to make sure ocaml identifier it is + otherwise do the name mangling to make sure ocaml identifier it is a valid js identifier *) -let convert (name : string) = - if String_hash_set.mem reserved_map name then "$$" ^ name - else name_mangle name +let convert (name : string) = + if String_hash_set.mem reserved_map name then "$$" ^ name + else name_mangle name (** keyword could be used in property *) -(* It is currently made a persistent ident to avoid fresh ids +(* It is currently made a persistent ident to avoid fresh ids which would result in different signature files - other solution: use lazy values *) @@ -60654,24 +60654,24 @@ let make_unused () = create "_" -let reset () = +let reset () = String_hashtbl.clear js_module_table let undefined = create_js "undefined" let nil = create_js "null" -(* Has to be total order, [x < y] +(* Has to be total order, [x < y] and [x > y] should be consistent - flags are not relevant here + flags are not relevant here *) -let compare (x : Ident.t ) ( y : Ident.t) = +let compare (x : Ident.t ) ( y : Ident.t) = let u = x.stamp - y.stamp in - if u = 0 then - Ext_string.compare x.name y.name - else u + if u = 0 then + Ext_string.compare x.name y.name + else u -let equal ( x : Ident.t) ( y : Ident.t) = +let equal ( x : Ident.t) ( y : Ident.t) = if x.stamp <> 0 then x.stamp = y.stamp else y.stamp = 0 && x.name = y.name