diff --git a/.github/workflows/opam.yml b/.github/workflows/opam.yml
index 065df9a31..91c3a2aac 100644
--- a/.github/workflows/opam.yml
+++ b/.github/workflows/opam.yml
@@ -68,6 +68,9 @@ jobs:
- name: Test
run: make test
+ - name: Jest
+ run: make jest
+
- name: Save cache when not Windows
uses: actions/cache/save@v3
if: steps.opam-cache.outputs.cache-hit != 'true' && runner.os != 'Windows'
diff --git a/.ocamlformat b/.ocamlformat
index e69de29bb..3fe595c05 100644
--- a/.ocamlformat
+++ b/.ocamlformat
@@ -0,0 +1 @@
+version = 0.24.0
diff --git a/Makefile b/Makefile
index bcb5c73db..f2c192652 100644
--- a/Makefile
+++ b/Makefile
@@ -23,10 +23,17 @@ dev: ## Build in watch mode
clean: ## Clean artifacts
@$(DUNE) clean
+.PHONY: jest
+jest: ## Run the jest unit tests
+ @npx jest
+
+.PHONY: jest-watch
+jest-watch: ## Run the jest unit tests in watch mode
+ @npx jest --watch
+
.PHONY: test
-test: ## Run the unit tests
+test: ## Run the runtests from dune (snapshot)
@$(DUNE) build @runtest
- @npx jest
.PHONY: test-watch
test-watch: ## Run the unit tests in watch mode
diff --git a/dune-project b/dune-project
index 1e5afbaf8..f18444141 100644
--- a/dune-project
+++ b/dune-project
@@ -44,6 +44,10 @@
(opam-check-npm-deps
(and
(= 1.0.0)
+ :with-dev-setup))
+ (ocamlformat
+ (and
+ (= 0.24.0)
:with-dev-setup))))
(package
@@ -57,4 +61,8 @@
(>= 3.9.0))
(ppxlib
(>= 0.28.0))
- (merlin :with-test)))
+ (merlin :with-test)
+ (ocamlformat
+ (and
+ (= 0.24.0)
+ :with-dev-setup))))
diff --git a/ppx/dune b/ppx/dune
new file mode 100644
index 000000000..2a2ba083d
--- /dev/null
+++ b/ppx/dune
@@ -0,0 +1,14 @@
+(library
+ (name reason_react_ppx)
+ (modules reason_react_ppx)
+ (public_name reason-react-ppx)
+ (flags :standard -w -9)
+ (kind ppx_rewriter)
+ (libraries ppxlib))
+
+(executable
+ (name standalone)
+ (modules standalone)
+ (package reason-react-ppx)
+ (public_name reason-react-ppx)
+ (libraries reason-react-ppx ppxlib))
diff --git a/ppx/src/reactjs_jsx_ppx.ml b/ppx/reason_react_ppx.ml
similarity index 100%
rename from ppx/src/reactjs_jsx_ppx.ml
rename to ppx/reason_react_ppx.ml
diff --git a/ppx/src/dune b/ppx/src/dune
deleted file mode 100644
index 02e03c625..000000000
--- a/ppx/src/dune
+++ /dev/null
@@ -1,6 +0,0 @@
-(library
- (name reason_react_ppx)
- (kind ppx_rewriter)
- (public_name reason-react-ppx)
- (flags :standard -w -9)
- (libraries ppxlib))
diff --git a/ppx/test/standalone.ml b/ppx/standalone.ml
similarity index 59%
rename from ppx/test/standalone.ml
rename to ppx/standalone.ml
index 273cf475e..6f7ee4867 100644
--- a/ppx/test/standalone.ml
+++ b/ppx/standalone.ml
@@ -1,4 +1,2 @@
-open Ppxlib
-
(* To run as a standalone binary, run the registered drivers *)
-let () = Driver.standalone ()
+let () = Ppxlib.Driver.standalone ()
diff --git a/ppx/test/component.t/input.re b/ppx/test/component.t/input.re
new file mode 100644
index 000000000..7fdccd901
--- /dev/null
+++ b/ppx/test/component.t/input.re
@@ -0,0 +1,79 @@
+module React_component_with_props = {
+ [@react.component]
+ let make = (~lola) => {
+
{React.string(lola)}
;
+ };
+};
+
+let react_component_with_props = ;
+
+module Upper_case_with_fragment_as_root = {
+ [@react.component]
+ let make = (~name="") =>
+ <>
+ {React.string("First " ++ name)}
+ {React.string("2nd " ++ name)}
+ >;
+};
+
+/* module Using_React_memo = {
+ [@react.component]
+ let make =
+ React.memo((~a) =>
+ {Printf.sprintf("`a` is %s", a) |> React.string}
+ );
+};
+
+module Using_memo_custom_compare_Props = {
+ [@react.component]
+ let make =
+ React.memoCustomCompareProps(
+ (~a) => {Printf.sprintf("`a` is %d", a) |> React.string}
,
+ (prevPros, nextProps) => false,
+ );
+}; */
+
+module Forward_Ref = {
+ [@react.component]
+ let make =
+ React.forwardRef((~children, ~buttonRef) => {
+
+ });
+};
+
+module Onclick_handler_button = {
+ [@react.component]
+ let make = (~name, ~isDisabled=?) => {
+ let onClick = event => Js.log(event);
+ ;
+ };
+};
+
+module Children_as_string = {
+ [@react.component]
+ let make = (~name="joe") =>
+ {Printf.sprintf("`name` is %s", name) |> React.string}
;
+};
+
+/* It shoudn't remove this :/ */
+let () = Dream.run();
+let l = 33;
+
+module Uppercase_with_SSR_components = {
+ [@react.component]
+ let make = (~children, ~moreProps) =>
+
+
+ {React.string("SSR React " ++ moreProps)}
+
+
+ children
+
+
+ ;
+};
+
+module Upper_with_aria = {
+ [@react.component]
+ let make = (~children) => children
;
+};
diff --git a/ppx/test/component.t/run.t b/ppx/test/component.t/run.t
new file mode 100644
index 000000000..3e69f594b
--- /dev/null
+++ b/ppx/test/component.t/run.t
@@ -0,0 +1,181 @@
+Since we generate invalid syntax for the argument of the make fn `(Props : <>)`
+We need to output ML syntax here, otherwise refmt could not parse it.
+ $ ../ppx.sh --output ml input.re
+ module React_component_with_props =
+ struct
+ external makeProps :
+ lola:'lola -> ?key:string -> unit -> < lola: 'lola > Js.t = ""
+ [@@bs.obj ]
+ let make =
+ ((fun ~lola ->
+ ReactDOM.jsx "div"
+ (((ReactDOM.domProps)[@merlin.hide ])
+ ~children:(React.string lola) ()))
+ [@warning "-16"])
+ let make =
+ let Output$React_component_with_props (Props : < lola: 'lola > Js.t)
+ = make ~lola:(Props ## lola) in
+ Output$React_component_with_props
+ end
+ let react_component_with_props =
+ React.jsx React_component_with_props.make
+ (React_component_with_props.makeProps ~lola:"flores" ())
+ module Upper_case_with_fragment_as_root =
+ struct
+ external makeProps :
+ ?name:'name -> ?key:string -> unit -> < name: 'name option > Js.t =
+ ""[@@bs.obj ]
+ let make =
+ ((fun ?(name= "") ->
+ ReactDOM.createElement React.jsxFragment
+ [|(ReactDOM.jsx "div"
+ (((ReactDOM.domProps)[@merlin.hide ])
+ ~children:(React.string ("First " ^ name)) ()));(
+ React.jsx Hello.make
+ (Hello.makeProps ~children:(React.string ("2nd " ^ name))
+ ~one:"1" ()))|])
+ [@warning "-16"])
+ let make =
+ let Output$Upper_case_with_fragment_as_root
+ (Props : < name: 'name option > Js.t) = make ?name:(Props ## name) in
+ Output$Upper_case_with_fragment_as_root
+ end
+ module Forward_Ref =
+ struct
+ external makeProps :
+ children:'children ->
+ buttonRef:'buttonRef ->
+ ?key:string ->
+ unit -> < children: 'children ;buttonRef: 'buttonRef > Js.t =
+ ""[@@bs.obj ]
+ let make =
+ ((fun ~children ->
+ ((fun ~buttonRef ->
+ ReactDOM.jsx "button"
+ (((ReactDOM.domProps)[@merlin.hide ]) ~children
+ ~ref:buttonRef ~className:"FancyButton" ()))
+ [@warning "-16"]))
+ [@warning "-16"])
+ let make =
+ React.forwardRef
+ (let Output$Forward_Ref
+ (Props : < children: 'children ;buttonRef: 'buttonRef > Js.t)
+ =
+ make ~buttonRef:(Props ## buttonRef) ~children:(Props ## children) in
+ Output$Forward_Ref)
+ end
+ module Onclick_handler_button =
+ struct
+ external makeProps :
+ name:'name ->
+ ?isDisabled:'isDisabled ->
+ ?key:string ->
+ unit -> < name: 'name ;isDisabled: 'isDisabled option > Js.t
+ = ""[@@bs.obj ]
+ let make =
+ ((fun ~name ->
+ ((fun ?isDisabled ->
+ let onClick event = Js.log event in
+ ReactDOM.jsx "button"
+ (((ReactDOM.domProps)[@merlin.hide ]) ~name ~onClick
+ ~disabled:isDisabled ()))
+ [@warning "-16"]))
+ [@warning "-16"])
+ let make =
+ let Output$Onclick_handler_button
+ (Props : < name: 'name ;isDisabled: 'isDisabled option > Js.t) =
+ make ?isDisabled:(Props ## isDisabled) ~name:(Props ## name) in
+ Output$Onclick_handler_button
+ end
+ module Children_as_string =
+ struct
+ external makeProps :
+ ?name:'name -> ?key:string -> unit -> < name: 'name option > Js.t =
+ ""[@@bs.obj ]
+ let make =
+ ((fun ?(name= "joe") ->
+ ReactDOM.jsx "div"
+ (((ReactDOM.domProps)[@merlin.hide ])
+ ~children:((Printf.sprintf "`name` is %s" name) |>
+ React.string) ()))
+ [@warning "-16"])
+ let make =
+ let Output$Children_as_string (Props : < name: 'name option > Js.t)
+ = make ?name:(Props ## name) in
+ Output$Children_as_string
+ end
+ let () = Dream.run ()
+ let l = 33
+ module Uppercase_with_SSR_components =
+ struct
+ external makeProps :
+ children:'children ->
+ moreProps:'moreProps ->
+ ?key:string ->
+ unit -> < children: 'children ;moreProps: 'moreProps > Js.t =
+ ""[@@bs.obj ]
+ let make =
+ ((fun ~children ->
+ ((fun ~moreProps ->
+ ReactDOM.jsxs "html"
+ (((ReactDOM.domProps)[@merlin.hide ])
+ ~children:(React.array
+ [|(ReactDOM.jsx "head"
+ (((ReactDOM.domProps)[@merlin.hide ])
+ ~children:(ReactDOM.jsx "title"
+ (((ReactDOM.domProps)
+ [@merlin.hide ])
+ ~children:(React.string
+ ("SSR React "
+ ^
+ moreProps))
+ ())) ()));(ReactDOM.jsxs
+ "body"
+ (((ReactDOM.domProps)
+ [@merlin.hide
+ ])
+ ~children:(
+ React.array
+ [|(
+ ReactDOM.jsx
+ "div"
+ (((ReactDOM.domProps)
+ [@merlin.hide
+ ])
+ ~children
+ ~id:"root"
+ ()));(
+ ReactDOM.jsx
+ "script"
+ (((ReactDOM.domProps)
+ [@merlin.hide
+ ])
+ ~src:"/static/client.js"
+ ()))|])
+ ()))|])
+ ()))
+ [@warning "-16"]))
+ [@warning "-16"])
+ let make =
+ let Output$Uppercase_with_SSR_components
+ (Props : < children: 'children ;moreProps: 'moreProps > Js.t) =
+ make ~moreProps:(Props ## moreProps) ~children:(Props ## children) in
+ Output$Uppercase_with_SSR_components
+ end
+ module Upper_with_aria =
+ struct
+ external makeProps :
+ children:'children ->
+ ?key:string -> unit -> < children: 'children > Js.t = ""[@@bs.obj
+ ]
+ let make =
+ ((fun ~children ->
+ ReactDOM.jsx "div"
+ (((ReactDOM.domProps)[@merlin.hide ]) ~children
+ ~ariaHidden:"true" ()))
+ [@warning "-16"])
+ let make =
+ let Output$Upper_with_aria (Props : < children: 'children > Js.t) =
+ make ~children:(Props ## children) in
+ Output$Upper_with_aria
+ end
diff --git a/ppx/test/dune b/ppx/test/dune
index e2d761492..1e0a153a6 100644
--- a/ppx/test/dune
+++ b/ppx/test/dune
@@ -1,44 +1,10 @@
-(executable
- (name standalone)
- (libraries reason-react-ppx ppxlib))
-
-(rule
- (targets result.ml)
- (deps generated.ml)
- (action
- (run ./standalone.exe --impl %{deps} -o %{targets})))
-
-(rule
- (targets generated.ml)
- (deps input.re)
- (action
- (with-stdout-to
- %{targets}
- (run refmt --parse=re --print=ml %{deps}))))
-
-(rule
- (alias runtest)
- (action
- (diff output.expected result.ml)))
-
-(rule
- (targets output_locations.ml)
- (deps generated_locations.ml)
- (action
- (run ./standalone.exe -dparsetree --impl %{deps} -o %{targets})))
-
-(rule
- (targets generated_locations.ml)
- (deps input_locations.re)
- (action
- (with-stdout-to
- %{targets}
- (run refmt --parse=re --print=ml %{deps}))))
-
-(rule
- (alias runtest)
- (action
- (diff output_locations.expected output_locations.ml)))
-
(cram
- (package reason-react))
+ (package reason-react-ppx)
+ (deps
+ (package reason-react)
+ %{bin:reason-react-ppx}
+ %{bin:refmt}
+ %{bin:dune}
+ %{bin:jq}
+ %{bin:ocamlmerlin}
+ ppx.sh))
diff --git a/ppx/test/external.t/input.re b/ppx/test/external.t/input.re
new file mode 100644
index 000000000..c30b4c37e
--- /dev/null
+++ b/ppx/test/external.t/input.re
@@ -0,0 +1,5 @@
+module External = {
+ [@react.component] [@otherAttribute "bla"]
+ external component: (~a: int, ~b: string) => React.element =
+ {|require("my-react-library").MyReactComponent|};
+};
diff --git a/ppx/test/external.t/run.t b/ppx/test/external.t/run.t
new file mode 100644
index 000000000..23f2bcd98
--- /dev/null
+++ b/ppx/test/external.t/run.t
@@ -0,0 +1,22 @@
+ $ ../ppx.sh --output re input.re
+ module External = {
+ [@bs.obj]
+ external componentProps:
+ (~a: int, ~b: string, ~key: string=?, unit) =>
+ {
+ .
+ "a": int,
+ "b": string,
+ };
+ [@otherAttribute "bla"]
+ external component:
+ React.componentLike(
+ {
+ .
+ "a": int,
+ "b": string,
+ },
+ React.element,
+ ) =
+ {|require("my-react-library").MyReactComponent|};
+ };
diff --git a/ppx/test/fragment.t/input.re b/ppx/test/fragment.t/input.re
new file mode 100644
index 000000000..5a94e02b0
--- /dev/null
+++ b/ppx/test/fragment.t/input.re
@@ -0,0 +1,6 @@
+let fragment = foo => [@bla] <> foo >;
+
+let poly_children_fragment = (foo, bar) => <> foo bar >;
+let nested_fragment = (foo, bar, baz) => <> foo <> bar baz > >;
+
+let nested_fragment_with_lower = foo => <> foo
>;
diff --git a/ppx/test/fragment.t/run.t b/ppx/test/fragment.t/run.t
new file mode 100644
index 000000000..421251412
--- /dev/null
+++ b/ppx/test/fragment.t/run.t
@@ -0,0 +1,20 @@
+ $ ../ppx.sh --output re input.re
+ let fragment = foo =>
+ [@bla] ReactDOM.createElement(React.jsxFragment, [|foo|]);
+ let poly_children_fragment = (foo, bar) =>
+ ReactDOM.createElement(React.jsxFragment, [|foo, bar|]);
+ let nested_fragment = (foo, bar, baz) =>
+ ReactDOM.createElement(
+ React.jsxFragment,
+ [|foo, ReactDOM.createElement(React.jsxFragment, [|bar, baz|])|],
+ );
+ let nested_fragment_with_lower = foo =>
+ ReactDOM.createElement(
+ React.jsxFragment,
+ [|
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(~children=foo, ()),
+ ),
+ |],
+ );
diff --git a/ppx/test/functor.t/input.re b/ppx/test/functor.t/input.re
new file mode 100644
index 000000000..ece2298f3
--- /dev/null
+++ b/ppx/test/functor.t/input.re
@@ -0,0 +1,10 @@
+module type X_int = {let x: int;};
+
+module Func = (M: X_int) => {
+ let x = M.x + 1;
+ [@react.component]
+ let make = (~a, ~b) => {
+ print_endline("This function should be named `Test$Func`", M.x);
+ ;
+ };
+};
diff --git a/ppx/test/functor.t/run.t b/ppx/test/functor.t/run.t
new file mode 100644
index 000000000..c21fff07f
--- /dev/null
+++ b/ppx/test/functor.t/run.t
@@ -0,0 +1,22 @@
+Since we generate invalid syntax for the argument of the make fn `(Props : <>)`
+We need to output ML syntax here, otherwise refmt could not parse it.
+ $ ../ppx.sh --output ml input.re
+ module type X_int = sig val x : int end
+ module Func(M:X_int) =
+ struct
+ let x = M.x + 1
+ external makeProps :
+ a:'a -> b:'b -> ?key:string -> unit -> < a: 'a ;b: 'b > Js.t = ""
+ [@@bs.obj ]
+ let make =
+ ((fun ~a ->
+ ((fun ~b ->
+ print_endline "This function should be named `Test$Func`" M.x;
+ ReactDOM.jsx "div" (((ReactDOM.domProps)[@merlin.hide ]) ()))
+ [@warning "-16"]))
+ [@warning "-16"])
+ let make =
+ let Output$Func (Props : < a: 'a ;b: 'b > Js.t) =
+ make ~b:(Props ## b) ~a:(Props ## a) in
+ Output$Func
+ end
diff --git a/ppx/test/merlin/issue-429.t/component.re b/ppx/test/issue-429.t/component.re
similarity index 100%
rename from ppx/test/merlin/issue-429.t/component.re
rename to ppx/test/issue-429.t/component.re
diff --git a/ppx/test/merlin/issue-429.t/run.t b/ppx/test/issue-429.t/run.t
similarity index 100%
rename from ppx/test/merlin/issue-429.t/run.t
rename to ppx/test/issue-429.t/run.t
diff --git a/ppx/test/input_locations.re b/ppx/test/location.t/input.re
similarity index 99%
rename from ppx/test/input_locations.re
rename to ppx/test/location.t/input.re
index 6ccc31ddd..3733cfebc 100644
--- a/ppx/test/input_locations.re
+++ b/ppx/test/location.t/input.re
@@ -20,3 +20,4 @@ module Uppercase = {
;
};
};
+
diff --git a/ppx/test/location.t/run.t b/ppx/test/location.t/run.t
new file mode 100644
index 000000000..36de9ed96
--- /dev/null
+++ b/ppx/test/location.t/run.t
@@ -0,0 +1,3283 @@
+ $ refmt --parse re --print ml input.re > output.ml
+ $ reason-react-ppx -dparsetree --impl output.ml -o temp.ml
+ $ cat temp.ml
+ (((pstr_desc
+ (Pstr_attribute
+ ((attr_name
+ ((txt ocaml.ppx.context)
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))))
+ (attr_payload
+ (PStr
+ (((pstr_desc
+ (Pstr_eval
+ ((pexp_desc
+ (Pexp_record
+ ((((txt (Lident tool_name))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_constant
+ (Pconst_string ppxlib_driver
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))
+ ())))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident include_dirs))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident []))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident load_path))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident []))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident open_modules))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident []))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident for_package))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident None))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident debug))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident false))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident use_threads))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident false))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident use_vmthreads))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident false))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident recursive_types))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident false))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident principal))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident false))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident transparent_modules))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident false))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident unboxed_types))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident false))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident unsafe_string))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident false))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (((txt (Lident cookies))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident []))
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ()))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))))))
+ (attr_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true))))))
+ (pstr_loc
+ ((loc_start ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true))))
+ ((pstr_desc
+ (Pstr_primitive
+ ((pval_name
+ ((txt makeProps)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true)))))
+ (pval_type
+ ((ptyp_desc
+ (Ptyp_arrow (Labelled lola)
+ ((ptyp_desc (Ptyp_var lola))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_arrow (Optional key)
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Lident string))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))
+ ()))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_arrow Nolabel
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Lident unit))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))
+ ()))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Ldot (Lident Js) t))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))
+ (((ptyp_desc
+ (Ptyp_object
+ (((pof_desc
+ (Otag
+ ((txt lola)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2)
+ (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true))))
+ ((ptyp_desc (Ptyp_var lola))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 14)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (pof_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (pof_attributes ())))
+ Closed))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))
+ (pval_prim (""))
+ (pval_attributes
+ (((attr_name
+ ((txt bs.obj)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true)))))
+ (attr_payload (PStr ()))
+ (attr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true))))))
+ (pval_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true))))))
+ (pstr_loc
+ ((loc_start ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true))))
+ ((pstr_desc
+ (Pstr_value Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt make)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 4)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 8)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 4)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 8)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_fun (Labelled lola) ()
+ ((ppat_desc
+ (Ppat_var
+ ((txt lola)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 14)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident ReactDOM) jsx))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 18)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 65)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 18)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 65)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_constant
+ (Pconst_string div
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))
+ ())))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 20)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 23)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident ReactDOM) domProps))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 20)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 23)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 18)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 65)))
+ (loc_ghost false)))
+ (pexp_loc_stack ())
+ (pexp_attributes
+ (((attr_name
+ ((txt merlin.hide)
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))))
+ (attr_payload (PStr ()))
+ (attr_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))))))
+ (((Labelled children)
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident React) string))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 35)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 47)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 35)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 47)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident lola))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 48)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 52)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 48)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 52)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 35)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 52)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident "()"))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 54)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 56)))
+ (loc_ghost false))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 54)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 56)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 18)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 65)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 18)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 65)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 9)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 65)))
+ (loc_ghost true)))
+ (pexp_loc_stack ())
+ (pexp_attributes
+ (((attr_name
+ ((txt warning)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))))
+ (attr_payload
+ (PStr
+ (((pstr_desc
+ (Pstr_eval
+ ((pexp_desc
+ (Pexp_constant
+ (Pconst_string -16
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))
+ ())))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ()))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))))))
+ (attr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))))))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost false)))))))
+ (pstr_loc
+ ((loc_start ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost false))))
+ ((pstr_desc
+ (Pstr_value Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt make)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 4)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 8)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 4)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 8)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_let Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt Output)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_fun Nolabel ()
+ ((ppat_desc
+ (Ppat_constraint
+ ((ppat_desc
+ (Ppat_var
+ ((txt Props)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Ldot (Lident Js) t))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))
+ (((ptyp_desc
+ (Ptyp_object
+ (((pof_desc
+ (Otag
+ ((txt lola)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2)
+ (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true))))
+ ((ptyp_desc (Ptyp_var lola))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 14)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (pof_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2)
+ (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true)))
+ (pof_attributes ())))
+ Closed))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident make))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ (((Labelled lola)
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident ##))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 14)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 14)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident Props))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 14)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 14)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident lola))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1)
+ (pos_bol 0) (pos_cnum 14)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 14)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 10)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 14)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))))
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident Output))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84)
+ (pos_cnum 152)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost false)))))))
+ (pstr_loc
+ ((loc_start ((pos_fname output.ml) (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
+ (loc_ghost true))))
+ ((pstr_desc
+ (Pstr_primitive
+ ((pval_name
+ ((txt makeProps)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost true)))))
+ (pval_type
+ ((ptyp_desc
+ (Ptyp_arrow (Optional initialValue)
+ ((ptyp_desc (Ptyp_var initialValue))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 176)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_arrow (Optional key)
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Lident string))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))
+ ()))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_arrow Nolabel
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Lident unit))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))
+ ()))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Ldot (Lident Js) t))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))
+ (((ptyp_desc
+ (Ptyp_object
+ (((pof_desc
+ (Otag
+ ((txt initialValue)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7)
+ (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost true))))
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Lident option))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false))))
+ (((ptyp_desc (Ptyp_var initialValue))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (pof_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (pof_attributes ())))
+ Closed))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))
+ (pval_prim (""))
+ (pval_attributes
+ (((attr_name
+ ((txt bs.obj)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))))
+ (attr_payload (PStr ()))
+ (attr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost true))))))
+ (pval_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost true))))))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost true))))
+ ((pstr_desc
+ (Pstr_value Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt make)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 157)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 161)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 157)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 161)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_fun (Optional initialValue)
+ (((pexp_desc (Pexp_constant (Pconst_integer 0 ())))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 178)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 179)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ ((ppat_desc
+ (Ppat_var
+ ((txt initialValue)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 176)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 176)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_fun Nolabel ()
+ ((ppat_desc
+ (Ppat_construct
+ ((txt (Lident "()"))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 182)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 184)))
+ (loc_ghost false))))
+ ()))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 182)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 184)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_let Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_tuple
+ (((ppat_desc
+ (Ppat_var
+ ((txt value)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 194)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 199)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 194)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 199)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((ppat_desc
+ (Ppat_var
+ ((txt setValue)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 201)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 209)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 201)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 209)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ())))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 193)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 210)))
+ (loc_ghost false)))
+ (ppat_loc_stack
+ (((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 194)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 209)))
+ (loc_ghost false))))
+ (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident React) useState))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 213)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 227)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 213)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 227)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_fun Nolabel ()
+ ((ppat_desc
+ (Ppat_construct
+ ((txt (Lident "()"))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 233)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 235)))
+ (loc_ghost false))))
+ ()))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 233)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 235)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident initialValue))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 239)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 251)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 239)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 251)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 228)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 252)))
+ (loc_ghost false)))
+ (pexp_loc_stack
+ (((loc_start
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 229)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4)
+ (pos_bol 187) (pos_cnum 251)))
+ (loc_ghost false))))
+ (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 213)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 252)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 189)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 252)))
+ (loc_ghost false)))))
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident ReactDOM) jsx))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 258)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 374)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 258)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 374)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_constant
+ (Pconst_string button
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))
+ ())))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 260)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 266)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident ReactDOM) domProps))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 260)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 266)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 258)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 374)))
+ (loc_ghost false)))
+ (pexp_loc_stack ())
+ (pexp_attributes
+ (((attr_name
+ ((txt merlin.hide)
+ (loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))))
+ (attr_payload (PStr ()))
+ (attr_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))))))
+ (((Labelled children)
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident |.))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 344)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 346)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 344)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 346)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident value))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 338)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 343)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 338)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 343)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident React) int))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 347)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 356)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 347)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 356)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 338)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 356)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ ((Labelled onClick)
+ ((pexp_desc
+ (Pexp_fun Nolabel ()
+ ((ppat_desc Ppat_any)
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 281)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 282)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident setValue))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 286)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 294)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 286)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 294)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_fun Nolabel ()
+ ((ppat_desc
+ (Ppat_var
+ ((txt value)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 300)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 305)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 300)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 305)))
+ (loc_ghost false)))
+ (ppat_loc_stack ())
+ (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident +))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 315)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 316)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 315)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 316)))
+ (loc_ghost false)))
+ (pexp_loc_stack ())
+ (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident value))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 309)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 314)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 309)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 314)))
+ (loc_ghost false)))
+ (pexp_loc_stack ())
+ (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_constant
+ (Pconst_integer 1 ())))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 317)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 318)))
+ (loc_ghost false)))
+ (pexp_loc_stack ())
+ (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 309)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 318)))
+ (loc_ghost false)))
+ (pexp_loc_stack ())
+ (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 295)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 319)))
+ (loc_ghost false)))
+ (pexp_loc_stack
+ (((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 296)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 318)))
+ (loc_ghost false))))
+ (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 286)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 319)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 276)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 320)))
+ (loc_ghost false)))
+ (pexp_loc_stack
+ (((loc_start
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 277)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 5)
+ (pos_bol 256) (pos_cnum 319)))
+ (loc_ghost false))))
+ (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident "()"))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 358)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 360)))
+ (loc_ghost false))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 358)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 6)
+ (pos_bol 321) (pos_cnum 360)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 258)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 374)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 5) (pos_bol 256)
+ (pos_cnum 258)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 374)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 4) (pos_bol 187)
+ (pos_cnum 189)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 374)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 182)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 374)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 162)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 374)))
+ (loc_ghost true)))
+ (pexp_loc_stack ())
+ (pexp_attributes
+ (((attr_name
+ ((txt warning)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))))
+ (attr_payload
+ (PStr
+ (((pstr_desc
+ (Pstr_eval
+ ((pexp_desc
+ (Pexp_constant
+ (Pconst_string -16
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))
+ ())))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ()))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))))))
+ (attr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))))))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost false)))))))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost false))))
+ ((pstr_desc
+ (Pstr_value Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt make)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 157)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 161)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 157)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 161)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_let Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt Output)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_fun Nolabel ()
+ ((ppat_desc
+ (Ppat_constraint
+ ((ppat_desc
+ (Ppat_var
+ ((txt Props)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Ldot (Lident Js) t))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))
+ (((ptyp_desc
+ (Ptyp_object
+ (((pof_desc
+ (Otag
+ ((txt initialValue)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7)
+ (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost true))))
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Lident option))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false))))
+ (((ptyp_desc (Ptyp_var initialValue))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (pof_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7)
+ (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost true)))
+ (pof_attributes ())))
+ Closed))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident make))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ (((Optional initialValue)
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident ##))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 176)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident Props))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident initialValue))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3)
+ (pos_bol 153) (pos_cnum 176)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 164)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 176)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident "()"))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))))
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident Output))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153)
+ (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362)
+ (pos_cnum 394)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost false)))))))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
+ (loc_ghost true))))
+ ((pstr_desc
+ (Pstr_module
+ ((pmb_name
+ ((txt (Uppercase))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 8) (pos_bol 395) (pos_cnum 402)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 8) (pos_bol 395) (pos_cnum 411)))
+ (loc_ghost false)))))
+ (pmb_expr
+ ((pmod_desc
+ (Pmod_structure
+ (((pstr_desc
+ (Pstr_primitive
+ ((pval_name
+ ((txt makeProps)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))))
+ (pval_type
+ ((ptyp_desc
+ (Ptyp_arrow (Labelled children)
+ ((ptyp_desc (Ptyp_var children))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 463)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_arrow (Optional key)
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Lident string))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true))))
+ ()))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_arrow Nolabel
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Lident unit))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true))))
+ ()))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Ldot (Lident Js) t))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true))))
+ (((ptyp_desc
+ (Ptyp_object
+ (((pof_desc
+ (Otag
+ ((txt children)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true))))
+ ((ptyp_desc (Ptyp_var children))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 463)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (pof_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (pof_attributes ())))
+ Closed))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 463)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))
+ (pval_prim (""))
+ (pval_attributes
+ (((attr_name
+ ((txt bs.obj)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))))
+ (attr_payload (PStr ()))
+ (attr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true))))))
+ (pval_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true))))))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true))))
+ ((pstr_desc
+ (Pstr_value Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt make)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 431)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 435)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 431)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 435)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_fun (Labelled children) ()
+ ((ppat_desc
+ (Ppat_var
+ ((txt upperCaseChildren)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 463)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 463)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident React) jsx))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 473)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 534)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11) (pos_bol 467)
+ (pos_cnum 473)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11) (pos_bol 467)
+ (pos_cnum 534)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident Box) make))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 473)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 534)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 473)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 534)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Ldot (Lident Box) makeProps))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 473)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 534)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 473)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 534)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ (((Labelled children)
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident upperCaseChildren))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 504)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 521)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 504)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 521)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_construct
+ ((txt (Lident "()"))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 523)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 525)))
+ (loc_ghost false))))
+ ()))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 523)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 525)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 473)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11)
+ (pos_bol 467) (pos_cnum 534)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 11) (pos_bol 467)
+ (pos_cnum 473)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11) (pos_bol 467)
+ (pos_cnum 534)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 436)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 11) (pos_bol 467)
+ (pos_cnum 534)))
+ (loc_ghost true)))
+ (pexp_loc_stack ())
+ (pexp_attributes
+ (((attr_name
+ ((txt warning)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))))
+ (attr_payload
+ (PStr
+ (((pstr_desc
+ (Pstr_eval
+ ((pexp_desc
+ (Pexp_constant
+ (Pconst_string -16
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true))
+ ())))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ()))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))))))
+ (attr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true))))))))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost false)))))))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost false))))
+ ((pstr_desc
+ (Pstr_value Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt make)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 431)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 435)))
+ (loc_ghost false))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 431)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 435)))
+ (loc_ghost false)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_let Nonrecursive
+ (((pvb_pat
+ ((ppat_desc
+ (Ppat_var
+ ((txt Output$Uppercase)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ())))
+ (pvb_expr
+ ((pexp_desc
+ (Pexp_fun Nolabel ()
+ ((ppat_desc
+ (Ppat_constraint
+ ((ppat_desc
+ (Ppat_var
+ ((txt Props)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true))))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((ptyp_desc
+ (Ptyp_constr
+ ((txt (Ldot (Lident Js) t))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true))))
+ (((ptyp_desc
+ (Ptyp_object
+ (((pof_desc
+ (Otag
+ ((txt children)
+ (loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true))))
+ ((ptyp_desc (Ptyp_var children))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 463)))
+ (loc_ghost false)))
+ (ptyp_loc_stack ())
+ (ptyp_attributes ()))))
+ (pof_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (pof_attributes ())))
+ Closed))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ())))))
+ (ptyp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (ptyp_loc_stack ()) (ptyp_attributes ()))))
+ (ppat_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (ppat_loc_stack ()) (ppat_attributes ()))
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident make))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ (((Labelled children)
+ ((pexp_desc
+ (Pexp_apply
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident ##))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 463)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 463)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))
+ ((Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident Props))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 463)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 463)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (Nolabel
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident children))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml)
+ (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml)
+ (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 463)))
+ (loc_ghost false))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 463)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 446)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 463)))
+ (loc_ghost false)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10)
+ (pos_bol 423) (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12)
+ (pos_bol 553) (pos_cnum 622)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))))
+ ((pexp_desc
+ (Pexp_ident
+ ((txt (Lident Output$Uppercase))
+ (loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true))))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ()))))
+ (pexp_loc
+ ((loc_start
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_end
+ ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
+ (pos_cnum -1)))
+ (loc_ghost true)))
+ (pexp_loc_stack ()) (pexp_attributes ())))
+ (pvb_attributes ())
+ (pvb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost false)))))))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 10) (pos_bol 423)
+ (pos_cnum 427)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 12) (pos_bol 553)
+ (pos_cnum 622)))
+ (loc_ghost true)))))))
+ (pmod_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 9) (pos_bol 414) (pos_cnum 416)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 13) (pos_bol 623) (pos_cnum 628)))
+ (loc_ghost false)))
+ (pmod_attributes ())))
+ (pmb_attributes ())
+ (pmb_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 8) (pos_bol 395) (pos_cnum 395)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 13) (pos_bol 623) (pos_cnum 628)))
+ (loc_ghost false))))))
+ (pstr_loc
+ ((loc_start
+ ((pos_fname output.ml) (pos_lnum 8) (pos_bol 395) (pos_cnum 395)))
+ (loc_end
+ ((pos_fname output.ml) (pos_lnum 13) (pos_bol 623) (pos_cnum 628)))
+ (loc_ghost false)))))
diff --git a/ppx/test/lower.t/input.re b/ppx/test/lower.t/input.re
new file mode 100644
index 000000000..88e396e78
--- /dev/null
+++ b/ppx/test/lower.t/input.re
@@ -0,0 +1,54 @@
+let lower = ;
+let lower_empty_attr = ;
+let lower_inline_styles =
+ ;
+let lower_inner_html = ;
+let lower_opt_attr = ;
+
+let lowerWithChildAndProps = foo =>
+ foo ;
+
+let lower_child_static =
;
+let lower_child_ident = lolaspa
;
+let lower_child_single = ;
+let lower_children_multiple = (foo, bar) => foo bar ;
+let lower_child_with_upper_as_children = ;
+
+let lower_children_nested =
+
+
+
{"jsoo-react" |> s}
+
+
+
;
+
+let lower_ref_with_children =
+ ;
+
+let lower_with_many_props =
+
+
+
+
+
+
+
;
+
+let some_random_html_element = ;
diff --git a/ppx/test/lower.t/run.t b/ppx/test/lower.t/run.t
new file mode 100644
index 000000000..222bd48ee
--- /dev/null
+++ b/ppx/test/lower.t/run.t
@@ -0,0 +1,198 @@
+ $ ../ppx.sh --output re input.re
+ let lower = ReactDOM.jsx("div", ([@merlin.hide] ReactDOM.domProps)());
+ let lower_empty_attr =
+ ReactDOM.jsx("div", ([@merlin.hide] ReactDOM.domProps)(~className="", ()));
+ let lower_inline_styles =
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~style=ReactDOM.Style.make(~backgroundColor="gainsboro", ()),
+ (),
+ ),
+ );
+ let lower_inner_html =
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~dangerouslySetInnerHTML={"__html": text},
+ (),
+ ),
+ );
+ let lower_opt_attr =
+ ReactDOM.jsx("div", ([@merlin.hide] ReactDOM.domProps)(~tabIndex?, ()));
+ let lowerWithChildAndProps = foo =>
+ ReactDOM.jsx(
+ "a",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=foo,
+ ~tabIndex=1,
+ ~href="https://example.com",
+ (),
+ ),
+ );
+ let lower_child_static =
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=ReactDOM.jsx("span", ([@merlin.hide] ReactDOM.domProps)()),
+ (),
+ ),
+ );
+ let lower_child_ident =
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(~children=lolaspa, ()),
+ );
+ let lower_child_single =
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=ReactDOM.jsx("div", ([@merlin.hide] ReactDOM.domProps)()),
+ (),
+ ),
+ );
+ let lower_children_multiple = (foo, bar) =>
+ ReactDOM.jsxs(
+ "lower",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=React.array([|foo, bar|]),
+ (),
+ ),
+ );
+ let lower_child_with_upper_as_children =
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=React.jsx(App.make, App.makeProps()),
+ (),
+ ),
+ );
+ let lower_children_nested =
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=
+ ReactDOM.jsxs(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=
+ React.array([|
+ ReactDOM.jsx(
+ "h2",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children="jsoo-react" |> s,
+ ~className="title",
+ (),
+ ),
+ ),
+ ReactDOM.jsx(
+ "nav",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=
+ ReactDOM.jsx(
+ "ul",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=
+ examples
+ |> List.map(e =>
+ ReactDOM.jsxKeyed(
+ "li",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=
+ ReactDOM.jsx(
+ "a",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=e.title |> s,
+ ~href=e.path,
+ ~onClick=
+ event => {
+ ReactEvent.Mouse.preventDefault(
+ event,
+ );
+ ReactRouter.push(e.path);
+ },
+ (),
+ ),
+ ),
+ (),
+ ),
+ ~key=e.path,
+ (),
+ )
+ )
+ |> React.list,
+ (),
+ ),
+ ),
+ ~className="menu",
+ (),
+ ),
+ ),
+ |]),
+ ~className="sidebar",
+ (),
+ ),
+ ),
+ ~className="flex-container",
+ (),
+ ),
+ );
+ let lower_ref_with_children =
+ ReactDOM.jsx(
+ "button",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children,
+ ~ref,
+ ~className="FancyButton",
+ (),
+ ),
+ );
+ let lower_with_many_props =
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=
+ ReactDOM.jsxs(
+ "picture",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=
+ React.array([|
+ ReactDOM.jsx(
+ "img",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~src="picture/img.png",
+ ~alt="test picture/img.png",
+ ~id="idimg",
+ (),
+ ),
+ ),
+ ReactDOM.jsx(
+ "source",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~type_="image/webp",
+ ~src="picture/img1.webp",
+ (),
+ ),
+ ),
+ ReactDOM.jsx(
+ "source",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~type_="image/jpeg",
+ ~src="picture/img2.jpg",
+ (),
+ ),
+ ),
+ |]),
+ ~id="idpicture",
+ (),
+ ),
+ ),
+ ~translate="yes",
+ (),
+ ),
+ );
+ let some_random_html_element =
+ ReactDOM.jsx(
+ "text",
+ ([@merlin.hide] ReactDOM.domProps)(~dx="1 2", ~dy="3 4", ()),
+ );
diff --git a/ppx/test/merlin/dune b/ppx/test/merlin/dune
deleted file mode 100644
index 6290a1ce8..000000000
--- a/ppx/test/merlin/dune
+++ /dev/null
@@ -1,3 +0,0 @@
-(cram
- (package reason-react-ppx)
- (deps %{bin:dune} %{bin:jq} %{bin:ocamlmerlin}))
diff --git a/ppx/test/output_locations.expected b/ppx/test/output_locations.expected
deleted file mode 100644
index 4bd4aa6ea..000000000
--- a/ppx/test/output_locations.expected
+++ /dev/null
@@ -1,3432 +0,0 @@
-(((pstr_desc
- (Pstr_attribute
- ((attr_name
- ((txt ocaml.ppx.context)
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))))
- (attr_payload
- (PStr
- (((pstr_desc
- (Pstr_eval
- ((pexp_desc
- (Pexp_record
- ((((txt (Lident tool_name))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_constant
- (Pconst_string ppxlib_driver
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))
- ())))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident include_dirs))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident []))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident load_path))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident []))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident open_modules))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident []))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident for_package))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident None))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident debug))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident false))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident use_threads))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident false))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident use_vmthreads))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident false))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident recursive_types))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident false))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident principal))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident false))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident transparent_modules))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident false))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident unboxed_types))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident false))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident unsafe_string))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident false))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (((txt (Lident cookies))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident []))
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ()))
- (pstr_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))))))
- (attr_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true))))))
- (pstr_loc
- ((loc_start ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true))))
- ((pstr_desc
- (Pstr_primitive
- ((pval_name
- ((txt makeProps)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true)))))
- (pval_type
- ((ptyp_desc
- (Ptyp_arrow (Labelled lola)
- ((ptyp_desc (Ptyp_var lola))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 14)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_arrow (Optional key)
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Lident string))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))
- ()))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_arrow Nolabel
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Lident unit))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))
- ()))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Ldot (Lident Js) t))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))
- (((ptyp_desc
- (Ptyp_object
- (((pof_desc
- (Otag
- ((txt lola)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))
- ((ptyp_desc (Ptyp_var lola))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (pof_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (pof_attributes ())))
- Closed))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 14)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))
- (pval_prim (""))
- (pval_attributes
- (((attr_name
- ((txt bs.obj)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true)))))
- (attr_payload (PStr ()))
- (attr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true))))))
- (pval_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true))))
- ((pstr_desc
- (Pstr_value Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt make)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 4)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 8)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 4)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 8)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_fun (Labelled lola) ()
- ((ppat_desc
- (Ppat_var
- ((txt lola)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 14)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 14)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident ReactDOM) jsx))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 18)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 65)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 18)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 65)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_constant
- (Pconst_string div
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))
- ())))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 20)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 23)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident ReactDOM) domProps))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 20)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 23)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 18)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 65)))
- (loc_ghost false)))
- (pexp_loc_stack ())
- (pexp_attributes
- (((attr_name
- ((txt merlin.hide)
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))))
- (attr_payload (PStr ()))
- (attr_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))))))
- (((Labelled children)
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident React) string))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 35)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 47)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 35)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 47)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident lola))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 48)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 52)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 48)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 52)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 35)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 52)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident "()"))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 54)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 56)))
- (loc_ghost false))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 54)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 56)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 18)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 65)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 18)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 65)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 9)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 65)))
- (loc_ghost true)))
- (pexp_loc_stack ())
- (pexp_attributes
- (((attr_name
- ((txt warning)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true)))))
- (attr_payload
- (PStr
- (((pstr_desc
- (Pstr_eval
- ((pexp_desc
- (Pexp_constant
- (Pconst_string -16
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))
- ())))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ()))
- (pstr_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))))))
- (attr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true))))))))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost false)))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost false))))
- ((pstr_desc
- (Pstr_value Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt make)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 4)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 8)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 4)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 8)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_let Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt Generated_locations)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_fun Nolabel ()
- ((ppat_desc
- (Ppat_constraint
- ((ppat_desc
- (Ppat_var
- ((txt Props)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Ldot (Lident Js) t))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))
- (((ptyp_desc
- (Ptyp_object
- (((pof_desc
- (Otag
- ((txt lola)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))
- ((ptyp_desc (Ptyp_var lola))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (pof_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 2) (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (pof_attributes ())))
- Closed))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident make))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- (((Labelled lola)
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident ##))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident Props))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident lola))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 1) (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 10)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 14)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1)
- (pos_bol 0) (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true)))))
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident Generated_locations))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2)
- (pos_bol 84) (pos_cnum 152)))
- (loc_ghost true))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost false)))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 1) (pos_bol 0)
- (pos_cnum 0)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 2) (pos_bol 84)
- (pos_cnum 152)))
- (loc_ghost true))))
- ((pstr_desc
- (Pstr_primitive
- ((pval_name
- ((txt makeProps)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true)))))
- (pval_type
- ((ptyp_desc
- (Ptyp_arrow (Optional initialValue)
- ((ptyp_desc (Ptyp_var initialValue))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 176)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_arrow (Optional key)
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Lident string))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))
- ()))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_arrow Nolabel
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Lident unit))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))
- ()))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Ldot (Lident Js) t))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))
- (((ptyp_desc
- (Ptyp_object
- (((pof_desc
- (Otag
- ((txt initialValue)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Lident option))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false))))
- (((ptyp_desc (Ptyp_var initialValue))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (pof_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (pof_attributes ())))
- Closed))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 176)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))
- (pval_prim (""))
- (pval_attributes
- (((attr_name
- ((txt bs.obj)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true)))))
- (attr_payload (PStr ()))
- (attr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true))))))
- (pval_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true))))
- ((pstr_desc
- (Pstr_value Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt make)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 157)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 161)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 157)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 161)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_fun (Optional initialValue)
- (((pexp_desc (Pexp_constant (Pconst_integer 0 ())))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 178)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 179)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- ((ppat_desc
- (Ppat_var
- ((txt initialValue)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 176)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_fun Nolabel ()
- ((ppat_desc
- (Ppat_construct
- ((txt (Lident "()"))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 182)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 184)))
- (loc_ghost false))))
- ()))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 182)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 184)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_let Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_tuple
- (((ppat_desc
- (Ppat_var
- ((txt value)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 194)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 199)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 194)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 199)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((ppat_desc
- (Ppat_var
- ((txt setValue)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 201)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 209)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 201)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 209)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ())))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 193)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 210)))
- (loc_ghost false)))
- (ppat_loc_stack
- (((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 194)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 209)))
- (loc_ghost false))))
- (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident React) useState))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 213)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 227)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 213)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 227)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_fun Nolabel ()
- ((ppat_desc
- (Ppat_construct
- ((txt (Lident "()"))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 233)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 235)))
- (loc_ghost false))))
- ()))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 233)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 235)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident initialValue))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 239)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 251)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 239)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 4) (pos_bol 187) (pos_cnum 251)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 228)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 252)))
- (loc_ghost false)))
- (pexp_loc_stack
- (((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 229)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 251)))
- (loc_ghost false))))
- (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 213)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 252)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 189)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 252)))
- (loc_ghost false)))))
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident ReactDOM) jsx))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 5)
- (pos_bol 256) (pos_cnum 258)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 374)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 5)
- (pos_bol 256) (pos_cnum 258)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 374)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_constant
- (Pconst_string button
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))
- ())))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 5)
- (pos_bol 256) (pos_cnum 260)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 5)
- (pos_bol 256) (pos_cnum 266)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident ReactDOM) domProps))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 260)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 266)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 5)
- (pos_bol 256) (pos_cnum 258)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 374)))
- (loc_ghost false)))
- (pexp_loc_stack ())
- (pexp_attributes
- (((attr_name
- ((txt merlin.hide)
- (loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))))
- (attr_payload (PStr ()))
- (attr_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))))))
- (((Labelled children)
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident |.))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 344)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 346)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321) (pos_cnum 344)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321) (pos_cnum 346)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident value))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 338)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 343)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 338)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 343)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident React) int))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 347)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 356)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 347)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321)
- (pos_cnum 356)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321) (pos_cnum 338)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321) (pos_cnum 356)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- ((Labelled onClick)
- ((pexp_desc
- (Pexp_fun Nolabel ()
- ((ppat_desc Ppat_any)
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 281)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 282)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident setValue))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 286)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 294)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 286)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 294)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_fun Nolabel ()
- ((ppat_desc
- (Ppat_var
- ((txt value)
- (loc
- ((loc_start
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 300)))
- (loc_end
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 305)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 300)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 305)))
- (loc_ghost false)))
- (ppat_loc_stack ())
- (ppat_attributes ()))
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident +))
- (loc
- ((loc_start
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 315)))
- (loc_end
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 316)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 315)))
- (loc_end
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 316)))
- (loc_ghost false)))
- (pexp_loc_stack ())
- (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident value))
- (loc
- ((loc_start
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 309)))
- (loc_end
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 314)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 309)))
- (loc_end
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 314)))
- (loc_ghost false)))
- (pexp_loc_stack ())
- (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_constant
- (Pconst_integer 1 ())))
- (pexp_loc
- ((loc_start
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 317)))
- (loc_end
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 318)))
- (loc_ghost false)))
- (pexp_loc_stack ())
- (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 309)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 318)))
- (loc_ghost false)))
- (pexp_loc_stack ())
- (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 295)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 319)))
- (loc_ghost false)))
- (pexp_loc_stack
- (((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 296)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256)
- (pos_cnum 318)))
- (loc_ghost false))))
- (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 286)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 319)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 276)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 320)))
- (loc_ghost false)))
- (pexp_loc_stack
- (((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 277)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 5) (pos_bol 256) (pos_cnum 319)))
- (loc_ghost false))))
- (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident "()"))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321) (pos_cnum 358)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321) (pos_cnum 360)))
- (loc_ghost false))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321) (pos_cnum 358)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 6) (pos_bol 321) (pos_cnum 360)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 5)
- (pos_bol 256) (pos_cnum 258)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 374)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 5)
- (pos_bol 256) (pos_cnum 258)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 374)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 4)
- (pos_bol 187) (pos_cnum 189)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 374)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 182)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 374)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 162)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 374)))
- (loc_ghost true)))
- (pexp_loc_stack ())
- (pexp_attributes
- (((attr_name
- ((txt warning)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))))
- (attr_payload
- (PStr
- (((pstr_desc
- (Pstr_eval
- ((pexp_desc
- (Pexp_constant
- (Pconst_string -16
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))
- ())))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ()))
- (pstr_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))))))
- (attr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true))))))))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost false)))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost false))))
- ((pstr_desc
- (Pstr_value Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt make)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 157)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 161)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 157)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 161)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_let Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt Generated_locations)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_fun Nolabel ()
- ((ppat_desc
- (Ppat_constraint
- ((ppat_desc
- (Ppat_var
- ((txt Props)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Ldot (Lident Js) t))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))
- (((ptyp_desc
- (Ptyp_object
- (((pof_desc
- (Otag
- ((txt initialValue)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Lident option))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153)
- (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153)
- (pos_cnum 176)))
- (loc_ghost false))))
- (((ptyp_desc (Ptyp_var initialValue))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153)
- (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153)
- (pos_cnum 176)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (pof_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 7) (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (pof_attributes ())))
- Closed))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident make))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- (((Optional initialValue)
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident ##))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident Props))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident initialValue))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 3) (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 164)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 176)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident "()"))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true)))))
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident Generated_locations))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3)
- (pos_bol 153) (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7)
- (pos_bol 362) (pos_cnum 394)))
- (loc_ghost true))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0) (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost false)))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 3) (pos_bol 153)
- (pos_cnum 153)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 7) (pos_bol 362)
- (pos_cnum 394)))
- (loc_ghost true))))
- ((pstr_desc
- (Pstr_module
- ((pmb_name
- ((txt (Uppercase))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 8) (pos_bol 395)
- (pos_cnum 402)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 8) (pos_bol 395)
- (pos_cnum 411)))
- (loc_ghost false)))))
- (pmb_expr
- ((pmod_desc
- (Pmod_structure
- (((pstr_desc
- (Pstr_primitive
- ((pval_name
- ((txt makeProps)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))))
- (pval_type
- ((ptyp_desc
- (Ptyp_arrow (Labelled children)
- ((ptyp_desc (Ptyp_var children))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 463)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_arrow (Optional key)
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Lident string))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true))))
- ()))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_arrow Nolabel
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Lident unit))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true))))
- ()))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Ldot (Lident Js) t))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true))))
- (((ptyp_desc
- (Ptyp_object
- (((pof_desc
- (Otag
- ((txt children)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true))))
- ((ptyp_desc (Ptyp_var children))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (pof_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true)))
- (pof_attributes ())))
- Closed))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 463)))
- (loc_ghost false)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))
- (pval_prim (""))
- (pval_attributes
- (((attr_name
- ((txt bs.obj)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))))
- (attr_payload (PStr ()))
- (attr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true))))))
- (pval_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true))))
- ((pstr_desc
- (Pstr_value Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt make)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 431)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 435)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 431)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 435)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_fun (Labelled children) ()
- ((ppat_desc
- (Ppat_var
- ((txt upperCaseChildren)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 463)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 463)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident React) jsx))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 473)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 534)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 473)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 534)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident Box) make))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 473)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 534)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 473)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 534)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Ldot (Lident Box) makeProps))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467)
- (pos_cnum 473)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467)
- (pos_cnum 534)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 473)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 534)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- (((Labelled children)
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident upperCaseChildren))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467)
- (pos_cnum 504)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467)
- (pos_cnum 521)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 504)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 521)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_construct
- ((txt (Lident "()"))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467)
- (pos_cnum 523)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467)
- (pos_cnum 525)))
- (loc_ghost false))))
- ()))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 523)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 11) (pos_bol 467) (pos_cnum 525)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 473)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 534)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 473)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 534)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 436)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 11)
- (pos_bol 467) (pos_cnum 534)))
- (loc_ghost true)))
- (pexp_loc_stack ())
- (pexp_attributes
- (((attr_name
- ((txt warning)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))))
- (attr_payload
- (PStr
- (((pstr_desc
- (Pstr_eval
- ((pexp_desc
- (Pexp_constant
- (Pconst_string -16
- ((loc_start
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 1) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true))
- ())))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ()))
- (pstr_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))))))
- (attr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true))))))))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost false)))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost false))))
- ((pstr_desc
- (Pstr_value Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt make)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 431)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 435)))
- (loc_ghost false))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 431)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 435)))
- (loc_ghost false)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_let Nonrecursive
- (((pvb_pat
- ((ppat_desc
- (Ppat_var
- ((txt Generated_locations$Uppercase)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ())))
- (pvb_expr
- ((pexp_desc
- (Pexp_fun Nolabel ()
- ((ppat_desc
- (Ppat_constraint
- ((ppat_desc
- (Ppat_var
- ((txt Props)
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true))))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((ptyp_desc
- (Ptyp_constr
- ((txt (Ldot (Lident Js) t))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true))))
- (((ptyp_desc
- (Ptyp_object
- (((pof_desc
- (Otag
- ((txt children)
- (loc
- ((loc_start
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true))))
- ((ptyp_desc (Ptyp_var children))
- (ptyp_loc
- ((loc_start
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname
- generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false)))
- (ptyp_loc_stack ())
- (ptyp_attributes ()))))
- (pof_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true)))
- (pof_attributes ())))
- Closed))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ())))))
- (ptyp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ptyp_loc_stack ()) (ptyp_attributes ()))))
- (ppat_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (ppat_loc_stack ()) (ppat_attributes ()))
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident make))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true))))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- (((Labelled children)
- ((pexp_desc
- (Pexp_apply
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident ##))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))
- ((Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident Props))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (Nolabel
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident children))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 446)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423)
- (pos_cnum 463)))
- (loc_ghost false)))
- (pexp_loc_stack ()) (pexp_attributes ()))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml)
- (pos_lnum 10) (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml)
- (pos_lnum 12) (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))))
- ((pexp_desc
- (Pexp_ident
- ((txt (Lident Generated_locations$Uppercase))
- (loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true))))))
- (pexp_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ()))))
- (pexp_loc
- ((loc_start
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_end
- ((pos_fname _none_) (pos_lnum 0) (pos_bol 0)
- (pos_cnum -1)))
- (loc_ghost true)))
- (pexp_loc_stack ()) (pexp_attributes ())))
- (pvb_attributes ())
- (pvb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10)
- (pos_bol 423) (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12)
- (pos_bol 553) (pos_cnum 622)))
- (loc_ghost false)))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 10) (pos_bol 423)
- (pos_cnum 427)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 12) (pos_bol 553)
- (pos_cnum 622)))
- (loc_ghost true)))))))
- (pmod_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 9) (pos_bol 414)
- (pos_cnum 416)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 13) (pos_bol 623)
- (pos_cnum 628)))
- (loc_ghost false)))
- (pmod_attributes ())))
- (pmb_attributes ())
- (pmb_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 8) (pos_bol 395)
- (pos_cnum 395)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 13) (pos_bol 623)
- (pos_cnum 628)))
- (loc_ghost false))))))
- (pstr_loc
- ((loc_start
- ((pos_fname generated_locations.ml) (pos_lnum 8) (pos_bol 395)
- (pos_cnum 395)))
- (loc_end
- ((pos_fname generated_locations.ml) (pos_lnum 13) (pos_bol 623)
- (pos_cnum 628)))
- (loc_ghost false)))))
diff --git a/ppx/test/ppx.sh b/ppx/test/ppx.sh
new file mode 100755
index 000000000..34991f9e7
--- /dev/null
+++ b/ppx/test/ppx.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+set -eo pipefail
+
+function usage() {
+ echo "Usage: $(basename "$0") --output re [file.re]"
+ echo " $(basename "$0") --output ml [file.re]"
+}
+
+# if [ -z "$3" ]; then
+ # usage
+ # exit
+# fi
+
+refmt --parse re --print ml "$3" > output.ml
+reason-react-ppx --impl output.ml -o temp.ml
+
+if [ "$2" == "ml" ]; then
+ cat temp.ml
+ exit
+elif [ "$2" == "re" ]; then
+ refmt --parse ml --print re temp.ml
+ exit
+else
+ usage
+ exit
+fi
diff --git a/ppx/test/ppx_with_refmt.sh b/ppx/test/ppx_with_refmt.sh
new file mode 100755
index 000000000..3be1c659d
--- /dev/null
+++ b/ppx/test/ppx_with_refmt.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -eo pipefail
+
+if [ -z "$1" ]; then
+ echo "Usage: $(basename "$0") [file.re]"
+ exit
+fi
+
+refmt --parse re --print ml "$1" > output.ml
+reason-react-ppx --impl output.ml -o temp.ml
+refmt --parse ml --print re temp.ml
diff --git a/ppx/test/merlin/simple.t/component.re b/ppx/test/simple.t/component.re
similarity index 100%
rename from ppx/test/merlin/simple.t/component.re
rename to ppx/test/simple.t/component.re
diff --git a/ppx/test/merlin/simple.t/run.t b/ppx/test/simple.t/run.t
similarity index 100%
rename from ppx/test/merlin/simple.t/run.t
rename to ppx/test/simple.t/run.t
diff --git a/ppx/test/upper.t/input.re b/ppx/test/upper.t/input.re
new file mode 100644
index 000000000..39e52c39d
--- /dev/null
+++ b/ppx/test/upper.t/input.re
@@ -0,0 +1,28 @@
+let upper = ;
+
+let upper_prop = ;
+
+let upper_children_single = foo => foo ;
+
+let upper_children_multiple = (foo, bar) => foo bar ;
+
+let upper_children =
+ {React.string("Yep")}
;
+
+let upper_nested_module = ;
+
+let upper_child_expr = {React.int(1)}
;
+let upper_child_ident = lola
;
+
+let upper_all_kinds_of_props =
+
+ "hello"
+ ;
+
+let upper_ref_with_children =
+ ;
diff --git a/ppx/test/upper.t/run.t b/ppx/test/upper.t/run.t
new file mode 100644
index 000000000..a5ed6a84c
--- /dev/null
+++ b/ppx/test/upper.t/run.t
@@ -0,0 +1,58 @@
+ $ ../ppx.sh --output re input.re
+ let upper = React.jsx(Upper.make, Upper.makeProps());
+ let upper_prop = React.jsx(Upper.make, Upper.makeProps(~count, ()));
+ let upper_children_single = foo =>
+ React.jsx(Upper.make, Upper.makeProps(~children=foo, ()));
+ let upper_children_multiple = (foo, bar) =>
+ React.jsxs(
+ Upper.make,
+ Upper.makeProps(~children=React.array([|foo, bar|]), ()),
+ );
+ let upper_children =
+ React.jsx(
+ Page.make,
+ Page.makeProps(
+ ~children=
+ ReactDOM.jsx(
+ "h1",
+ ([@merlin.hide] ReactDOM.domProps)(
+ ~children=React.string("Yep"),
+ (),
+ ),
+ ),
+ ~moreProps="hgalo",
+ (),
+ ),
+ );
+ let upper_nested_module =
+ React.jsx(Foo.Bar.make, Foo.Bar.makeProps(~a=1, ~b="1", ()));
+ let upper_child_expr =
+ React.jsx(Div.make, Div.makeProps(~children=React.int(1), ()));
+ let upper_child_ident =
+ React.jsx(Div.make, Div.makeProps(~children=lola, ()));
+ let upper_all_kinds_of_props =
+ React.jsx(
+ MyComponent.make,
+ MyComponent.makeProps(
+ ~children=
+ ReactDOM.jsx(
+ "div",
+ ([@merlin.hide] ReactDOM.domProps)(~children="hello", ()),
+ ),
+ ~booleanAttribute=true,
+ ~stringAttribute="string",
+ ~intAttribute=1,
+ ~forcedOptional=?Some("hello"),
+ ~onClick=send(handleClick),
+ (),
+ ),
+ );
+ let upper_ref_with_children =
+ React.jsx(
+ FancyButton.make,
+ FancyButton.makeProps(
+ ~children=ReactDOM.jsx("div", ([@merlin.hide] ReactDOM.domProps)()),
+ ~ref=buttonRef,
+ (),
+ ),
+ );
diff --git a/ppx/test/merlin/uppercase.t/component.re b/ppx/test/uppercase.t/component.re
similarity index 100%
rename from ppx/test/merlin/uppercase.t/component.re
rename to ppx/test/uppercase.t/component.re
diff --git a/ppx/test/merlin/uppercase.t/run.t b/ppx/test/uppercase.t/run.t
similarity index 100%
rename from ppx/test/merlin/uppercase.t/run.t
rename to ppx/test/uppercase.t/run.t
diff --git a/reason-react-ppx.opam b/reason-react-ppx.opam
index 95f78773d..d175f06c4 100644
--- a/reason-react-ppx.opam
+++ b/reason-react-ppx.opam
@@ -19,6 +19,7 @@ depends: [
"reason" {>= "3.9.0"}
"ppxlib" {>= "0.28.0"}
"merlin" {with-test}
+ "ocamlformat" {= "0.24.0" & with-dev-setup}
"odoc" {with-doc}
]
build: [
diff --git a/reason-react.opam b/reason-react.opam
index 2852ecb6d..a3b4ba00b 100644
--- a/reason-react.opam
+++ b/reason-react.opam
@@ -24,6 +24,7 @@ depends: [
"reason" {>= "3.6.0"}
"ocaml-lsp-server" {with-test}
"opam-check-npm-deps" {= "1.0.0" & with-dev-setup}
+ "ocamlformat" {= "0.24.0" & with-dev-setup}
"odoc" {with-doc}
]
build: [