1 (* @generated from ast.src.ml by hphp/hack/tools/ppx/facebook:generate_ppx *)
2 (* Copyright (c) 2004-present, Facebook, Inc. All rights reserved. *)
3 (* SourceShasum<<36ea0f8d69ba93a3cfa3229d612370640d610fa8>> *)
5 (* DO NOT EDIT MANUALLY. *)
7 "\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the \"hack\" directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n "]
9 type program
= def list
[@@deriving
16 ancestors
= ["endo_defs"]
23 ancestors
= ["reduce_defs"]
30 ancestors
= ["map_defs"]
37 ancestors
= ["iter_defs"]
39 and nsenv
= ((Namespace_env.env
)[@opaque
])
40 and fimode
= ((FileInfo.mode
)[@visitors
.opaque
])
47 | Namespace
of id
* program
48 | NamespaceUse
of (ns_kind
* id
* id
) list
49 | SetNamespaceEnv
of nsenv
53 t_tparams
: tparam list
;
54 t_constraint
: tconstraint
;
55 t_kind
: typedef_kind
;
56 t_user_attributes
: user_attribute list
;
64 cst_type
: hint
option ;
66 cst_namespace
: nsenv
;
68 and tparam
= (variance
* id
* (constraint_kind
* hint
) list
)
69 and tconstraint
= hint
option
76 c_user_attributes
: user_attribute list
;
81 c_tparams
: tparam list
;
82 c_extends
: hint list
;
83 c_implements
: hint list
;
84 c_body
: class_elt list
;
86 c_enum
: enum_
option ;
88 c_doc_comment
: string option }
91 e_constraint
: hint
option }
92 and user_attribute
= {
94 ua_params
: expr list
}
96 | Const
of hint
option * (id
* expr
) list
97 | AbsConst
of hint
option * id
98 | Attributes
of class_attr list
99 | TypeConst
of typeconst
101 | ClassUseAlias
of id
option * pstring
* id
option * kind list
102 | ClassUsePrecedence
of id
* pstring
* id list
104 | ClassTraitRequire
of trait_req_kind
* hint
105 | ClassVars
of class_vars_
106 | XhpAttr
of hint
option * class_var
* bool * (pos
* bool * expr list
)
109 | XhpCategory
of pstring list
110 | XhpChild
of xhp_child
113 | ChildList
of xhp_child list
114 | ChildUnary
of xhp_child
* xhp_child_op
115 | ChildBinary
of xhp_child
* xhp_child
122 | CA_field
of ca_field
127 ca_value
: expr
option ;
131 | CA_enum
of string list
132 and class_var
= (pos
* id
* expr
option)
135 cv_kinds
: kind list
;
136 cv_hint
: hint
option ;
137 cv_is_promoted_variadic
: is_variadic
;
138 cv_names
: class_var list
;
139 cv_doc_comment
: string option ;
140 cv_user_attributes
: user_attribute list
}
144 m_tparams
: tparam list
;
145 m_constrs
: (hint
* constraint_kind
* hint
) list
;
147 m_params
: fun_param list
;
149 m_user_attributes
: user_attribute list
;
152 m_fun_kind
: fun_kind
;
154 m_doc_comment
: string option }
157 tconst_abstract
: bool ;
159 tconst_tparams
: tparam list
;
160 tconst_constraint
: hint
option ;
161 tconst_type
: hint
option ;
163 and is_reference
= bool
164 and is_variadic
= bool
167 param_hint
: hint
option ;
168 param_is_reference
: is_reference
;
169 param_is_variadic
: is_variadic
;
171 param_expr
: expr
option ;
172 param_modifier
: kind
option ;
173 param_callconv
: param_kind
option ;
174 param_user_attributes
: user_attribute list
}
178 f_tparams
: tparam list
;
179 f_constrs
: (hint
* constraint_kind
* hint
) list
;
183 f_params
: fun_param list
;
185 f_user_attributes
: user_attribute list
;
186 f_fun_kind
: fun_kind
;
189 f_doc_comment
: string option ;
191 and is_coroutine
= bool
192 and hint
= (pos
* hint_
)
194 | Hvariadic
of hint
option
198 | Hfun
of is_coroutine
* hint list
* param_kind
option list
* variadic_hint
200 | Htuple
of hint list
201 | Happly
of id
* hint list
202 | Hshape
of shape_info
203 | Haccess
of id
* id
* id list
207 si_allows_unknown_fields
: bool ;
208 si_shape_field_list
: shape_field list
}
212 sf_name
: shape_field_name
;
216 us_is_block_scoped
: bool ;
220 and stmt
= (pos
* stmt_
)
226 | Break
of expr
option
227 | Continue
of expr
option
229 | Return
of expr
option
230 | GotoLabel
of pstring
232 | Static_var
of expr list
233 | Global_var
of expr list
234 | If
of expr
* block
* block
236 | While
of expr
* block
237 | For
of expr
* expr
* expr
* block
238 | Switch
of expr
* case list
239 | Foreach
of expr
* pos
option * as_expr
* block
240 | Try
of block
* catch list
* block
243 | Markup
of pstring
* expr
option
244 | Using
of using_stmt
245 | Declare
of bool * expr
* block
248 | As_kv
of expr
* expr
250 | Xhp_simple
of id
* expr
252 and block
= stmt list
253 and expr
= (pos
* expr_
)
255 | Array
of afield list
256 | Varray
of expr list
257 | Darray
of (expr
* expr
) list
258 | Shape
of (shape_field_name
* expr
) list
259 | Collection
of id
* afield list
265 | Id_type_arguments
of id
* hint list
269 | Obj_get
of expr
* expr
* og_null_flavor
270 | Array_get
of expr
* expr
option
271 | Class_get
of expr
* expr
272 | Class_const
of expr
* pstring
273 | Call
of expr
* hint list
* expr list
* expr list
277 | String2
of expr list
284 | Expr_list
of expr list
285 | Cast
of hint
* expr
287 | Binop
of bop
* expr
* expr
288 | Pipe
of expr
* expr
289 | Eif
of expr
* expr
option * expr
290 | NullCoalesce
of expr
* expr
291 | InstanceOf
of expr
* expr
294 | ParenthesizedExpr
of expr
295 | New
of expr
* expr list
* expr list
296 | NewAnonClass
of expr list
* expr list
* class_
297 | Efun
of fun_
* (id
* bool) list
299 | Xml
of id
* xhp_attribute list
* expr list
301 | Import
of import_flavor
* expr
302 | Callconv
of param_kind
* expr
303 | Execution_operator
of expr list
311 | AFkvalue
of expr
* expr
[@@ocaml
.doc
312 " \"array\" field. Fields of array, map, dict, and shape literals. "]
315 | Case
of expr
* block
316 and catch
= (id
* id
* block
)
317 and field
= (expr
* expr
)
318 and attr
= (id
* expr
)
319 let rec pp_program : Format.formatter
-> program
-> Ppx_deriving_runtime.unit
321 let __0 () = pp_def
in
322 ((let open! Ppx_deriving_runtime
in
325 Format.fprintf fmt
"@[<2>[";
330 if sep
then Format.fprintf fmt
";@ ";
333 Format.fprintf fmt
"@,]@]")
334 [@ocaml
.warning
"-A"])
336 and show_program
: program
-> Ppx_deriving_runtime.string =
337 fun x
-> Format.asprintf
"%a" pp_program x
339 and (pp_nsenv
: Format.formatter
-> nsenv
-> Ppx_deriving_runtime.unit) =
340 ((let open! Ppx_deriving_runtime
in
341 fun fmt
-> fun _
-> Format.pp_print_string fmt
"<opaque>")
342 [@ocaml
.warning
"-A"])
344 and show_nsenv
: nsenv
-> Ppx_deriving_runtime.string =
345 fun x
-> Format.asprintf
"%a" pp_nsenv x
347 and pp_fimode
: Format.formatter
-> fimode
-> Ppx_deriving_runtime.unit =
348 let __0 () = FileInfo.pp_mode
in
349 ((let open! Ppx_deriving_runtime
in fun fmt
-> (__0 ()) fmt
)
350 [@ocaml
.warning
"-A"])
352 and show_fimode
: fimode
-> Ppx_deriving_runtime.string =
353 fun x
-> Format.asprintf
"%a" pp_fimode x
355 and pp_def
: Format.formatter
-> def
-> Ppx_deriving_runtime.unit =
356 let __10 () = pp_nsenv
362 and __7
() = pp_ns_kind
364 and __6
() = pp_program
368 and __4
() = pp_gconst
370 and __3
() = pp_typedef
374 and __1
() = pp_class_
378 ((let open! Ppx_deriving_runtime
in
382 (Format.fprintf fmt
"(@[<2>Fun@ ";
384 Format.fprintf fmt
"@])")
386 (Format.fprintf fmt
"(@[<2>Class@ ";
388 Format.fprintf fmt
"@])")
390 (Format.fprintf fmt
"(@[<2>Stmt@ ";
392 Format.fprintf fmt
"@])")
394 (Format.fprintf fmt
"(@[<2>Typedef@ ";
396 Format.fprintf fmt
"@])")
398 (Format.fprintf fmt
"(@[<2>Constant@ ";
400 Format.fprintf fmt
"@])")
401 | Namespace
(a0
,a1
) ->
402 (Format.fprintf fmt
"(@[<2>Namespace (@,";
403 (((__5
()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__6
()) fmt
) a1
);
404 Format.fprintf fmt
"@,))@]")
406 (Format.fprintf fmt
"(@[<2>NamespaceUse@ ";
408 Format.fprintf fmt
"@[<2>[";
413 if sep
then Format.fprintf fmt
";@ ";
415 Format.fprintf fmt
"(@[";
417 Format.fprintf fmt
",@ ";
419 Format.fprintf fmt
",@ ";
421 Format.fprintf fmt
"@])")) x
;
423 Format.fprintf fmt
"@,]@]")) a0
;
424 Format.fprintf fmt
"@])")
425 | SetNamespaceEnv a0
->
426 (Format.fprintf fmt
"(@[<2>SetNamespaceEnv@ ";
428 Format.fprintf fmt
"@])"))
429 [@ocaml
.warning
"-A"])
431 and show_def
: def
-> Ppx_deriving_runtime.string =
432 fun x
-> Format.asprintf
"%a" pp_def x
434 and pp_typedef
: Format.formatter
-> typedef
-> Ppx_deriving_runtime.unit =
435 let __6 () = pp_fimode
437 and __5
() = pp_nsenv
439 and __4
() = pp_user_attribute
441 and __3
() = pp_typedef_kind
443 and __2
() = pp_tconstraint
445 and __1
() = pp_tparam
449 ((let open! Ppx_deriving_runtime
in
452 Format.fprintf fmt
"@[<2>{ ";
453 (((((((Format.fprintf fmt
"@[%s =@ " "t_id";
454 ((__0 ()) fmt
) x
.t_id
;
455 Format.fprintf fmt
"@]");
456 Format.fprintf fmt
";@ ";
457 Format.fprintf fmt
"@[%s =@ " "t_tparams";
459 Format.fprintf fmt
"@[<2>[";
464 if sep
then Format.fprintf fmt
";@ ";
467 Format.fprintf fmt
"@,]@]")) x
.t_tparams
;
468 Format.fprintf fmt
"@]");
469 Format.fprintf fmt
";@ ";
470 Format.fprintf fmt
"@[%s =@ " "t_constraint";
471 ((__2
()) fmt
) x
.t_constraint
;
472 Format.fprintf fmt
"@]");
473 Format.fprintf fmt
";@ ";
474 Format.fprintf fmt
"@[%s =@ " "t_kind";
475 ((__3
()) fmt
) x
.t_kind
;
476 Format.fprintf fmt
"@]");
477 Format.fprintf fmt
";@ ";
478 Format.fprintf fmt
"@[%s =@ " "t_user_attributes";
480 Format.fprintf fmt
"@[<2>[";
485 if sep
then Format.fprintf fmt
";@ ";
488 Format.fprintf fmt
"@,]@]")) x
.t_user_attributes
;
489 Format.fprintf fmt
"@]");
490 Format.fprintf fmt
";@ ";
491 Format.fprintf fmt
"@[%s =@ " "t_namespace";
492 ((__5
()) fmt
) x
.t_namespace
;
493 Format.fprintf fmt
"@]");
494 Format.fprintf fmt
";@ ";
495 Format.fprintf fmt
"@[%s =@ " "t_mode";
496 ((__6 ()) fmt
) x
.t_mode
;
497 Format.fprintf fmt
"@]");
498 Format.fprintf fmt
"@ }@]")
499 [@ocaml
.warning
"-A"])
501 and show_typedef
: typedef
-> Ppx_deriving_runtime.string =
502 fun x
-> Format.asprintf
"%a" pp_typedef x
504 and pp_gconst
: Format.formatter
-> gconst
-> Ppx_deriving_runtime.unit =
507 and __5
() = pp_nsenv
515 and __1
() = pp_cst_kind
517 and __0 () = pp_fimode
519 ((let open! Ppx_deriving_runtime
in
522 Format.fprintf fmt
"@[<2>{ ";
523 (((((((Format.fprintf fmt
"@[%s =@ " "cst_mode";
524 ((__0 ()) fmt
) x
.cst_mode
;
525 Format.fprintf fmt
"@]");
526 Format.fprintf fmt
";@ ";
527 Format.fprintf fmt
"@[%s =@ " "cst_kind";
528 ((__1
()) fmt
) x
.cst_kind
;
529 Format.fprintf fmt
"@]");
530 Format.fprintf fmt
";@ ";
531 Format.fprintf fmt
"@[%s =@ " "cst_name";
532 ((__2
()) fmt
) x
.cst_name
;
533 Format.fprintf fmt
"@]");
534 Format.fprintf fmt
";@ ";
535 Format.fprintf fmt
"@[%s =@ " "cst_type";
537 | None
-> Format.pp_print_string fmt
"None"
539 (Format.pp_print_string fmt
"(Some ";
541 Format.pp_print_string fmt
")"))) x
.cst_type
;
542 Format.fprintf fmt
"@]");
543 Format.fprintf fmt
";@ ";
544 Format.fprintf fmt
"@[%s =@ " "cst_value";
545 ((__4
()) fmt
) x
.cst_value
;
546 Format.fprintf fmt
"@]");
547 Format.fprintf fmt
";@ ";
548 Format.fprintf fmt
"@[%s =@ " "cst_namespace";
549 ((__5
()) fmt
) x
.cst_namespace
;
550 Format.fprintf fmt
"@]");
551 Format.fprintf fmt
";@ ";
552 Format.fprintf fmt
"@[%s =@ " "cst_span";
553 ((__6 ()) fmt
) x
.cst_span
;
554 Format.fprintf fmt
"@]");
555 Format.fprintf fmt
"@ }@]")
556 [@ocaml
.warning
"-A"])
558 and show_gconst
: gconst
-> Ppx_deriving_runtime.string =
559 fun x
-> Format.asprintf
"%a" pp_gconst x
561 and pp_tparam
: Format.formatter
-> tparam
-> Ppx_deriving_runtime.unit =
564 and __2
() = pp_constraint_kind
568 and __0 () = pp_variance
570 ((let open! Ppx_deriving_runtime
in
573 Format.fprintf fmt
"(@[";
574 ((((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1
()) fmt
) a1
);
575 Format.fprintf fmt
",@ ";
577 Format.fprintf fmt
"@[<2>[";
582 if sep
then Format.fprintf fmt
";@ ";
584 Format.fprintf fmt
"(@[";
586 Format.fprintf fmt
",@ ";
588 Format.fprintf fmt
"@])")) x
;
590 Format.fprintf fmt
"@,]@]")) a2
);
591 Format.fprintf fmt
"@])")
592 [@ocaml
.warning
"-A"])
594 and show_tparam
: tparam
-> Ppx_deriving_runtime.string =
595 fun x
-> Format.asprintf
"%a" pp_tparam x
598 Format.formatter
-> tconstraint
-> Ppx_deriving_runtime.unit =
599 let __0 () = pp_hint
in
600 ((let open! Ppx_deriving_runtime
in
603 | None
-> Format.pp_print_string fmt
"None"
605 (Format.pp_print_string fmt
"(Some ";
607 Format.pp_print_string fmt
")"))
608 [@ocaml
.warning
"-A"])
610 and show_tconstraint
: tconstraint
-> Ppx_deriving_runtime.string =
611 fun x
-> Format.asprintf
"%a" pp_tconstraint x
613 and pp_typedef_kind
:
614 Format.formatter
-> typedef_kind
-> Ppx_deriving_runtime.unit =
619 ((let open! Ppx_deriving_runtime
in
623 (Format.fprintf fmt
"(@[<2>Alias@ ";
625 Format.fprintf fmt
"@])")
627 (Format.fprintf fmt
"(@[<2>NewType@ ";
629 Format.fprintf fmt
"@])"))
630 [@ocaml
.warning
"-A"])
632 and show_typedef_kind
: typedef_kind
-> Ppx_deriving_runtime.string =
633 fun x
-> Format.asprintf
"%a" pp_typedef_kind x
635 and pp_class_
: Format.formatter
-> class_
-> Ppx_deriving_runtime.unit =
638 and __9
() = pp_enum_
640 and __8
() = pp_nsenv
642 and __7
() = pp_class_elt
648 and __4
() = pp_tparam
652 and __2
() = pp_class_kind
654 and __1 () = pp_user_attribute
656 and __0 () = pp_fimode
658 ((let open! Ppx_deriving_runtime
in
661 Format.fprintf fmt
"@[<2>{ ";
662 ((((((((((((((Format.fprintf fmt
"@[%s =@ " "c_mode";
663 ((__0 ()) fmt
) x
.c_mode
;
664 Format.fprintf fmt
"@]");
665 Format.fprintf fmt
";@ ";
666 Format.fprintf fmt
"@[%s =@ " "c_user_attributes";
668 Format.fprintf fmt
"@[<2>[";
673 if sep
then Format.fprintf fmt
";@ ";
676 Format.fprintf fmt
"@,]@]")) x
.c_user_attributes
;
677 Format.fprintf fmt
"@]");
678 Format.fprintf fmt
";@ ";
679 Format.fprintf fmt
"@[%s =@ " "c_final";
680 (Format.fprintf fmt
"%B") x
.c_final
;
681 Format.fprintf fmt
"@]");
682 Format.fprintf fmt
";@ ";
683 Format.fprintf fmt
"@[%s =@ " "c_kind";
684 ((__2
()) fmt
) x
.c_kind
;
685 Format.fprintf fmt
"@]");
686 Format.fprintf fmt
";@ ";
687 Format.fprintf fmt
"@[%s =@ " "c_is_xhp";
688 (Format.fprintf fmt
"%B") x
.c_is_xhp
;
689 Format.fprintf fmt
"@]");
690 Format.fprintf fmt
";@ ";
691 Format.fprintf fmt
"@[%s =@ " "c_name";
692 ((__3 ()) fmt
) x
.c_name
;
693 Format.fprintf fmt
"@]");
694 Format.fprintf fmt
";@ ";
695 Format.fprintf fmt
"@[%s =@ " "c_tparams";
697 Format.fprintf fmt
"@[<2>[";
702 if sep
then Format.fprintf fmt
";@ ";
705 Format.fprintf fmt
"@,]@]")) x
.c_tparams
;
706 Format.fprintf fmt
"@]");
707 Format.fprintf fmt
";@ ";
708 Format.fprintf fmt
"@[%s =@ " "c_extends";
710 Format.fprintf fmt
"@[<2>[";
715 if sep
then Format.fprintf fmt
";@ ";
718 Format.fprintf fmt
"@,]@]")) x
.c_extends
;
719 Format.fprintf fmt
"@]");
720 Format.fprintf fmt
";@ ";
721 Format.fprintf fmt
"@[%s =@ " "c_implements";
723 Format.fprintf fmt
"@[<2>[";
728 if sep
then Format.fprintf fmt
";@ ";
731 Format.fprintf fmt
"@,]@]")) x
.c_implements
;
732 Format.fprintf fmt
"@]");
733 Format.fprintf fmt
";@ ";
734 Format.fprintf fmt
"@[%s =@ " "c_body";
736 Format.fprintf fmt
"@[<2>[";
741 if sep
then Format.fprintf fmt
";@ ";
744 Format.fprintf fmt
"@,]@]")) x
.c_body
;
745 Format.fprintf fmt
"@]");
746 Format.fprintf fmt
";@ ";
747 Format.fprintf fmt
"@[%s =@ " "c_namespace";
748 ((__8
()) fmt
) x
.c_namespace
;
749 Format.fprintf fmt
"@]");
750 Format.fprintf fmt
";@ ";
751 Format.fprintf fmt
"@[%s =@ " "c_enum";
753 | None
-> Format.pp_print_string fmt
"None"
755 (Format.pp_print_string fmt
"(Some ";
757 Format.pp_print_string fmt
")"))) x
.c_enum
;
758 Format.fprintf fmt
"@]");
759 Format.fprintf fmt
";@ ";
760 Format.fprintf fmt
"@[%s =@ " "c_span";
761 ((__10 ()) fmt
) x
.c_span
;
762 Format.fprintf fmt
"@]");
763 Format.fprintf fmt
";@ ";
764 Format.fprintf fmt
"@[%s =@ " "c_doc_comment";
766 | None
-> Format.pp_print_string fmt
"None"
768 (Format.pp_print_string fmt
"(Some ";
769 (Format.fprintf fmt
"%S") x
;
770 Format.pp_print_string fmt
")"))) x
.c_doc_comment
;
771 Format.fprintf fmt
"@]");
772 Format.fprintf fmt
"@ }@]")
773 [@ocaml
.warning
"-A"])
775 and show_class_
: class_
-> Ppx_deriving_runtime.string =
776 fun x
-> Format.asprintf
"%a" pp_class_ x
778 and pp_enum_
: Format.formatter
-> enum_
-> Ppx_deriving_runtime.unit =
783 ((let open! Ppx_deriving_runtime
in
786 Format.fprintf fmt
"@[<2>{ ";
787 ((Format.fprintf fmt
"@[%s =@ " "e_base";
788 ((__0 ()) fmt
) x
.e_base
;
789 Format.fprintf fmt
"@]");
790 Format.fprintf fmt
";@ ";
791 Format.fprintf fmt
"@[%s =@ " "e_constraint";
793 | None
-> Format.pp_print_string fmt
"None"
795 (Format.pp_print_string fmt
"(Some ";
797 Format.pp_print_string fmt
")"))) x
.e_constraint
;
798 Format.fprintf fmt
"@]");
799 Format.fprintf fmt
"@ }@]")
800 [@ocaml
.warning
"-A"])
802 and show_enum_
: enum_
-> Ppx_deriving_runtime.string =
803 fun x
-> Format.asprintf
"%a" pp_enum_ x
805 and pp_user_attribute
:
806 Format.formatter
-> user_attribute
-> Ppx_deriving_runtime.unit =
811 ((let open! Ppx_deriving_runtime
in
814 Format.fprintf fmt
"@[<2>{ ";
815 ((Format.fprintf fmt
"@[%s =@ " "ua_name";
816 ((__0 ()) fmt
) x
.ua_name
;
817 Format.fprintf fmt
"@]");
818 Format.fprintf fmt
";@ ";
819 Format.fprintf fmt
"@[%s =@ " "ua_params";
821 Format.fprintf fmt
"@[<2>[";
826 if sep
then Format.fprintf fmt
";@ ";
829 Format.fprintf fmt
"@,]@]")) x
.ua_params
;
830 Format.fprintf fmt
"@]");
831 Format.fprintf fmt
"@ }@]")
832 [@ocaml
.warning
"-A"])
834 and show_user_attribute
: user_attribute
-> Ppx_deriving_runtime.string =
835 fun x
-> Format.asprintf
"%a" pp_user_attribute x
837 and pp_class_elt
: Format.formatter
-> class_elt
-> Ppx_deriving_runtime.unit
839 let __25 () = pp_xhp_child
841 and __24
() = pp_pstring
843 and __23
() = pp_method_
845 and __22
() = pp_expr
849 and __20
() = pp_class_var
851 and __19
() = pp_hint
853 and __18
() = pp_class_vars_
855 and __17
() = pp_hint
857 and __16
() = pp_trait_req_kind
859 and __15
() = pp_hint
863 and __13
() = pp_pstring
867 and __11
() = pp_kind
871 and __9
() = pp_pstring
877 and __6 () = pp_typeconst
879 and __5
() = pp_class_attr
891 ((let open! Ppx_deriving_runtime
in
895 (Format.fprintf fmt
"(@[<2>Const (@,";
897 | None
-> Format.pp_print_string fmt
"None"
899 (Format.pp_print_string fmt
"(Some ";
901 Format.pp_print_string fmt
")"))) a0
;
902 Format.fprintf fmt
",@ ";
904 Format.fprintf fmt
"@[<2>[";
909 if sep
then Format.fprintf fmt
";@ ";
911 Format.fprintf fmt
"(@[";
913 Format.fprintf fmt
",@ ";
915 Format.fprintf fmt
"@])")) x
;
917 Format.fprintf fmt
"@,]@]")) a1
);
918 Format.fprintf fmt
"@,))@]")
919 | AbsConst
(a0
,a1
) ->
920 (Format.fprintf fmt
"(@[<2>AbsConst (@,";
922 | None
-> Format.pp_print_string fmt
"None"
924 (Format.pp_print_string fmt
"(Some ";
926 Format.pp_print_string fmt
")"))) a0
;
927 Format.fprintf fmt
",@ ";
929 Format.fprintf fmt
"@,))@]")
931 (Format.fprintf fmt
"(@[<2>Attributes@ ";
933 Format.fprintf fmt
"@[<2>[";
938 if sep
then Format.fprintf fmt
";@ ";
941 Format.fprintf fmt
"@,]@]")) a0
;
942 Format.fprintf fmt
"@])")
944 (Format.fprintf fmt
"(@[<2>TypeConst@ ";
946 Format.fprintf fmt
"@])")
948 (Format.fprintf fmt
"(@[<2>ClassUse@ ";
950 Format.fprintf fmt
"@])")
951 | ClassUseAlias
(a0
,a1
,a2
,a3
) ->
952 (Format.fprintf fmt
"(@[<2>ClassUseAlias (@,";
954 | None
-> Format.pp_print_string fmt
"None"
956 (Format.pp_print_string fmt
"(Some ";
958 Format.pp_print_string fmt
")"))) a0
;
959 Format.fprintf fmt
",@ ";
961 Format.fprintf fmt
",@ ";
963 | None
-> Format.pp_print_string fmt
"None"
965 (Format.pp_print_string fmt
"(Some ";
967 Format.pp_print_string fmt
")"))) a2
);
968 Format.fprintf fmt
",@ ";
970 Format.fprintf fmt
"@[<2>[";
975 if sep
then Format.fprintf fmt
";@ ";
978 Format.fprintf fmt
"@,]@]")) a3
);
979 Format.fprintf fmt
"@,))@]")
980 | ClassUsePrecedence
(a0
,a1
,a2
) ->
981 (Format.fprintf fmt
"(@[<2>ClassUsePrecedence (@,";
982 ((((__12
()) fmt
) a0
;
983 Format.fprintf fmt
",@ ";
985 Format.fprintf fmt
",@ ";
987 Format.fprintf fmt
"@[<2>[";
992 if sep
then Format.fprintf fmt
";@ ";
995 Format.fprintf fmt
"@,]@]")) a2
);
996 Format.fprintf fmt
"@,))@]")
998 (Format.fprintf fmt
"(@[<2>XhpAttrUse@ ";
1000 Format.fprintf fmt
"@])")
1001 | ClassTraitRequire
(a0
,a1
) ->
1002 (Format.fprintf fmt
"(@[<2>ClassTraitRequire (@,";
1003 (((__16
()) fmt
) a0
;
1004 Format.fprintf fmt
",@ ";
1005 ((__17
()) fmt
) a1
);
1006 Format.fprintf fmt
"@,))@]")
1008 (Format.fprintf fmt
"(@[<2>ClassVars@ ";
1010 Format.fprintf fmt
"@])")
1011 | XhpAttr
(a0
,a1
,a2
,a3
) ->
1012 (Format.fprintf fmt
"(@[<2>XhpAttr (@,";
1014 | None
-> Format.pp_print_string fmt
"None"
1016 (Format.pp_print_string fmt
"(Some ";
1018 Format.pp_print_string fmt
")"))) a0
;
1019 Format.fprintf fmt
",@ ";
1020 ((__20
()) fmt
) a1
);
1021 Format.fprintf fmt
",@ ";
1022 (Format.fprintf fmt
"%B") a2
);
1023 Format.fprintf fmt
",@ ";
1025 | None
-> Format.pp_print_string fmt
"None"
1027 (Format.pp_print_string fmt
"(Some ";
1029 Format.fprintf fmt
"(@[";
1030 ((((__21
()) fmt
) a0
;
1031 Format.fprintf fmt
",@ ";
1032 (Format.fprintf fmt
"%B") a1
);
1033 Format.fprintf fmt
",@ ";
1035 Format.fprintf fmt
"@[<2>[";
1040 if sep
then Format.fprintf fmt
";@ ";
1043 Format.fprintf fmt
"@,]@]")) a2
);
1044 Format.fprintf fmt
"@])")) x
;
1045 Format.pp_print_string fmt
")"))) a3
);
1046 Format.fprintf fmt
"@,))@]")
1048 (Format.fprintf fmt
"(@[<2>Method@ ";
1050 Format.fprintf fmt
"@])")
1052 (Format.fprintf fmt
"(@[<2>XhpCategory@ ";
1054 Format.fprintf fmt
"@[<2>[";
1059 if sep
then Format.fprintf fmt
";@ ";
1062 Format.fprintf fmt
"@,]@]")) a0
;
1063 Format.fprintf fmt
"@])")
1065 (Format.fprintf fmt
"(@[<2>XhpChild@ ";
1067 Format.fprintf fmt
"@])"))
1068 [@ocaml
.warning
"-A"])
1070 and show_class_elt
: class_elt
-> Ppx_deriving_runtime.string =
1071 fun x
-> Format.asprintf
"%a" pp_class_elt x
1073 and pp_xhp_child
: Format.formatter
-> xhp_child
-> Ppx_deriving_runtime.unit
1075 let __5 () = pp_xhp_child
1077 and __4
() = pp_xhp_child
1079 and __3 () = pp_xhp_child_op
1081 and __2
() = pp_xhp_child
1083 and __1 () = pp_xhp_child
1087 ((let open! Ppx_deriving_runtime
in
1091 (Format.fprintf fmt
"(@[<2>ChildName@ ";
1093 Format.fprintf fmt
"@])")
1095 (Format.fprintf fmt
"(@[<2>ChildList@ ";
1097 Format.fprintf fmt
"@[<2>[";
1102 if sep
then Format.fprintf fmt
";@ ";
1105 Format.fprintf fmt
"@,]@]")) a0
;
1106 Format.fprintf fmt
"@])")
1107 | ChildUnary
(a0
,a1
) ->
1108 (Format.fprintf fmt
"(@[<2>ChildUnary (@,";
1109 (((__2
()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__3 ()) fmt
) a1
);
1110 Format.fprintf fmt
"@,))@]")
1111 | ChildBinary
(a0
,a1
) ->
1112 (Format.fprintf fmt
"(@[<2>ChildBinary (@,";
1113 (((__4
()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__5 ()) fmt
) a1
);
1114 Format.fprintf fmt
"@,))@]"))
1115 [@ocaml
.warning
"-A"])
1117 and show_xhp_child
: xhp_child
-> Ppx_deriving_runtime.string =
1118 fun x
-> Format.asprintf
"%a" pp_xhp_child x
1120 and (pp_xhp_child_op
:
1121 Format.formatter
-> xhp_child_op
-> Ppx_deriving_runtime.unit)
1123 ((let open! Ppx_deriving_runtime
in
1126 | ChildStar
-> Format.pp_print_string fmt
"ChildStar"
1127 | ChildPlus
-> Format.pp_print_string fmt
"ChildPlus"
1128 | ChildQuestion
-> Format.pp_print_string fmt
"ChildQuestion")
1129 [@ocaml
.warning
"-A"])
1131 and show_xhp_child_op
: xhp_child_op
-> Ppx_deriving_runtime.string =
1132 fun x
-> Format.asprintf
"%a" pp_xhp_child_op x
1135 Format.formatter
-> class_attr
-> Ppx_deriving_runtime.unit =
1136 let __1 () = pp_ca_field
1140 ((let open! Ppx_deriving_runtime
in
1144 (Format.fprintf fmt
"(@[<2>CA_name@ ";
1146 Format.fprintf fmt
"@])")
1148 (Format.fprintf fmt
"(@[<2>CA_field@ ";
1150 Format.fprintf fmt
"@])"))
1151 [@ocaml
.warning
"-A"])
1153 and show_class_attr
: class_attr
-> Ppx_deriving_runtime.string =
1154 fun x
-> Format.asprintf
"%a" pp_class_attr x
1156 and pp_ca_field
: Format.formatter
-> ca_field
-> Ppx_deriving_runtime.unit =
1157 let __2 () = pp_expr
1161 and __0 () = pp_ca_type
1163 ((let open! Ppx_deriving_runtime
in
1166 Format.fprintf fmt
"@[<2>{ ";
1167 ((((Format.fprintf fmt
"@[%s =@ " "ca_type";
1168 ((__0 ()) fmt
) x
.ca_type
;
1169 Format.fprintf fmt
"@]");
1170 Format.fprintf fmt
";@ ";
1171 Format.fprintf fmt
"@[%s =@ " "ca_id";
1172 ((__1 ()) fmt
) x
.ca_id
;
1173 Format.fprintf fmt
"@]");
1174 Format.fprintf fmt
";@ ";
1175 Format.fprintf fmt
"@[%s =@ " "ca_value";
1177 | None
-> Format.pp_print_string fmt
"None"
1179 (Format.pp_print_string fmt
"(Some ";
1181 Format.pp_print_string fmt
")"))) x
.ca_value
;
1182 Format.fprintf fmt
"@]");
1183 Format.fprintf fmt
";@ ";
1184 Format.fprintf fmt
"@[%s =@ " "ca_required";
1185 (Format.fprintf fmt
"%B") x
.ca_required
;
1186 Format.fprintf fmt
"@]");
1187 Format.fprintf fmt
"@ }@]")
1188 [@ocaml
.warning
"-A"])
1190 and show_ca_field
: ca_field
-> Ppx_deriving_runtime.string =
1191 fun x
-> Format.asprintf
"%a" pp_ca_field x
1193 and pp_ca_type
: Format.formatter
-> ca_type
-> Ppx_deriving_runtime.unit =
1194 let __0 () = pp_hint
in
1195 ((let open! Ppx_deriving_runtime
in
1199 (Format.fprintf fmt
"(@[<2>CA_hint@ ";
1201 Format.fprintf fmt
"@])")
1203 (Format.fprintf fmt
"(@[<2>CA_enum@ ";
1205 Format.fprintf fmt
"@[<2>[";
1210 if sep
then Format.fprintf fmt
";@ ";
1211 (Format.fprintf fmt
"%S") x
;
1213 Format.fprintf fmt
"@,]@]")) a0
;
1214 Format.fprintf fmt
"@])"))
1215 [@ocaml
.warning
"-A"])
1217 and show_ca_type
: ca_type
-> Ppx_deriving_runtime.string =
1218 fun x
-> Format.asprintf
"%a" pp_ca_type x
1220 and pp_class_var
: Format.formatter
-> class_var
-> Ppx_deriving_runtime.unit
1222 let __2 () = pp_expr
1228 ((let open! Ppx_deriving_runtime
in
1231 Format.fprintf fmt
"(@[";
1232 ((((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1 ()) fmt
) a1
);
1233 Format.fprintf fmt
",@ ";
1235 | None
-> Format.pp_print_string fmt
"None"
1237 (Format.pp_print_string fmt
"(Some ";
1239 Format.pp_print_string fmt
")"))) a2
);
1240 Format.fprintf fmt
"@])")
1241 [@ocaml
.warning
"-A"])
1243 and show_class_var
: class_var
-> Ppx_deriving_runtime.string =
1244 fun x
-> Format.asprintf
"%a" pp_class_var x
1246 and pp_class_vars_
:
1247 Format.formatter
-> class_vars_
-> Ppx_deriving_runtime.unit =
1248 let __4 () = pp_user_attribute
1250 and __3 () = pp_class_var
1252 and __2 () = pp_is_variadic
1254 and __1 () = pp_hint
1256 and __0 () = pp_kind
1258 ((let open! Ppx_deriving_runtime
in
1261 Format.fprintf fmt
"@[<2>{ ";
1262 ((((((Format.fprintf fmt
"@[%s =@ " "cv_kinds";
1264 Format.fprintf fmt
"@[<2>[";
1269 if sep
then Format.fprintf fmt
";@ ";
1272 Format.fprintf fmt
"@,]@]")) x
.cv_kinds
;
1273 Format.fprintf fmt
"@]");
1274 Format.fprintf fmt
";@ ";
1275 Format.fprintf fmt
"@[%s =@ " "cv_hint";
1277 | None
-> Format.pp_print_string fmt
"None"
1279 (Format.pp_print_string fmt
"(Some ";
1281 Format.pp_print_string fmt
")"))) x
.cv_hint
;
1282 Format.fprintf fmt
"@]");
1283 Format.fprintf fmt
";@ ";
1284 Format.fprintf fmt
"@[%s =@ " "cv_is_promoted_variadic";
1285 ((__2 ()) fmt
) x
.cv_is_promoted_variadic
;
1286 Format.fprintf fmt
"@]");
1287 Format.fprintf fmt
";@ ";
1288 Format.fprintf fmt
"@[%s =@ " "cv_names";
1290 Format.fprintf fmt
"@[<2>[";
1295 if sep
then Format.fprintf fmt
";@ ";
1298 Format.fprintf fmt
"@,]@]")) x
.cv_names
;
1299 Format.fprintf fmt
"@]");
1300 Format.fprintf fmt
";@ ";
1301 Format.fprintf fmt
"@[%s =@ " "cv_doc_comment";
1303 | None
-> Format.pp_print_string fmt
"None"
1305 (Format.pp_print_string fmt
"(Some ";
1306 (Format.fprintf fmt
"%S") x
;
1307 Format.pp_print_string fmt
")"))) x
.cv_doc_comment
;
1308 Format.fprintf fmt
"@]");
1309 Format.fprintf fmt
";@ ";
1310 Format.fprintf fmt
"@[%s =@ " "cv_user_attributes";
1312 Format.fprintf fmt
"@[<2>[";
1317 if sep
then Format.fprintf fmt
";@ ";
1320 Format.fprintf fmt
"@,]@]")) x
.cv_user_attributes
;
1321 Format.fprintf fmt
"@]");
1322 Format.fprintf fmt
"@ }@]")
1323 [@ocaml
.warning
"-A"])
1325 and show_class_vars_
: class_vars_
-> Ppx_deriving_runtime.string =
1326 fun x
-> Format.asprintf
"%a" pp_class_vars_ x
1328 and pp_method_
: Format.formatter
-> method_
-> Ppx_deriving_runtime.unit =
1329 let __11 () = pp_pos
1331 and __10 () = pp_fun_kind
1333 and __9
() = pp_hint
1335 and __8
() = pp_user_attribute
1337 and __7
() = pp_block
1339 and __6 () = pp_fun_param
1343 and __4 () = pp_hint
1345 and __3 () = pp_constraint_kind
1347 and __2 () = pp_hint
1349 and __1 () = pp_tparam
1351 and __0 () = pp_kind
1353 ((let open! Ppx_deriving_runtime
in
1356 Format.fprintf fmt
"@[<2>{ ";
1357 ((((((((((((Format.fprintf fmt
"@[%s =@ " "m_kind";
1359 Format.fprintf fmt
"@[<2>[";
1364 if sep
then Format.fprintf fmt
";@ ";
1367 Format.fprintf fmt
"@,]@]")) x
.m_kind
;
1368 Format.fprintf fmt
"@]");
1369 Format.fprintf fmt
";@ ";
1370 Format.fprintf fmt
"@[%s =@ " "m_tparams";
1372 Format.fprintf fmt
"@[<2>[";
1377 if sep
then Format.fprintf fmt
";@ ";
1380 Format.fprintf fmt
"@,]@]")) x
.m_tparams
;
1381 Format.fprintf fmt
"@]");
1382 Format.fprintf fmt
";@ ";
1383 Format.fprintf fmt
"@[%s =@ " "m_constrs";
1385 Format.fprintf fmt
"@[<2>[";
1390 if sep
then Format.fprintf fmt
";@ ";
1392 Format.fprintf fmt
"(@[";
1393 ((((__2 ()) fmt
) a0
;
1394 Format.fprintf fmt
",@ ";
1396 Format.fprintf fmt
",@ ";
1398 Format.fprintf fmt
"@])")) x
;
1400 Format.fprintf fmt
"@,]@]")) x
.m_constrs
;
1401 Format.fprintf fmt
"@]");
1402 Format.fprintf fmt
";@ ";
1403 Format.fprintf fmt
"@[%s =@ " "m_name";
1404 ((__5 ()) fmt
) x
.m_name
;
1405 Format.fprintf fmt
"@]");
1406 Format.fprintf fmt
";@ ";
1407 Format.fprintf fmt
"@[%s =@ " "m_params";
1409 Format.fprintf fmt
"@[<2>[";
1414 if sep
then Format.fprintf fmt
";@ ";
1417 Format.fprintf fmt
"@,]@]")) x
.m_params
;
1418 Format.fprintf fmt
"@]");
1419 Format.fprintf fmt
";@ ";
1420 Format.fprintf fmt
"@[%s =@ " "m_body";
1421 ((__7
()) fmt
) x
.m_body
;
1422 Format.fprintf fmt
"@]");
1423 Format.fprintf fmt
";@ ";
1424 Format.fprintf fmt
"@[%s =@ " "m_user_attributes";
1426 Format.fprintf fmt
"@[<2>[";
1431 if sep
then Format.fprintf fmt
";@ ";
1434 Format.fprintf fmt
"@,]@]")) x
.m_user_attributes
;
1435 Format.fprintf fmt
"@]");
1436 Format.fprintf fmt
";@ ";
1437 Format.fprintf fmt
"@[%s =@ " "m_ret";
1439 | None
-> Format.pp_print_string fmt
"None"
1441 (Format.pp_print_string fmt
"(Some ";
1443 Format.pp_print_string fmt
")"))) x
.m_ret
;
1444 Format.fprintf fmt
"@]");
1445 Format.fprintf fmt
";@ ";
1446 Format.fprintf fmt
"@[%s =@ " "m_ret_by_ref";
1447 (Format.fprintf fmt
"%B") x
.m_ret_by_ref
;
1448 Format.fprintf fmt
"@]");
1449 Format.fprintf fmt
";@ ";
1450 Format.fprintf fmt
"@[%s =@ " "m_fun_kind";
1451 ((__10 ()) fmt
) x
.m_fun_kind
;
1452 Format.fprintf fmt
"@]");
1453 Format.fprintf fmt
";@ ";
1454 Format.fprintf fmt
"@[%s =@ " "m_span";
1455 ((__11 ()) fmt
) x
.m_span
;
1456 Format.fprintf fmt
"@]");
1457 Format.fprintf fmt
";@ ";
1458 Format.fprintf fmt
"@[%s =@ " "m_doc_comment";
1460 | None
-> Format.pp_print_string fmt
"None"
1462 (Format.pp_print_string fmt
"(Some ";
1463 (Format.fprintf fmt
"%S") x
;
1464 Format.pp_print_string fmt
")"))) x
.m_doc_comment
;
1465 Format.fprintf fmt
"@]");
1466 Format.fprintf fmt
"@ }@]")
1467 [@ocaml
.warning
"-A"])
1469 and show_method_
: method_
-> Ppx_deriving_runtime.string =
1470 fun x
-> Format.asprintf
"%a" pp_method_ x
1472 and pp_typeconst
: Format.formatter
-> typeconst
-> Ppx_deriving_runtime.unit
1476 and __3 () = pp_hint
1478 and __2 () = pp_hint
1480 and __1 () = pp_tparam
1484 ((let open! Ppx_deriving_runtime
in
1487 Format.fprintf fmt
"@[<2>{ ";
1488 ((((((Format.fprintf fmt
"@[%s =@ " "tconst_abstract";
1489 (Format.fprintf fmt
"%B") x
.tconst_abstract
;
1490 Format.fprintf fmt
"@]");
1491 Format.fprintf fmt
";@ ";
1492 Format.fprintf fmt
"@[%s =@ " "tconst_name";
1493 ((__0 ()) fmt
) x
.tconst_name
;
1494 Format.fprintf fmt
"@]");
1495 Format.fprintf fmt
";@ ";
1496 Format.fprintf fmt
"@[%s =@ " "tconst_tparams";
1498 Format.fprintf fmt
"@[<2>[";
1503 if sep
then Format.fprintf fmt
";@ ";
1506 Format.fprintf fmt
"@,]@]")) x
.tconst_tparams
;
1507 Format.fprintf fmt
"@]");
1508 Format.fprintf fmt
";@ ";
1509 Format.fprintf fmt
"@[%s =@ " "tconst_constraint";
1511 | None
-> Format.pp_print_string fmt
"None"
1513 (Format.pp_print_string fmt
"(Some ";
1515 Format.pp_print_string fmt
")"))) x
.tconst_constraint
;
1516 Format.fprintf fmt
"@]");
1517 Format.fprintf fmt
";@ ";
1518 Format.fprintf fmt
"@[%s =@ " "tconst_type";
1520 | None
-> Format.pp_print_string fmt
"None"
1522 (Format.pp_print_string fmt
"(Some ";
1524 Format.pp_print_string fmt
")"))) x
.tconst_type
;
1525 Format.fprintf fmt
"@]");
1526 Format.fprintf fmt
";@ ";
1527 Format.fprintf fmt
"@[%s =@ " "tconst_span";
1528 ((__4 ()) fmt
) x
.tconst_span
;
1529 Format.fprintf fmt
"@]");
1530 Format.fprintf fmt
"@ }@]")
1531 [@ocaml
.warning
"-A"])
1533 and show_typeconst
: typeconst
-> Ppx_deriving_runtime.string =
1534 fun x
-> Format.asprintf
"%a" pp_typeconst x
1536 and (pp_is_reference
:
1537 Format.formatter
-> is_reference
-> Ppx_deriving_runtime.unit)
1538 = ((let open! Ppx_deriving_runtime
in fun fmt
-> Format.fprintf fmt
"%B")
1539 [@ocaml
.warning
"-A"])
1541 and show_is_reference
: is_reference
-> Ppx_deriving_runtime.string =
1542 fun x
-> Format.asprintf
"%a" pp_is_reference x
1544 and (pp_is_variadic
:
1545 Format.formatter
-> is_variadic
-> Ppx_deriving_runtime.unit)
1546 = ((let open! Ppx_deriving_runtime
in fun fmt
-> Format.fprintf fmt
"%B")
1547 [@ocaml
.warning
"-A"])
1549 and show_is_variadic
: is_variadic
-> Ppx_deriving_runtime.string =
1550 fun x
-> Format.asprintf
"%a" pp_is_variadic x
1552 and pp_fun_param
: Format.formatter
-> fun_param
-> Ppx_deriving_runtime.unit
1554 let __7 () = pp_user_attribute
1556 and __6 () = pp_param_kind
1558 and __5 () = pp_kind
1560 and __4 () = pp_expr
1564 and __2 () = pp_is_variadic
1566 and __1 () = pp_is_reference
1568 and __0 () = pp_hint
1570 ((let open! Ppx_deriving_runtime
in
1573 Format.fprintf fmt
"@[<2>{ ";
1574 ((((((((Format.fprintf fmt
"@[%s =@ " "param_hint";
1576 | None
-> Format.pp_print_string fmt
"None"
1578 (Format.pp_print_string fmt
"(Some ";
1580 Format.pp_print_string fmt
")"))) x
.param_hint
;
1581 Format.fprintf fmt
"@]");
1582 Format.fprintf fmt
";@ ";
1583 Format.fprintf fmt
"@[%s =@ " "param_is_reference";
1584 ((__1 ()) fmt
) x
.param_is_reference
;
1585 Format.fprintf fmt
"@]");
1586 Format.fprintf fmt
";@ ";
1587 Format.fprintf fmt
"@[%s =@ " "param_is_variadic";
1588 ((__2 ()) fmt
) x
.param_is_variadic
;
1589 Format.fprintf fmt
"@]");
1590 Format.fprintf fmt
";@ ";
1591 Format.fprintf fmt
"@[%s =@ " "param_id";
1592 ((__3 ()) fmt
) x
.param_id
;
1593 Format.fprintf fmt
"@]");
1594 Format.fprintf fmt
";@ ";
1595 Format.fprintf fmt
"@[%s =@ " "param_expr";
1597 | None
-> Format.pp_print_string fmt
"None"
1599 (Format.pp_print_string fmt
"(Some ";
1601 Format.pp_print_string fmt
")"))) x
.param_expr
;
1602 Format.fprintf fmt
"@]");
1603 Format.fprintf fmt
";@ ";
1604 Format.fprintf fmt
"@[%s =@ " "param_modifier";
1606 | None
-> Format.pp_print_string fmt
"None"
1608 (Format.pp_print_string fmt
"(Some ";
1610 Format.pp_print_string fmt
")"))) x
.param_modifier
;
1611 Format.fprintf fmt
"@]");
1612 Format.fprintf fmt
";@ ";
1613 Format.fprintf fmt
"@[%s =@ " "param_callconv";
1615 | None
-> Format.pp_print_string fmt
"None"
1617 (Format.pp_print_string fmt
"(Some ";
1619 Format.pp_print_string fmt
")"))) x
.param_callconv
;
1620 Format.fprintf fmt
"@]");
1621 Format.fprintf fmt
";@ ";
1622 Format.fprintf fmt
"@[%s =@ " "param_user_attributes";
1624 Format.fprintf fmt
"@[<2>[";
1629 if sep
then Format.fprintf fmt
";@ ";
1632 Format.fprintf fmt
"@,]@]")) x
.param_user_attributes
;
1633 Format.fprintf fmt
"@]");
1634 Format.fprintf fmt
"@ }@]")
1635 [@ocaml
.warning
"-A"])
1637 and show_fun_param
: fun_param
-> Ppx_deriving_runtime.string =
1638 fun x
-> Format.asprintf
"%a" pp_fun_param x
1640 and pp_fun_
: Format.formatter
-> fun_
-> Ppx_deriving_runtime.unit =
1641 let __12 () = pp_pos
1643 and __11 () = pp_nsenv
1645 and __10 () = pp_fun_kind
1647 and __9
() = pp_user_attribute
1649 and __8
() = pp_block
1651 and __7 () = pp_fun_param
1655 and __5 () = pp_hint
1657 and __4 () = pp_hint
1659 and __3 () = pp_constraint_kind
1661 and __2 () = pp_hint
1663 and __1 () = pp_tparam
1665 and __0 () = pp_fimode
1667 ((let open! Ppx_deriving_runtime
in
1670 Format.fprintf fmt
"@[<2>{ ";
1671 ((((((((((((((Format.fprintf fmt
"@[%s =@ " "f_mode";
1672 ((__0 ()) fmt
) x
.f_mode
;
1673 Format.fprintf fmt
"@]");
1674 Format.fprintf fmt
";@ ";
1675 Format.fprintf fmt
"@[%s =@ " "f_tparams";
1677 Format.fprintf fmt
"@[<2>[";
1682 if sep
then Format.fprintf fmt
";@ ";
1685 Format.fprintf fmt
"@,]@]")) x
.f_tparams
;
1686 Format.fprintf fmt
"@]");
1687 Format.fprintf fmt
";@ ";
1688 Format.fprintf fmt
"@[%s =@ " "f_constrs";
1690 Format.fprintf fmt
"@[<2>[";
1695 if sep
then Format.fprintf fmt
";@ ";
1697 Format.fprintf fmt
"(@[";
1698 ((((__2 ()) fmt
) a0
;
1699 Format.fprintf fmt
",@ ";
1701 Format.fprintf fmt
",@ ";
1703 Format.fprintf fmt
"@])")) x
;
1705 Format.fprintf fmt
"@,]@]")) x
.f_constrs
;
1706 Format.fprintf fmt
"@]");
1707 Format.fprintf fmt
";@ ";
1708 Format.fprintf fmt
"@[%s =@ " "f_ret";
1710 | None
-> Format.pp_print_string fmt
"None"
1712 (Format.pp_print_string fmt
"(Some ";
1714 Format.pp_print_string fmt
")"))) x
.f_ret
;
1715 Format.fprintf fmt
"@]");
1716 Format.fprintf fmt
";@ ";
1717 Format.fprintf fmt
"@[%s =@ " "f_ret_by_ref";
1718 (Format.fprintf fmt
"%B") x
.f_ret_by_ref
;
1719 Format.fprintf fmt
"@]");
1720 Format.fprintf fmt
";@ ";
1721 Format.fprintf fmt
"@[%s =@ " "f_name";
1722 ((__6 ()) fmt
) x
.f_name
;
1723 Format.fprintf fmt
"@]");
1724 Format.fprintf fmt
";@ ";
1725 Format.fprintf fmt
"@[%s =@ " "f_params";
1727 Format.fprintf fmt
"@[<2>[";
1732 if sep
then Format.fprintf fmt
";@ ";
1735 Format.fprintf fmt
"@,]@]")) x
.f_params
;
1736 Format.fprintf fmt
"@]");
1737 Format.fprintf fmt
";@ ";
1738 Format.fprintf fmt
"@[%s =@ " "f_body";
1739 ((__8
()) fmt
) x
.f_body
;
1740 Format.fprintf fmt
"@]");
1741 Format.fprintf fmt
";@ ";
1742 Format.fprintf fmt
"@[%s =@ " "f_user_attributes";
1744 Format.fprintf fmt
"@[<2>[";
1749 if sep
then Format.fprintf fmt
";@ ";
1752 Format.fprintf fmt
"@,]@]")) x
.f_user_attributes
;
1753 Format.fprintf fmt
"@]");
1754 Format.fprintf fmt
";@ ";
1755 Format.fprintf fmt
"@[%s =@ " "f_fun_kind";
1756 ((__10 ()) fmt
) x
.f_fun_kind
;
1757 Format.fprintf fmt
"@]");
1758 Format.fprintf fmt
";@ ";
1759 Format.fprintf fmt
"@[%s =@ " "f_namespace";
1760 ((__11 ()) fmt
) x
.f_namespace
;
1761 Format.fprintf fmt
"@]");
1762 Format.fprintf fmt
";@ ";
1763 Format.fprintf fmt
"@[%s =@ " "f_span";
1764 ((__12 ()) fmt
) x
.f_span
;
1765 Format.fprintf fmt
"@]");
1766 Format.fprintf fmt
";@ ";
1767 Format.fprintf fmt
"@[%s =@ " "f_doc_comment";
1769 | None
-> Format.pp_print_string fmt
"None"
1771 (Format.pp_print_string fmt
"(Some ";
1772 (Format.fprintf fmt
"%S") x
;
1773 Format.pp_print_string fmt
")"))) x
.f_doc_comment
;
1774 Format.fprintf fmt
"@]");
1775 Format.fprintf fmt
";@ ";
1776 Format.fprintf fmt
"@[%s =@ " "f_static";
1777 (Format.fprintf fmt
"%B") x
.f_static
;
1778 Format.fprintf fmt
"@]");
1779 Format.fprintf fmt
"@ }@]")
1780 [@ocaml
.warning
"-A"])
1782 and show_fun_
: fun_
-> Ppx_deriving_runtime.string =
1783 fun x
-> Format.asprintf
"%a" pp_fun_ x
1785 and (pp_is_coroutine
:
1786 Format.formatter
-> is_coroutine
-> Ppx_deriving_runtime.unit)
1787 = ((let open! Ppx_deriving_runtime
in fun fmt
-> Format.fprintf fmt
"%B")
1788 [@ocaml
.warning
"-A"])
1790 and show_is_coroutine
: is_coroutine
-> Ppx_deriving_runtime.string =
1791 fun x
-> Format.asprintf
"%a" pp_is_coroutine x
1793 and pp_hint
: Format.formatter
-> hint
-> Ppx_deriving_runtime.unit =
1794 let __1 () = pp_hint_
1798 ((let open! Ppx_deriving_runtime
in
1801 Format.fprintf fmt
"(@[";
1802 (((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1 ()) fmt
) a1
);
1803 Format.fprintf fmt
"@])")
1804 [@ocaml
.warning
"-A"])
1806 and show_hint
: hint
-> Ppx_deriving_runtime.string =
1807 fun x
-> Format.asprintf
"%a" pp_hint x
1809 and pp_variadic_hint
:
1810 Format.formatter
-> variadic_hint
-> Ppx_deriving_runtime.unit =
1811 let __0 () = pp_hint
in
1812 ((let open! Ppx_deriving_runtime
in
1816 (Format.fprintf fmt
"(@[<2>Hvariadic@ ";
1818 | None
-> Format.pp_print_string fmt
"None"
1820 (Format.pp_print_string fmt
"(Some ";
1822 Format.pp_print_string fmt
")"))) a0
;
1823 Format.fprintf fmt
"@])")
1824 | Hnon_variadic
-> Format.pp_print_string fmt
"Hnon_variadic")
1825 [@ocaml
.warning
"-A"])
1827 and show_variadic_hint
: variadic_hint
-> Ppx_deriving_runtime.string =
1828 fun x
-> Format.asprintf
"%a" pp_variadic_hint x
1830 and pp_hint_
: Format.formatter
-> hint_
-> Ppx_deriving_runtime.unit =
1831 let __13 () = pp_hint
1839 and __9
() = pp_shape_info
1841 and __8
() = pp_hint
1845 and __6 () = pp_hint
1847 and __5 () = pp_hint
1849 and __4 () = pp_variadic_hint
1851 and __3 () = pp_param_kind
1853 and __2 () = pp_hint
1855 and __1 () = pp_is_coroutine
1857 and __0 () = pp_hint
1859 ((let open! Ppx_deriving_runtime
in
1863 (Format.fprintf fmt
"(@[<2>Hoption@ ";
1865 Format.fprintf fmt
"@])")
1866 | Hfun
(a0
,a1
,a2
,a3
,a4
) ->
1867 (Format.fprintf fmt
"(@[<2>Hfun (@,";
1868 ((((((__1 ()) fmt
) a0
;
1869 Format.fprintf fmt
",@ ";
1871 Format.fprintf fmt
"@[<2>[";
1876 if sep
then Format.fprintf fmt
";@ ";
1879 Format.fprintf fmt
"@,]@]")) a1
);
1880 Format.fprintf fmt
",@ ";
1882 Format.fprintf fmt
"@[<2>[";
1887 if sep
then Format.fprintf fmt
";@ ";
1889 | None
-> Format.pp_print_string fmt
"None"
1891 (Format.pp_print_string fmt
"(Some ";
1893 Format.pp_print_string fmt
")"))) x
;
1895 Format.fprintf fmt
"@,]@]")) a2
);
1896 Format.fprintf fmt
",@ ";
1898 Format.fprintf fmt
",@ ";
1900 Format.fprintf fmt
"@,))@]")
1902 (Format.fprintf fmt
"(@[<2>Htuple@ ";
1904 Format.fprintf fmt
"@[<2>[";
1909 if sep
then Format.fprintf fmt
";@ ";
1912 Format.fprintf fmt
"@,]@]")) a0
;
1913 Format.fprintf fmt
"@])")
1915 (Format.fprintf fmt
"(@[<2>Happly (@,";
1917 Format.fprintf fmt
",@ ";
1919 Format.fprintf fmt
"@[<2>[";
1924 if sep
then Format.fprintf fmt
";@ ";
1927 Format.fprintf fmt
"@,]@]")) a1
);
1928 Format.fprintf fmt
"@,))@]")
1930 (Format.fprintf fmt
"(@[<2>Hshape@ ";
1932 Format.fprintf fmt
"@])")
1933 | Haccess
(a0
,a1
,a2
) ->
1934 (Format.fprintf fmt
"(@[<2>Haccess (@,";
1935 ((((__10 ()) fmt
) a0
;
1936 Format.fprintf fmt
",@ ";
1937 ((__11 ()) fmt
) a1
);
1938 Format.fprintf fmt
",@ ";
1940 Format.fprintf fmt
"@[<2>[";
1945 if sep
then Format.fprintf fmt
";@ ";
1948 Format.fprintf fmt
"@,]@]")) a2
);
1949 Format.fprintf fmt
"@,))@]")
1951 (Format.fprintf fmt
"(@[<2>Hsoft@ ";
1953 Format.fprintf fmt
"@])"))
1954 [@ocaml
.warning
"-A"])
1956 and show_hint_
: hint_
-> Ppx_deriving_runtime.string =
1957 fun x
-> Format.asprintf
"%a" pp_hint_ x
1960 Format.formatter
-> shape_info
-> Ppx_deriving_runtime.unit =
1961 let __0 () = pp_shape_field
in
1962 ((let open! Ppx_deriving_runtime
in
1965 Format.fprintf fmt
"@[<2>{ ";
1966 ((Format.fprintf fmt
"@[%s =@ " "si_allows_unknown_fields";
1967 (Format.fprintf fmt
"%B") x
.si_allows_unknown_fields
;
1968 Format.fprintf fmt
"@]");
1969 Format.fprintf fmt
";@ ";
1970 Format.fprintf fmt
"@[%s =@ " "si_shape_field_list";
1972 Format.fprintf fmt
"@[<2>[";
1977 if sep
then Format.fprintf fmt
";@ ";
1980 Format.fprintf fmt
"@,]@]")) x
.si_shape_field_list
;
1981 Format.fprintf fmt
"@]");
1982 Format.fprintf fmt
"@ }@]")
1983 [@ocaml
.warning
"-A"])
1985 and show_shape_info
: shape_info
-> Ppx_deriving_runtime.string =
1986 fun x
-> Format.asprintf
"%a" pp_shape_info x
1988 and pp_shape_field
:
1989 Format.formatter
-> shape_field
-> Ppx_deriving_runtime.unit =
1990 let __1 () = pp_hint
1992 and __0 () = pp_shape_field_name
1994 ((let open! Ppx_deriving_runtime
in
1997 Format.fprintf fmt
"@[<2>{ ";
1998 (((Format.fprintf fmt
"@[%s =@ " "sf_optional";
1999 (Format.fprintf fmt
"%B") x
.sf_optional
;
2000 Format.fprintf fmt
"@]");
2001 Format.fprintf fmt
";@ ";
2002 Format.fprintf fmt
"@[%s =@ " "sf_name";
2003 ((__0 ()) fmt
) x
.sf_name
;
2004 Format.fprintf fmt
"@]");
2005 Format.fprintf fmt
";@ ";
2006 Format.fprintf fmt
"@[%s =@ " "sf_hint";
2007 ((__1 ()) fmt
) x
.sf_hint
;
2008 Format.fprintf fmt
"@]");
2009 Format.fprintf fmt
"@ }@]")
2010 [@ocaml
.warning
"-A"])
2012 and show_shape_field
: shape_field
-> Ppx_deriving_runtime.string =
2013 fun x
-> Format.asprintf
"%a" pp_shape_field x
2016 Format.formatter
-> using_stmt
-> Ppx_deriving_runtime.unit =
2017 let __1 () = pp_block
2019 and __0 () = pp_expr
2021 ((let open! Ppx_deriving_runtime
in
2024 Format.fprintf fmt
"@[<2>{ ";
2025 ((((Format.fprintf fmt
"@[%s =@ " "us_is_block_scoped";
2026 (Format.fprintf fmt
"%B") x
.us_is_block_scoped
;
2027 Format.fprintf fmt
"@]");
2028 Format.fprintf fmt
";@ ";
2029 Format.fprintf fmt
"@[%s =@ " "us_has_await";
2030 (Format.fprintf fmt
"%B") x
.us_has_await
;
2031 Format.fprintf fmt
"@]");
2032 Format.fprintf fmt
";@ ";
2033 Format.fprintf fmt
"@[%s =@ " "us_expr";
2034 ((__0 ()) fmt
) x
.us_expr
;
2035 Format.fprintf fmt
"@]");
2036 Format.fprintf fmt
";@ ";
2037 Format.fprintf fmt
"@[%s =@ " "us_block";
2038 ((__1 ()) fmt
) x
.us_block
;
2039 Format.fprintf fmt
"@]");
2040 Format.fprintf fmt
"@ }@]")
2041 [@ocaml
.warning
"-A"])
2043 and show_using_stmt
: using_stmt
-> Ppx_deriving_runtime.string =
2044 fun x
-> Format.asprintf
"%a" pp_using_stmt x
2046 and pp_stmt
: Format.formatter
-> stmt
-> Ppx_deriving_runtime.unit =
2047 let __1 () = pp_stmt_
2051 ((let open! Ppx_deriving_runtime
in
2054 Format.fprintf fmt
"(@[";
2055 (((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1 ()) fmt
) a1
);
2056 Format.fprintf fmt
"@])")
2057 [@ocaml
.warning
"-A"])
2059 and show_stmt
: stmt
-> Ppx_deriving_runtime.string =
2060 fun x
-> Format.asprintf
"%a" pp_stmt x
2062 and pp_stmt_
: Format.formatter
-> stmt_
-> Ppx_deriving_runtime.unit =
2063 let __35 () = pp_block
2065 and __34
() = pp_expr
2067 and __33
() = pp_using_stmt
2069 and __32
() = pp_expr
2071 and __31
() = pp_pstring
2073 and __30
() = pp_def
2075 and __29
() = pp_block
2077 and __28
() = pp_catch
2079 and __27
() = pp_block
2081 and __26
() = pp_block
2083 and __25 () = pp_as_expr
2085 and __24
() = pp_pos
2087 and __23
() = pp_expr
2089 and __22
() = pp_case
2091 and __21
() = pp_expr
2093 and __20
() = pp_block
2095 and __19
() = pp_expr
2097 and __18
() = pp_expr
2099 and __17
() = pp_expr
2101 and __16
() = pp_block
2103 and __15
() = pp_expr
2105 and __14
() = pp_expr
2107 and __13 () = pp_block
2109 and __12 () = pp_block
2111 and __11 () = pp_block
2113 and __10 () = pp_expr
2115 and __9
() = pp_expr
2117 and __8
() = pp_expr
2119 and __7 () = pp_pstring
2121 and __6 () = pp_pstring
2123 and __5 () = pp_expr
2125 and __4 () = pp_expr
2127 and __3 () = pp_expr
2129 and __2 () = pp_expr
2131 and __1 () = pp_block
2133 and __0 () = pp_expr
2135 ((let open! Ppx_deriving_runtime
in
2138 | Unsafe
-> Format.pp_print_string fmt
"Unsafe"
2139 | Fallthrough
-> Format.pp_print_string fmt
"Fallthrough"
2141 (Format.fprintf fmt
"(@[<2>Expr@ ";
2143 Format.fprintf fmt
"@])")
2145 (Format.fprintf fmt
"(@[<2>Block@ ";
2147 Format.fprintf fmt
"@])")
2149 (Format.fprintf fmt
"(@[<2>Break@ ";
2151 | None
-> Format.pp_print_string fmt
"None"
2153 (Format.pp_print_string fmt
"(Some ";
2155 Format.pp_print_string fmt
")"))) a0
;
2156 Format.fprintf fmt
"@])")
2158 (Format.fprintf fmt
"(@[<2>Continue@ ";
2160 | None
-> Format.pp_print_string fmt
"None"
2162 (Format.pp_print_string fmt
"(Some ";
2164 Format.pp_print_string fmt
")"))) a0
;
2165 Format.fprintf fmt
"@])")
2167 (Format.fprintf fmt
"(@[<2>Throw@ ";
2169 Format.fprintf fmt
"@])")
2171 (Format.fprintf fmt
"(@[<2>Return@ ";
2173 | None
-> Format.pp_print_string fmt
"None"
2175 (Format.pp_print_string fmt
"(Some ";
2177 Format.pp_print_string fmt
")"))) a0
;
2178 Format.fprintf fmt
"@])")
2180 (Format.fprintf fmt
"(@[<2>GotoLabel@ ";
2182 Format.fprintf fmt
"@])")
2184 (Format.fprintf fmt
"(@[<2>Goto@ ";
2186 Format.fprintf fmt
"@])")
2188 (Format.fprintf fmt
"(@[<2>Static_var@ ";
2190 Format.fprintf fmt
"@[<2>[";
2195 if sep
then Format.fprintf fmt
";@ ";
2198 Format.fprintf fmt
"@,]@]")) a0
;
2199 Format.fprintf fmt
"@])")
2201 (Format.fprintf fmt
"(@[<2>Global_var@ ";
2203 Format.fprintf fmt
"@[<2>[";
2208 if sep
then Format.fprintf fmt
";@ ";
2211 Format.fprintf fmt
"@,]@]")) a0
;
2212 Format.fprintf fmt
"@])")
2214 (Format.fprintf fmt
"(@[<2>If (@,";
2215 ((((__10 ()) fmt
) a0
;
2216 Format.fprintf fmt
",@ ";
2217 ((__11 ()) fmt
) a1
);
2218 Format.fprintf fmt
",@ ";
2219 ((__12 ()) fmt
) a2
);
2220 Format.fprintf fmt
"@,))@]")
2222 (Format.fprintf fmt
"(@[<2>Do (@,";
2223 (((__13 ()) fmt
) a0
;
2224 Format.fprintf fmt
",@ ";
2225 ((__14
()) fmt
) a1
);
2226 Format.fprintf fmt
"@,))@]")
2228 (Format.fprintf fmt
"(@[<2>While (@,";
2229 (((__15
()) fmt
) a0
;
2230 Format.fprintf fmt
",@ ";
2231 ((__16
()) fmt
) a1
);
2232 Format.fprintf fmt
"@,))@]")
2233 | For
(a0
,a1
,a2
,a3
) ->
2234 (Format.fprintf fmt
"(@[<2>For (@,";
2235 (((((__17
()) fmt
) a0
;
2236 Format.fprintf fmt
",@ ";
2237 ((__18
()) fmt
) a1
);
2238 Format.fprintf fmt
",@ ";
2239 ((__19
()) fmt
) a2
);
2240 Format.fprintf fmt
",@ ";
2241 ((__20
()) fmt
) a3
);
2242 Format.fprintf fmt
"@,))@]")
2244 (Format.fprintf fmt
"(@[<2>Switch (@,";
2245 (((__21
()) fmt
) a0
;
2246 Format.fprintf fmt
",@ ";
2248 Format.fprintf fmt
"@[<2>[";
2253 if sep
then Format.fprintf fmt
";@ ";
2256 Format.fprintf fmt
"@,]@]")) a1
);
2257 Format.fprintf fmt
"@,))@]")
2258 | Foreach
(a0
,a1
,a2
,a3
) ->
2259 (Format.fprintf fmt
"(@[<2>Foreach (@,";
2260 (((((__23
()) fmt
) a0
;
2261 Format.fprintf fmt
",@ ";
2263 | None
-> Format.pp_print_string fmt
"None"
2265 (Format.pp_print_string fmt
"(Some ";
2267 Format.pp_print_string fmt
")"))) a1
);
2268 Format.fprintf fmt
",@ ";
2269 ((__25 ()) fmt
) a2
);
2270 Format.fprintf fmt
",@ ";
2271 ((__26
()) fmt
) a3
);
2272 Format.fprintf fmt
"@,))@]")
2274 (Format.fprintf fmt
"(@[<2>Try (@,";
2275 ((((__27
()) fmt
) a0
;
2276 Format.fprintf fmt
",@ ";
2278 Format.fprintf fmt
"@[<2>[";
2283 if sep
then Format.fprintf fmt
";@ ";
2286 Format.fprintf fmt
"@,]@]")) a1
);
2287 Format.fprintf fmt
",@ ";
2288 ((__29
()) fmt
) a2
);
2289 Format.fprintf fmt
"@,))@]")
2291 (Format.fprintf fmt
"(@[<2>Def_inline@ ";
2293 Format.fprintf fmt
"@])")
2294 | Noop
-> Format.pp_print_string fmt
"Noop"
2296 (Format.fprintf fmt
"(@[<2>Markup (@,";
2297 (((__31
()) fmt
) a0
;
2298 Format.fprintf fmt
",@ ";
2300 | None
-> Format.pp_print_string fmt
"None"
2302 (Format.pp_print_string fmt
"(Some ";
2304 Format.pp_print_string fmt
")"))) a1
);
2305 Format.fprintf fmt
"@,))@]")
2307 (Format.fprintf fmt
"(@[<2>Using@ ";
2309 Format.fprintf fmt
"@])")
2310 | Declare
(a0
,a1
,a2
) ->
2311 (Format.fprintf fmt
"(@[<2>Declare (@,";
2312 (((Format.fprintf fmt
"%B") a0
;
2313 Format.fprintf fmt
",@ ";
2314 ((__34
()) fmt
) a1
);
2315 Format.fprintf fmt
",@ ";
2316 ((__35 ()) fmt
) a2
);
2317 Format.fprintf fmt
"@,))@]"))
2318 [@ocaml
.warning
"-A"])
2320 and show_stmt_
: stmt_
-> Ppx_deriving_runtime.string =
2321 fun x
-> Format.asprintf
"%a" pp_stmt_ x
2323 and pp_as_expr
: Format.formatter
-> as_expr
-> Ppx_deriving_runtime.unit =
2324 let __2 () = pp_expr
2326 and __1 () = pp_expr
2328 and __0 () = pp_expr
2330 ((let open! Ppx_deriving_runtime
in
2334 (Format.fprintf fmt
"(@[<2>As_v@ ";
2336 Format.fprintf fmt
"@])")
2338 (Format.fprintf fmt
"(@[<2>As_kv (@,";
2339 (((__1 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__2 ()) fmt
) a1
);
2340 Format.fprintf fmt
"@,))@]"))
2341 [@ocaml
.warning
"-A"])
2343 and show_as_expr
: as_expr
-> Ppx_deriving_runtime.string =
2344 fun x
-> Format.asprintf
"%a" pp_as_expr x
2346 and pp_xhp_attribute
:
2347 Format.formatter
-> xhp_attribute
-> Ppx_deriving_runtime.unit =
2348 let __2 () = pp_expr
2350 and __1 () = pp_expr
2354 ((let open! Ppx_deriving_runtime
in
2357 | Xhp_simple
(a0
,a1
) ->
2358 (Format.fprintf fmt
"(@[<2>Xhp_simple (@,";
2359 (((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1 ()) fmt
) a1
);
2360 Format.fprintf fmt
"@,))@]")
2362 (Format.fprintf fmt
"(@[<2>Xhp_spread@ ";
2364 Format.fprintf fmt
"@])"))
2365 [@ocaml
.warning
"-A"])
2367 and show_xhp_attribute
: xhp_attribute
-> Ppx_deriving_runtime.string =
2368 fun x
-> Format.asprintf
"%a" pp_xhp_attribute x
2370 and pp_block
: Format.formatter
-> block
-> Ppx_deriving_runtime.unit =
2371 let __0 () = pp_stmt
in
2372 ((let open! Ppx_deriving_runtime
in
2375 Format.fprintf fmt
"@[<2>[";
2380 if sep
then Format.fprintf fmt
";@ ";
2383 Format.fprintf fmt
"@,]@]")
2384 [@ocaml
.warning
"-A"])
2386 and show_block
: block
-> Ppx_deriving_runtime.string =
2387 fun x
-> Format.asprintf
"%a" pp_block x
2389 and pp_expr
: Format.formatter
-> expr
-> Ppx_deriving_runtime.unit =
2390 let __1 () = pp_expr_
2394 ((let open! Ppx_deriving_runtime
in
2397 Format.fprintf fmt
"(@[";
2398 (((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1 ()) fmt
) a1
);
2399 Format.fprintf fmt
"@])")
2400 [@ocaml
.warning
"-A"])
2402 and show_expr
: expr
-> Ppx_deriving_runtime.string =
2403 fun x
-> Format.asprintf
"%a" pp_expr x
2405 and pp_expr_
: Format.formatter
-> expr_
-> Ppx_deriving_runtime.unit =
2406 let __74 () = pp_expr
2408 and __73
() = pp_expr
2410 and __72
() = pp_param_kind
2412 and __71
() = pp_expr
2414 and __70
() = pp_import_flavor
2416 and __69
() = pp_expr
2418 and __68
() = pp_expr
2420 and __67
() = pp_xhp_attribute
2424 and __65
() = pp_fun_
2428 and __63
() = pp_fun_
2430 and __62
() = pp_class_
2432 and __61
() = pp_expr
2434 and __60
() = pp_expr
2436 and __59
() = pp_expr
2438 and __58
() = pp_expr
2440 and __57
() = pp_expr
2442 and __56
() = pp_expr
2444 and __55
() = pp_expr
2446 and __54
() = pp_hint
2448 and __53
() = pp_expr
2450 and __52
() = pp_expr
2452 and __51
() = pp_expr
2454 and __50
() = pp_expr
2456 and __49
() = pp_expr
2458 and __48
() = pp_expr
2460 and __47
() = pp_expr
2462 and __46
() = pp_expr
2464 and __45
() = pp_expr
2466 and __44
() = pp_expr
2468 and __43
() = pp_expr
2470 and __42
() = pp_expr
2472 and __41
() = pp_bop
2474 and __40
() = pp_expr
2476 and __39
() = pp_uop
2478 and __38
() = pp_expr
2480 and __37
() = pp_hint
2482 and __36
() = pp_expr
2484 and __35 () = pp_expr
2486 and __34
() = pp_expr
2488 and __33
() = pp_expr
2490 and __32
() = pp_expr
2492 and __31
() = pp_afield
2494 and __30
() = pp_expr
2496 and __29
() = pp_pstring
2498 and __28
() = pp_pstring
2500 and __27
() = pp_pstring
2502 and __26
() = pp_expr
2504 and __25 () = pp_expr
2506 and __24
() = pp_hint
2508 and __23
() = pp_expr
2510 and __22
() = pp_pstring
2512 and __21
() = pp_expr
2514 and __20
() = pp_expr
2516 and __19
() = pp_expr
2518 and __18
() = pp_expr
2520 and __17
() = pp_expr
2522 and __16
() = pp_og_null_flavor
2524 and __15
() = pp_expr
2526 and __14
() = pp_expr
2528 and __13 () = pp_expr
2530 and __12 () = pp_expr
2534 and __10 () = pp_hint
2540 and __7 () = pp_afield
2544 and __5 () = pp_expr
2546 and __4 () = pp_shape_field_name
2548 and __3 () = pp_expr
2550 and __2 () = pp_expr
2552 and __1 () = pp_expr
2554 and __0 () = pp_afield
2556 ((let open! Ppx_deriving_runtime
in
2560 (Format.fprintf fmt
"(@[<2>Array@ ";
2562 Format.fprintf fmt
"@[<2>[";
2567 if sep
then Format.fprintf fmt
";@ ";
2570 Format.fprintf fmt
"@,]@]")) a0
;
2571 Format.fprintf fmt
"@])")
2573 (Format.fprintf fmt
"(@[<2>Varray@ ";
2575 Format.fprintf fmt
"@[<2>[";
2580 if sep
then Format.fprintf fmt
";@ ";
2583 Format.fprintf fmt
"@,]@]")) a0
;
2584 Format.fprintf fmt
"@])")
2586 (Format.fprintf fmt
"(@[<2>Darray@ ";
2588 Format.fprintf fmt
"@[<2>[";
2593 if sep
then Format.fprintf fmt
";@ ";
2595 Format.fprintf fmt
"(@[";
2597 Format.fprintf fmt
",@ ";
2599 Format.fprintf fmt
"@])")) x
;
2601 Format.fprintf fmt
"@,]@]")) a0
;
2602 Format.fprintf fmt
"@])")
2604 (Format.fprintf fmt
"(@[<2>Shape@ ";
2606 Format.fprintf fmt
"@[<2>[";
2611 if sep
then Format.fprintf fmt
";@ ";
2613 Format.fprintf fmt
"(@[";
2615 Format.fprintf fmt
",@ ";
2617 Format.fprintf fmt
"@])")) x
;
2619 Format.fprintf fmt
"@,]@]")) a0
;
2620 Format.fprintf fmt
"@])")
2621 | Collection
(a0
,a1
) ->
2622 (Format.fprintf fmt
"(@[<2>Collection (@,";
2624 Format.fprintf fmt
",@ ";
2626 Format.fprintf fmt
"@[<2>[";
2631 if sep
then Format.fprintf fmt
";@ ";
2634 Format.fprintf fmt
"@,]@]")) a1
);
2635 Format.fprintf fmt
"@,))@]")
2636 | Null
-> Format.pp_print_string fmt
"Null"
2637 | True
-> Format.pp_print_string fmt
"True"
2638 | False
-> Format.pp_print_string fmt
"False"
2639 | Omitted
-> Format.pp_print_string fmt
"Omitted"
2641 (Format.fprintf fmt
"(@[<2>Id@ ";
2643 Format.fprintf fmt
"@])")
2644 | Id_type_arguments
(a0
,a1
) ->
2645 (Format.fprintf fmt
"(@[<2>Id_type_arguments (@,";
2647 Format.fprintf fmt
",@ ";
2649 Format.fprintf fmt
"@[<2>[";
2654 if sep
then Format.fprintf fmt
";@ ";
2657 Format.fprintf fmt
"@,]@]")) a1
);
2658 Format.fprintf fmt
"@,))@]")
2660 (Format.fprintf fmt
"(@[<2>Lvar@ ";
2662 Format.fprintf fmt
"@])")
2664 (Format.fprintf fmt
"(@[<2>Dollar@ ";
2666 Format.fprintf fmt
"@])")
2668 (Format.fprintf fmt
"(@[<2>Clone@ ";
2670 Format.fprintf fmt
"@])")
2671 | Obj_get
(a0
,a1
,a2
) ->
2672 (Format.fprintf fmt
"(@[<2>Obj_get (@,";
2673 ((((__14
()) fmt
) a0
;
2674 Format.fprintf fmt
",@ ";
2675 ((__15
()) fmt
) a1
);
2676 Format.fprintf fmt
",@ ";
2677 ((__16
()) fmt
) a2
);
2678 Format.fprintf fmt
"@,))@]")
2679 | Array_get
(a0
,a1
) ->
2680 (Format.fprintf fmt
"(@[<2>Array_get (@,";
2681 (((__17
()) fmt
) a0
;
2682 Format.fprintf fmt
",@ ";
2684 | None
-> Format.pp_print_string fmt
"None"
2686 (Format.pp_print_string fmt
"(Some ";
2688 Format.pp_print_string fmt
")"))) a1
);
2689 Format.fprintf fmt
"@,))@]")
2690 | Class_get
(a0
,a1
) ->
2691 (Format.fprintf fmt
"(@[<2>Class_get (@,";
2692 (((__19
()) fmt
) a0
;
2693 Format.fprintf fmt
",@ ";
2694 ((__20
()) fmt
) a1
);
2695 Format.fprintf fmt
"@,))@]")
2696 | Class_const
(a0
,a1
) ->
2697 (Format.fprintf fmt
"(@[<2>Class_const (@,";
2698 (((__21
()) fmt
) a0
;
2699 Format.fprintf fmt
",@ ";
2700 ((__22
()) fmt
) a1
);
2701 Format.fprintf fmt
"@,))@]")
2702 | Call
(a0
,a1
,a2
,a3
) ->
2703 (Format.fprintf fmt
"(@[<2>Call (@,";
2704 (((((__23
()) fmt
) a0
;
2705 Format.fprintf fmt
",@ ";
2707 Format.fprintf fmt
"@[<2>[";
2712 if sep
then Format.fprintf fmt
";@ ";
2715 Format.fprintf fmt
"@,]@]")) a1
);
2716 Format.fprintf fmt
",@ ";
2718 Format.fprintf fmt
"@[<2>[";
2723 if sep
then Format.fprintf fmt
";@ ";
2726 Format.fprintf fmt
"@,]@]")) a2
);
2727 Format.fprintf fmt
",@ ";
2729 Format.fprintf fmt
"@[<2>[";
2734 if sep
then Format.fprintf fmt
";@ ";
2737 Format.fprintf fmt
"@,]@]")) a3
);
2738 Format.fprintf fmt
"@,))@]")
2740 (Format.fprintf fmt
"(@[<2>Int@ ";
2742 Format.fprintf fmt
"@])")
2744 (Format.fprintf fmt
"(@[<2>Float@ ";
2746 Format.fprintf fmt
"@])")
2748 (Format.fprintf fmt
"(@[<2>String@ ";
2750 Format.fprintf fmt
"@])")
2752 (Format.fprintf fmt
"(@[<2>String2@ ";
2754 Format.fprintf fmt
"@[<2>[";
2759 if sep
then Format.fprintf fmt
";@ ";
2762 Format.fprintf fmt
"@,]@]")) a0
;
2763 Format.fprintf fmt
"@])")
2765 (Format.fprintf fmt
"(@[<2>Yield@ ";
2767 Format.fprintf fmt
"@])")
2768 | Yield_break
-> Format.pp_print_string fmt
"Yield_break"
2770 (Format.fprintf fmt
"(@[<2>Yield_from@ ";
2772 Format.fprintf fmt
"@])")
2774 (Format.fprintf fmt
"(@[<2>Await@ ";
2776 Format.fprintf fmt
"@])")
2778 (Format.fprintf fmt
"(@[<2>Suspend@ ";
2780 Format.fprintf fmt
"@])")
2782 (Format.fprintf fmt
"(@[<2>List@ ";
2784 Format.fprintf fmt
"@[<2>[";
2789 if sep
then Format.fprintf fmt
";@ ";
2792 Format.fprintf fmt
"@,]@]")) a0
;
2793 Format.fprintf fmt
"@])")
2795 (Format.fprintf fmt
"(@[<2>Expr_list@ ";
2797 Format.fprintf fmt
"@[<2>[";
2802 if sep
then Format.fprintf fmt
";@ ";
2805 Format.fprintf fmt
"@,]@]")) a0
;
2806 Format.fprintf fmt
"@])")
2808 (Format.fprintf fmt
"(@[<2>Cast (@,";
2809 (((__37
()) fmt
) a0
;
2810 Format.fprintf fmt
",@ ";
2811 ((__38
()) fmt
) a1
);
2812 Format.fprintf fmt
"@,))@]")
2814 (Format.fprintf fmt
"(@[<2>Unop (@,";
2815 (((__39
()) fmt
) a0
;
2816 Format.fprintf fmt
",@ ";
2817 ((__40
()) fmt
) a1
);
2818 Format.fprintf fmt
"@,))@]")
2819 | Binop
(a0
,a1
,a2
) ->
2820 (Format.fprintf fmt
"(@[<2>Binop (@,";
2821 ((((__41
()) fmt
) a0
;
2822 Format.fprintf fmt
",@ ";
2823 ((__42
()) fmt
) a1
);
2824 Format.fprintf fmt
",@ ";
2825 ((__43
()) fmt
) a2
);
2826 Format.fprintf fmt
"@,))@]")
2828 (Format.fprintf fmt
"(@[<2>Pipe (@,";
2829 (((__44
()) fmt
) a0
;
2830 Format.fprintf fmt
",@ ";
2831 ((__45
()) fmt
) a1
);
2832 Format.fprintf fmt
"@,))@]")
2834 (Format.fprintf fmt
"(@[<2>Eif (@,";
2835 ((((__46
()) fmt
) a0
;
2836 Format.fprintf fmt
",@ ";
2838 | None
-> Format.pp_print_string fmt
"None"
2840 (Format.pp_print_string fmt
"(Some ";
2842 Format.pp_print_string fmt
")"))) a1
);
2843 Format.fprintf fmt
",@ ";
2844 ((__48
()) fmt
) a2
);
2845 Format.fprintf fmt
"@,))@]")
2846 | NullCoalesce
(a0
,a1
) ->
2847 (Format.fprintf fmt
"(@[<2>NullCoalesce (@,";
2848 (((__49
()) fmt
) a0
;
2849 Format.fprintf fmt
",@ ";
2850 ((__50
()) fmt
) a1
);
2851 Format.fprintf fmt
"@,))@]")
2852 | InstanceOf
(a0
,a1
) ->
2853 (Format.fprintf fmt
"(@[<2>InstanceOf (@,";
2854 (((__51
()) fmt
) a0
;
2855 Format.fprintf fmt
",@ ";
2856 ((__52
()) fmt
) a1
);
2857 Format.fprintf fmt
"@,))@]")
2859 (Format.fprintf fmt
"(@[<2>Is (@,";
2860 (((__53
()) fmt
) a0
;
2861 Format.fprintf fmt
",@ ";
2862 ((__54
()) fmt
) a1
);
2863 Format.fprintf fmt
"@,))@]")
2865 (Format.fprintf fmt
"(@[<2>BracedExpr@ ";
2867 Format.fprintf fmt
"@])")
2868 | ParenthesizedExpr a0
->
2869 (Format.fprintf fmt
"(@[<2>ParenthesizedExpr@ ";
2871 Format.fprintf fmt
"@])")
2873 (Format.fprintf fmt
"(@[<2>New (@,";
2874 ((((__57
()) fmt
) a0
;
2875 Format.fprintf fmt
",@ ";
2877 Format.fprintf fmt
"@[<2>[";
2882 if sep
then Format.fprintf fmt
";@ ";
2885 Format.fprintf fmt
"@,]@]")) a1
);
2886 Format.fprintf fmt
",@ ";
2888 Format.fprintf fmt
"@[<2>[";
2893 if sep
then Format.fprintf fmt
";@ ";
2896 Format.fprintf fmt
"@,]@]")) a2
);
2897 Format.fprintf fmt
"@,))@]")
2898 | NewAnonClass
(a0
,a1
,a2
) ->
2899 (Format.fprintf fmt
"(@[<2>NewAnonClass (@,";
2901 Format.fprintf fmt
"@[<2>[";
2906 if sep
then Format.fprintf fmt
";@ ";
2909 Format.fprintf fmt
"@,]@]")) a0
;
2910 Format.fprintf fmt
",@ ";
2912 Format.fprintf fmt
"@[<2>[";
2917 if sep
then Format.fprintf fmt
";@ ";
2920 Format.fprintf fmt
"@,]@]")) a1
);
2921 Format.fprintf fmt
",@ ";
2922 ((__62
()) fmt
) a2
);
2923 Format.fprintf fmt
"@,))@]")
2925 (Format.fprintf fmt
"(@[<2>Efun (@,";
2926 (((__63
()) fmt
) a0
;
2927 Format.fprintf fmt
",@ ";
2929 Format.fprintf fmt
"@[<2>[";
2934 if sep
then Format.fprintf fmt
";@ ";
2936 Format.fprintf fmt
"(@[";
2937 (((__64
()) fmt
) a0
;
2938 Format.fprintf fmt
",@ ";
2939 (Format.fprintf fmt
"%B") a1
);
2940 Format.fprintf fmt
"@])")) x
;
2942 Format.fprintf fmt
"@,]@]")) a1
);
2943 Format.fprintf fmt
"@,))@]")
2945 (Format.fprintf fmt
"(@[<2>Lfun@ ";
2947 Format.fprintf fmt
"@])")
2949 (Format.fprintf fmt
"(@[<2>Xml (@,";
2950 ((((__66
()) fmt
) a0
;
2951 Format.fprintf fmt
",@ ";
2953 Format.fprintf fmt
"@[<2>[";
2958 if sep
then Format.fprintf fmt
";@ ";
2961 Format.fprintf fmt
"@,]@]")) a1
);
2962 Format.fprintf fmt
",@ ";
2964 Format.fprintf fmt
"@[<2>[";
2969 if sep
then Format.fprintf fmt
";@ ";
2972 Format.fprintf fmt
"@,]@]")) a2
);
2973 Format.fprintf fmt
"@,))@]")
2975 (Format.fprintf fmt
"(@[<2>Unsafeexpr@ ";
2977 Format.fprintf fmt
"@])")
2979 (Format.fprintf fmt
"(@[<2>Import (@,";
2980 (((__70
()) fmt
) a0
;
2981 Format.fprintf fmt
",@ ";
2982 ((__71
()) fmt
) a1
);
2983 Format.fprintf fmt
"@,))@]")
2984 | Callconv
(a0
,a1
) ->
2985 (Format.fprintf fmt
"(@[<2>Callconv (@,";
2986 (((__72
()) fmt
) a0
;
2987 Format.fprintf fmt
",@ ";
2988 ((__73
()) fmt
) a1
);
2989 Format.fprintf fmt
"@,))@]")
2990 | Execution_operator a0
->
2991 (Format.fprintf fmt
"(@[<2>Execution_operator@ ";
2993 Format.fprintf fmt
"@[<2>[";
2998 if sep
then Format.fprintf fmt
";@ ";
3001 Format.fprintf fmt
"@,]@]")) a0
;
3002 Format.fprintf fmt
"@])"))
3003 [@ocaml
.warning
"-A"])
3005 and show_expr_
: expr_
-> Ppx_deriving_runtime.string =
3006 fun x
-> Format.asprintf
"%a" pp_expr_ x
3008 and (pp_import_flavor
:
3009 Format.formatter
-> import_flavor
-> Ppx_deriving_runtime.unit)
3011 ((let open! Ppx_deriving_runtime
in
3014 | Include
-> Format.pp_print_string fmt
"Include"
3015 | Require
-> Format.pp_print_string fmt
"Require"
3016 | IncludeOnce
-> Format.pp_print_string fmt
"IncludeOnce"
3017 | RequireOnce
-> Format.pp_print_string fmt
"RequireOnce")
3018 [@ocaml
.warning
"-A"])
3020 and show_import_flavor
: import_flavor
-> Ppx_deriving_runtime.string =
3021 fun x
-> Format.asprintf
"%a" pp_import_flavor x
3023 and pp_afield
: Format.formatter
-> afield
-> Ppx_deriving_runtime.unit =
3024 let __2 () = pp_expr
3026 and __1 () = pp_expr
3028 and __0 () = pp_expr
3030 ((let open! Ppx_deriving_runtime
in
3034 (Format.fprintf fmt
"(@[<2>AFvalue@ ";
3036 Format.fprintf fmt
"@])")
3037 | AFkvalue
(a0
,a1
) ->
3038 (Format.fprintf fmt
"(@[<2>AFkvalue (@,";
3039 (((__1 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__2 ()) fmt
) a1
);
3040 Format.fprintf fmt
"@,))@]"))
3041 [@ocaml
.warning
"-A"])
3043 and show_afield
: afield
-> Ppx_deriving_runtime.string =
3044 fun x
-> Format.asprintf
"%a" pp_afield x
3046 and pp_case
: Format.formatter
-> case
-> Ppx_deriving_runtime.unit =
3047 let __2 () = pp_block
3049 and __1 () = pp_expr
3051 and __0 () = pp_block
3053 ((let open! Ppx_deriving_runtime
in
3057 (Format.fprintf fmt
"(@[<2>Default@ ";
3059 Format.fprintf fmt
"@])")
3061 (Format.fprintf fmt
"(@[<2>Case (@,";
3062 (((__1 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__2 ()) fmt
) a1
);
3063 Format.fprintf fmt
"@,))@]"))
3064 [@ocaml
.warning
"-A"])
3066 and show_case
: case
-> Ppx_deriving_runtime.string =
3067 fun x
-> Format.asprintf
"%a" pp_case x
3069 and pp_catch
: Format.formatter
-> catch
-> Ppx_deriving_runtime.unit =
3070 let __2 () = pp_block
3076 ((let open! Ppx_deriving_runtime
in
3079 Format.fprintf fmt
"(@[";
3080 ((((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1 ()) fmt
) a1
);
3081 Format.fprintf fmt
",@ ";
3083 Format.fprintf fmt
"@])")
3084 [@ocaml
.warning
"-A"])
3086 and show_catch
: catch
-> Ppx_deriving_runtime.string =
3087 fun x
-> Format.asprintf
"%a" pp_catch x
3089 and pp_field
: Format.formatter
-> field
-> Ppx_deriving_runtime.unit =
3090 let __1 () = pp_expr
3092 and __0 () = pp_expr
3094 ((let open! Ppx_deriving_runtime
in
3097 Format.fprintf fmt
"(@[";
3098 (((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1 ()) fmt
) a1
);
3099 Format.fprintf fmt
"@])")
3100 [@ocaml
.warning
"-A"])
3102 and show_field
: field
-> Ppx_deriving_runtime.string =
3103 fun x
-> Format.asprintf
"%a" pp_field x
3105 and pp_attr
: Format.formatter
-> attr
-> Ppx_deriving_runtime.unit =
3106 let __1 () = pp_expr
3110 ((let open! Ppx_deriving_runtime
in
3113 Format.fprintf fmt
"(@[";
3114 (((__0 ()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__1 ()) fmt
) a1
);
3115 Format.fprintf fmt
"@])")
3116 [@ocaml
.warning
"-A"])
3118 and show_attr
: attr
-> Ppx_deriving_runtime.string =
3119 fun x
-> Format.asprintf
"%a" pp_attr x
3123 [@@@ocaml
.warning
"-4-26-27"]
3124 [@@@VISITORS.BEGIN
]
3125 class virtual ['self
] endo
=
3126 object (self
: 'self
)
3127 inherit [_
] endo_defs
3128 method on_program env
= self#on_list self#on_def env
3129 method on_nsenv env _visitors_this
= _visitors_this
3130 method on_fimode env _visitors_this
= _visitors_this
3131 method on_Fun env _visitors_this _visitors_c0
=
3132 let _visitors_r0 = self#on_fun_ env _visitors_c0
in
3133 if Pervasives.(==) _visitors_c0
_visitors_r0
3135 else Fun
_visitors_r0
3136 method on_Class env _visitors_this _visitors_c0
=
3137 let _visitors_r0 = self#on_class_ env _visitors_c0
in
3138 if Pervasives.(==) _visitors_c0
_visitors_r0
3140 else Class
_visitors_r0
3141 method on_Stmt env _visitors_this _visitors_c0
=
3142 let _visitors_r0 = self#on_stmt env _visitors_c0
in
3143 if Pervasives.(==) _visitors_c0
_visitors_r0
3145 else Stmt
_visitors_r0
3146 method on_Typedef env _visitors_this _visitors_c0
=
3147 let _visitors_r0 = self#on_typedef env _visitors_c0
in
3148 if Pervasives.(==) _visitors_c0
_visitors_r0
3150 else Typedef
_visitors_r0
3151 method on_Constant env _visitors_this _visitors_c0
=
3152 let _visitors_r0 = self#on_gconst env _visitors_c0
in
3153 if Pervasives.(==) _visitors_c0
_visitors_r0
3155 else Constant
_visitors_r0
3156 method on_Namespace env _visitors_this _visitors_c0 _visitors_c1
=
3157 let _visitors_r0 = self#on_id env _visitors_c0
in
3158 let _visitors_r1 = self#on_program env _visitors_c1
in
3160 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3161 (Pervasives.(==) _visitors_c1
_visitors_r1)
3163 else Namespace
(_visitors_r0, _visitors_r1)
3164 method on_NamespaceUse env _visitors_this _visitors_c0
=
3169 ((_visitors_c0
,_visitors_c1
,_visitors_c2
) as
3172 let _visitors_r0 = self#on_ns_kind env _visitors_c0
in
3173 let _visitors_r1 = self#on_id env _visitors_c1
in
3174 let _visitors_r2 = self#on_id env _visitors_c2
in
3177 (Pervasives.(==) _visitors_c0
_visitors_r0)
3179 (Pervasives.(==) _visitors_c1
_visitors_r1)
3180 (Pervasives.(==) _visitors_c2
_visitors_r2))
3182 else (_visitors_r0, _visitors_r1, _visitors_r2)) env
3185 if Pervasives.(==) _visitors_c0
_visitors_r0
3187 else NamespaceUse
_visitors_r0
3188 method on_SetNamespaceEnv env _visitors_this _visitors_c0
=
3189 let _visitors_r0 = self#on_nsenv env _visitors_c0
in
3190 if Pervasives.(==) _visitors_c0
_visitors_r0
3192 else SetNamespaceEnv
_visitors_r0
3193 method on_def env _visitors_this
=
3194 match _visitors_this
with
3195 | Fun _visitors_c0
as _visitors_this
->
3196 self#on_Fun env _visitors_this _visitors_c0
3197 | Class _visitors_c0
as _visitors_this
->
3198 self#on_Class env _visitors_this _visitors_c0
3199 | Stmt _visitors_c0
as _visitors_this
->
3200 self#on_Stmt env _visitors_this _visitors_c0
3201 | Typedef _visitors_c0
as _visitors_this
->
3202 self#on_Typedef env _visitors_this _visitors_c0
3203 | Constant _visitors_c0
as _visitors_this
->
3204 self#on_Constant env _visitors_this _visitors_c0
3205 | Namespace
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
3206 self#on_Namespace env _visitors_this _visitors_c0 _visitors_c1
3207 | NamespaceUse _visitors_c0
as _visitors_this
->
3208 self#on_NamespaceUse env _visitors_this _visitors_c0
3209 | SetNamespaceEnv _visitors_c0
as _visitors_this
->
3210 self#on_SetNamespaceEnv env _visitors_this _visitors_c0
3211 method on_typedef env _visitors_this
=
3212 let _visitors_r0 = self#on_id env _visitors_this
.t_id
in
3214 self#on_list self#on_tparam env _visitors_this
.t_tparams
in
3216 self#on_tconstraint env _visitors_this
.t_constraint
in
3217 let _visitors_r3 = self#on_typedef_kind env _visitors_this
.t_kind
3220 self#on_list self#on_user_attribute env
3221 _visitors_this
.t_user_attributes
3223 let _visitors_r5 = self#on_nsenv env _visitors_this
.t_namespace
in
3224 let _visitors_r6 = self#on_fimode env _visitors_this
.t_mode
in
3227 (Pervasives.(==) _visitors_this
.t_id
_visitors_r0)
3229 (Pervasives.(==) _visitors_this
.t_tparams
_visitors_r1)
3231 (Pervasives.(==) _visitors_this
.t_constraint
_visitors_r2)
3233 (Pervasives.(==) _visitors_this
.t_kind
_visitors_r3)
3235 (Pervasives.(==) _visitors_this
.t_user_attributes
3238 (Pervasives.(==) _visitors_this
.t_namespace
3240 (Pervasives.(==) _visitors_this
.t_mode
3245 t_id
= _visitors_r0;
3246 t_tparams
= _visitors_r1;
3247 t_constraint
= _visitors_r2;
3248 t_kind
= _visitors_r3;
3249 t_user_attributes
= _visitors_r4;
3250 t_namespace
= _visitors_r5;
3251 t_mode
= _visitors_r6
3253 method on_gconst env _visitors_this
=
3254 let _visitors_r0 = self#on_fimode env _visitors_this
.cst_mode
in
3255 let _visitors_r1 = self#on_cst_kind env _visitors_this
.cst_kind
in
3256 let _visitors_r2 = self#on_id env _visitors_this
.cst_name
in
3258 self#on_option self#on_hint env _visitors_this
.cst_type
in
3259 let _visitors_r4 = self#on_expr env _visitors_this
.cst_value
in
3260 let _visitors_r5 = self#on_nsenv env _visitors_this
.cst_namespace
3262 let _visitors_r6 = self#on_pos env _visitors_this
.cst_span
in
3265 (Pervasives.(==) _visitors_this
.cst_mode
_visitors_r0)
3267 (Pervasives.(==) _visitors_this
.cst_kind
_visitors_r1)
3269 (Pervasives.(==) _visitors_this
.cst_name
_visitors_r2)
3271 (Pervasives.(==) _visitors_this
.cst_type
_visitors_r3)
3273 (Pervasives.(==) _visitors_this
.cst_value
3276 (Pervasives.(==) _visitors_this
.cst_namespace
3278 (Pervasives.(==) _visitors_this
.cst_span
3283 cst_mode
= _visitors_r0;
3284 cst_kind
= _visitors_r1;
3285 cst_name
= _visitors_r2;
3286 cst_type
= _visitors_r3;
3287 cst_value
= _visitors_r4;
3288 cst_namespace
= _visitors_r5;
3289 cst_span
= _visitors_r6
3291 method on_tparam env
3292 ((_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
) =
3293 let _visitors_r0 = self#on_variance env _visitors_c0
in
3294 let _visitors_r1 = self#on_id env _visitors_c1
in
3298 fun ((_visitors_c0
,_visitors_c1
) as _visitors_this
) ->
3300 self#on_constraint_kind env _visitors_c0
in
3301 let _visitors_r1 = self#on_hint env _visitors_c1
in
3304 (Pervasives.(==) _visitors_c0
_visitors_r0)
3305 (Pervasives.(==) _visitors_c1
_visitors_r1)
3307 else (_visitors_r0, _visitors_r1)) env _visitors_c2
3310 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3311 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
3312 (Pervasives.(==) _visitors_c2
_visitors_r2))
3314 else (_visitors_r0, _visitors_r1, _visitors_r2)
3315 method on_tconstraint env
= self#on_option self#on_hint env
3316 method on_Alias env _visitors_this _visitors_c0
=
3317 let _visitors_r0 = self#on_hint env _visitors_c0
in
3318 if Pervasives.(==) _visitors_c0
_visitors_r0
3320 else Alias
_visitors_r0
3321 method on_NewType env _visitors_this _visitors_c0
=
3322 let _visitors_r0 = self#on_hint env _visitors_c0
in
3323 if Pervasives.(==) _visitors_c0
_visitors_r0
3325 else NewType
_visitors_r0
3326 method on_typedef_kind env _visitors_this
=
3327 match _visitors_this
with
3328 | Alias _visitors_c0
as _visitors_this
->
3329 self#on_Alias env _visitors_this _visitors_c0
3330 | NewType _visitors_c0
as _visitors_this
->
3331 self#on_NewType env _visitors_this _visitors_c0
3332 method on_class_ env _visitors_this
=
3333 let _visitors_r0 = self#on_fimode env _visitors_this
.c_mode
in
3335 self#on_list self#on_user_attribute env
3336 _visitors_this
.c_user_attributes
3338 let _visitors_r2 = self#on_bool env _visitors_this
.c_final
in
3339 let _visitors_r3 = self#on_class_kind env _visitors_this
.c_kind
in
3340 let _visitors_r4 = self#on_bool env _visitors_this
.c_is_xhp
in
3341 let _visitors_r5 = self#on_id env _visitors_this
.c_name
in
3343 self#on_list self#on_tparam env _visitors_this
.c_tparams
in
3345 self#on_list self#on_hint env _visitors_this
.c_extends
in
3347 self#on_list self#on_hint env _visitors_this
.c_implements
in
3349 self#on_list self#on_class_elt env _visitors_this
.c_body
in
3350 let _visitors_r10 = self#on_nsenv env _visitors_this
.c_namespace
3353 self#on_option self#on_enum_ env _visitors_this
.c_enum
in
3354 let _visitors_r12 = self#on_pos env _visitors_this
.c_span
in
3356 self#on_option self#on_string env _visitors_this
.c_doc_comment
3360 (Pervasives.(==) _visitors_this
.c_mode
_visitors_r0)
3362 (Pervasives.(==) _visitors_this
.c_user_attributes
3365 (Pervasives.(==) _visitors_this
.c_final
_visitors_r2)
3367 (Pervasives.(==) _visitors_this
.c_kind
_visitors_r3)
3369 (Pervasives.(==) _visitors_this
.c_is_xhp
3372 (Pervasives.(==) _visitors_this
.c_name
3375 (Pervasives.(==) _visitors_this
.c_tparams
3378 (Pervasives.(==) _visitors_this
.c_extends
3382 _visitors_this
.c_implements
3386 _visitors_this
.c_body
3390 _visitors_this
.c_namespace
3394 _visitors_this
.c_enum
3398 _visitors_this
.c_span
3401 _visitors_this
.c_doc_comment
3402 _visitors_r13)))))))))))))
3406 c_mode
= _visitors_r0;
3407 c_user_attributes
= _visitors_r1;
3408 c_final
= _visitors_r2;
3409 c_kind
= _visitors_r3;
3410 c_is_xhp
= _visitors_r4;
3411 c_name
= _visitors_r5;
3412 c_tparams
= _visitors_r6;
3413 c_extends
= _visitors_r7;
3414 c_implements
= _visitors_r8;
3415 c_body
= _visitors_r9;
3416 c_namespace
= _visitors_r10;
3417 c_enum
= _visitors_r11;
3418 c_span
= _visitors_r12;
3419 c_doc_comment
= _visitors_r13
3421 method on_enum_ env _visitors_this
=
3422 let _visitors_r0 = self#on_hint env _visitors_this
.e_base
in
3424 self#on_option self#on_hint env _visitors_this
.e_constraint
in
3427 (Pervasives.(==) _visitors_this
.e_base
_visitors_r0)
3428 (Pervasives.(==) _visitors_this
.e_constraint
_visitors_r1)
3430 else { e_base
= _visitors_r0; e_constraint
= _visitors_r1 }
3431 method on_user_attribute env _visitors_this
=
3432 let _visitors_r0 = self#on_id env _visitors_this
.ua_name
in
3434 self#on_list self#on_expr env _visitors_this
.ua_params
in
3437 (Pervasives.(==) _visitors_this
.ua_name
_visitors_r0)
3438 (Pervasives.(==) _visitors_this
.ua_params
_visitors_r1)
3440 else { ua_name
= _visitors_r0; ua_params
= _visitors_r1 }
3441 method on_Const env _visitors_this _visitors_c0 _visitors_c1
=
3442 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
3446 fun ((_visitors_c0
,_visitors_c1
) as _visitors_this
) ->
3447 let _visitors_r0 = self#on_id env _visitors_c0
in
3448 let _visitors_r1 = self#on_expr env _visitors_c1
in
3451 (Pervasives.(==) _visitors_c0
_visitors_r0)
3452 (Pervasives.(==) _visitors_c1
_visitors_r1)
3454 else (_visitors_r0, _visitors_r1)) env _visitors_c1
3457 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3458 (Pervasives.(==) _visitors_c1
_visitors_r1)
3460 else Const
(_visitors_r0, _visitors_r1)
3461 method on_AbsConst env _visitors_this _visitors_c0 _visitors_c1
=
3462 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
3463 let _visitors_r1 = self#on_id env _visitors_c1
in
3465 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3466 (Pervasives.(==) _visitors_c1
_visitors_r1)
3468 else AbsConst
(_visitors_r0, _visitors_r1)
3469 method on_Attributes env _visitors_this _visitors_c0
=
3470 let _visitors_r0 = self#on_list self#on_class_attr env _visitors_c0
3472 if Pervasives.(==) _visitors_c0
_visitors_r0
3474 else Attributes
_visitors_r0
3475 method on_TypeConst env _visitors_this _visitors_c0
=
3476 let _visitors_r0 = self#on_typeconst env _visitors_c0
in
3477 if Pervasives.(==) _visitors_c0
_visitors_r0
3479 else TypeConst
_visitors_r0
3480 method on_ClassUse env _visitors_this _visitors_c0
=
3481 let _visitors_r0 = self#on_hint env _visitors_c0
in
3482 if Pervasives.(==) _visitors_c0
_visitors_r0
3484 else ClassUse
_visitors_r0
3485 method on_ClassUseAlias env _visitors_this _visitors_c0 _visitors_c1
3486 _visitors_c2 _visitors_c3
=
3487 let _visitors_r0 = self#on_option self#on_id env _visitors_c0
in
3488 let _visitors_r1 = self#on_pstring env _visitors_c1
in
3489 let _visitors_r2 = self#on_option self#on_id env _visitors_c2
in
3490 let _visitors_r3 = self#on_list self#on_kind env _visitors_c3
in
3492 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3493 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
3494 (Pervasives.(&&) (Pervasives.(==) _visitors_c2
_visitors_r2)
3495 (Pervasives.(==) _visitors_c3
_visitors_r3)))
3499 (_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
3500 method on_ClassUsePrecedence env _visitors_this _visitors_c0
3501 _visitors_c1 _visitors_c2
=
3502 let _visitors_r0 = self#on_id env _visitors_c0
in
3503 let _visitors_r1 = self#on_pstring env _visitors_c1
in
3504 let _visitors_r2 = self#on_list self#on_id env _visitors_c2
in
3506 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3507 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
3508 (Pervasives.(==) _visitors_c2
_visitors_r2))
3510 else ClassUsePrecedence
(_visitors_r0, _visitors_r1, _visitors_r2)
3511 method on_XhpAttrUse env _visitors_this _visitors_c0
=
3512 let _visitors_r0 = self#on_hint env _visitors_c0
in
3513 if Pervasives.(==) _visitors_c0
_visitors_r0
3515 else XhpAttrUse
_visitors_r0
3516 method on_ClassTraitRequire env _visitors_this _visitors_c0
3518 let _visitors_r0 = self#on_trait_req_kind env _visitors_c0
in
3519 let _visitors_r1 = self#on_hint env _visitors_c1
in
3521 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3522 (Pervasives.(==) _visitors_c1
_visitors_r1)
3524 else ClassTraitRequire
(_visitors_r0, _visitors_r1)
3525 method on_ClassVars env _visitors_this _visitors_c0
=
3526 let _visitors_r0 = self#on_class_vars_ env _visitors_c0
in
3527 if Pervasives.(==) _visitors_c0
_visitors_r0
3529 else ClassVars
_visitors_r0
3530 method on_XhpAttr env _visitors_this _visitors_c0 _visitors_c1
3531 _visitors_c2 _visitors_c3
=
3532 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
3533 let _visitors_r1 = self#on_class_var env _visitors_c1
in
3534 let _visitors_r2 = self#on_bool env _visitors_c2
in
3539 ((_visitors_c0
,_visitors_c1
,_visitors_c2
) as
3542 let _visitors_r0 = self#on_pos env _visitors_c0
in
3543 let _visitors_r1 = self#on_bool env _visitors_c1
in
3545 self#on_list self#on_expr env _visitors_c2
in
3548 (Pervasives.(==) _visitors_c0
_visitors_r0)
3550 (Pervasives.(==) _visitors_c1
_visitors_r1)
3551 (Pervasives.(==) _visitors_c2
_visitors_r2))
3553 else (_visitors_r0, _visitors_r1, _visitors_r2)) env
3557 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3558 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
3559 (Pervasives.(&&) (Pervasives.(==) _visitors_c2
_visitors_r2)
3560 (Pervasives.(==) _visitors_c3
_visitors_r3)))
3563 XhpAttr
(_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
3564 method on_Method env _visitors_this _visitors_c0
=
3565 let _visitors_r0 = self#on_method_ env _visitors_c0
in
3566 if Pervasives.(==) _visitors_c0
_visitors_r0
3568 else Method
_visitors_r0
3569 method on_XhpCategory env _visitors_this _visitors_c0
=
3570 let _visitors_r0 = self#on_list self#on_pstring env _visitors_c0
3572 if Pervasives.(==) _visitors_c0
_visitors_r0
3574 else XhpCategory
_visitors_r0
3575 method on_XhpChild env _visitors_this _visitors_c0
=
3576 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in
3577 if Pervasives.(==) _visitors_c0
_visitors_r0
3579 else XhpChild
_visitors_r0
3580 method on_class_elt env _visitors_this
=
3581 match _visitors_this
with
3582 | Const
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
3583 self#on_Const env _visitors_this _visitors_c0 _visitors_c1
3584 | AbsConst
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
3585 self#on_AbsConst env _visitors_this _visitors_c0 _visitors_c1
3586 | Attributes _visitors_c0
as _visitors_this
->
3587 self#on_Attributes env _visitors_this _visitors_c0
3588 | TypeConst _visitors_c0
as _visitors_this
->
3589 self#on_TypeConst env _visitors_this _visitors_c0
3590 | ClassUse _visitors_c0
as _visitors_this
->
3591 self#on_ClassUse env _visitors_this _visitors_c0
3593 (_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) as
3595 self#on_ClassUseAlias env _visitors_this _visitors_c0
3596 _visitors_c1 _visitors_c2 _visitors_c3
3597 | ClassUsePrecedence
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as
3599 self#on_ClassUsePrecedence env _visitors_this _visitors_c0
3600 _visitors_c1 _visitors_c2
3601 | XhpAttrUse _visitors_c0
as _visitors_this
->
3602 self#on_XhpAttrUse env _visitors_this _visitors_c0
3603 | ClassTraitRequire
(_visitors_c0
,_visitors_c1
) as _visitors_this
3605 self#on_ClassTraitRequire env _visitors_this _visitors_c0
3607 | ClassVars _visitors_c0
as _visitors_this
->
3608 self#on_ClassVars env _visitors_this _visitors_c0
3609 | XhpAttr
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) as
3611 self#on_XhpAttr env _visitors_this _visitors_c0 _visitors_c1
3612 _visitors_c2 _visitors_c3
3613 | Method _visitors_c0
as _visitors_this
->
3614 self#on_Method env _visitors_this _visitors_c0
3615 | XhpCategory _visitors_c0
as _visitors_this
->
3616 self#on_XhpCategory env _visitors_this _visitors_c0
3617 | XhpChild _visitors_c0
as _visitors_this
->
3618 self#on_XhpChild env _visitors_this _visitors_c0
3619 method on_ChildName env _visitors_this _visitors_c0
=
3620 let _visitors_r0 = self#on_id env _visitors_c0
in
3621 if Pervasives.(==) _visitors_c0
_visitors_r0
3623 else ChildName
_visitors_r0
3624 method on_ChildList env _visitors_this _visitors_c0
=
3625 let _visitors_r0 = self#on_list self#on_xhp_child env _visitors_c0
3627 if Pervasives.(==) _visitors_c0
_visitors_r0
3629 else ChildList
_visitors_r0
3630 method on_ChildUnary env _visitors_this _visitors_c0 _visitors_c1
=
3631 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in
3632 let _visitors_r1 = self#on_xhp_child_op env _visitors_c1
in
3634 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3635 (Pervasives.(==) _visitors_c1
_visitors_r1)
3637 else ChildUnary
(_visitors_r0, _visitors_r1)
3638 method on_ChildBinary env _visitors_this _visitors_c0 _visitors_c1
=
3639 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in
3640 let _visitors_r1 = self#on_xhp_child env _visitors_c1
in
3642 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3643 (Pervasives.(==) _visitors_c1
_visitors_r1)
3645 else ChildBinary
(_visitors_r0, _visitors_r1)
3646 method on_xhp_child env _visitors_this
=
3647 match _visitors_this
with
3648 | ChildName _visitors_c0
as _visitors_this
->
3649 self#on_ChildName env _visitors_this _visitors_c0
3650 | ChildList _visitors_c0
as _visitors_this
->
3651 self#on_ChildList env _visitors_this _visitors_c0
3652 | ChildUnary
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
3653 self#on_ChildUnary env _visitors_this _visitors_c0 _visitors_c1
3654 | ChildBinary
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
3655 self#on_ChildBinary env _visitors_this _visitors_c0
3657 method on_ChildStar env _visitors_this
=
3658 if true then _visitors_this
else ChildStar
3659 method on_ChildPlus env _visitors_this
=
3660 if true then _visitors_this
else ChildPlus
3661 method on_ChildQuestion env _visitors_this
=
3662 if true then _visitors_this
else ChildQuestion
3663 method on_xhp_child_op env _visitors_this
=
3664 match _visitors_this
with
3665 | ChildStar
as _visitors_this
->
3666 self#on_ChildStar env _visitors_this
3667 | ChildPlus
as _visitors_this
->
3668 self#on_ChildPlus env _visitors_this
3669 | ChildQuestion
as _visitors_this
->
3670 self#on_ChildQuestion env _visitors_this
3671 method on_CA_name env _visitors_this _visitors_c0
=
3672 let _visitors_r0 = self#on_id env _visitors_c0
in
3673 if Pervasives.(==) _visitors_c0
_visitors_r0
3675 else CA_name
_visitors_r0
3676 method on_CA_field env _visitors_this _visitors_c0
=
3677 let _visitors_r0 = self#on_ca_field env _visitors_c0
in
3678 if Pervasives.(==) _visitors_c0
_visitors_r0
3680 else CA_field
_visitors_r0
3681 method on_class_attr env _visitors_this
=
3682 match _visitors_this
with
3683 | CA_name _visitors_c0
as _visitors_this
->
3684 self#on_CA_name env _visitors_this _visitors_c0
3685 | CA_field _visitors_c0
as _visitors_this
->
3686 self#on_CA_field env _visitors_this _visitors_c0
3687 method on_ca_field env _visitors_this
=
3688 let _visitors_r0 = self#on_ca_type env _visitors_this
.ca_type
in
3689 let _visitors_r1 = self#on_id env _visitors_this
.ca_id
in
3691 self#on_option self#on_expr env _visitors_this
.ca_value
in
3692 let _visitors_r3 = self#on_bool env _visitors_this
.ca_required
in
3695 (Pervasives.(==) _visitors_this
.ca_type
_visitors_r0)
3697 (Pervasives.(==) _visitors_this
.ca_id
_visitors_r1)
3699 (Pervasives.(==) _visitors_this
.ca_value
_visitors_r2)
3700 (Pervasives.(==) _visitors_this
.ca_required
_visitors_r3)))
3704 ca_type
= _visitors_r0;
3705 ca_id
= _visitors_r1;
3706 ca_value
= _visitors_r2;
3707 ca_required
= _visitors_r3
3709 method on_CA_hint env _visitors_this _visitors_c0
=
3710 let _visitors_r0 = self#on_hint env _visitors_c0
in
3711 if Pervasives.(==) _visitors_c0
_visitors_r0
3713 else CA_hint
_visitors_r0
3714 method on_CA_enum env _visitors_this _visitors_c0
=
3715 let _visitors_r0 = self#on_list self#on_string env _visitors_c0
in
3716 if Pervasives.(==) _visitors_c0
_visitors_r0
3718 else CA_enum
_visitors_r0
3719 method on_ca_type env _visitors_this
=
3720 match _visitors_this
with
3721 | CA_hint _visitors_c0
as _visitors_this
->
3722 self#on_CA_hint env _visitors_this _visitors_c0
3723 | CA_enum _visitors_c0
as _visitors_this
->
3724 self#on_CA_enum env _visitors_this _visitors_c0
3725 method on_class_var env
3726 ((_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
) =
3727 let _visitors_r0 = self#on_pos env _visitors_c0
in
3728 let _visitors_r1 = self#on_id env _visitors_c1
in
3729 let _visitors_r2 = self#on_option self#on_expr env _visitors_c2
in
3731 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
3732 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
3733 (Pervasives.(==) _visitors_c2
_visitors_r2))
3735 else (_visitors_r0, _visitors_r1, _visitors_r2)
3736 method on_class_vars_ env _visitors_this
=
3738 self#on_list self#on_kind env _visitors_this
.cv_kinds
in
3740 self#on_option self#on_hint env _visitors_this
.cv_hint
in
3742 self#on_is_variadic env _visitors_this
.cv_is_promoted_variadic
3745 self#on_list self#on_class_var env _visitors_this
.cv_names
in
3747 self#on_option self#on_string env _visitors_this
.cv_doc_comment
3750 self#on_list self#on_user_attribute env
3751 _visitors_this
.cv_user_attributes
3755 (Pervasives.(==) _visitors_this
.cv_kinds
_visitors_r0)
3757 (Pervasives.(==) _visitors_this
.cv_hint
_visitors_r1)
3759 (Pervasives.(==) _visitors_this
.cv_is_promoted_variadic
3762 (Pervasives.(==) _visitors_this
.cv_names
_visitors_r3)
3764 (Pervasives.(==) _visitors_this
.cv_doc_comment
3766 (Pervasives.(==) _visitors_this
.cv_user_attributes
3771 cv_kinds
= _visitors_r0;
3772 cv_hint
= _visitors_r1;
3773 cv_is_promoted_variadic
= _visitors_r2;
3774 cv_names
= _visitors_r3;
3775 cv_doc_comment
= _visitors_r4;
3776 cv_user_attributes
= _visitors_r5
3778 method on_method_ env _visitors_this
=
3780 self#on_list self#on_kind env _visitors_this
.m_kind
in
3782 self#on_list self#on_tparam env _visitors_this
.m_tparams
in
3787 ((_visitors_c0
,_visitors_c1
,_visitors_c2
) as
3790 let _visitors_r0 = self#on_hint env _visitors_c0
in
3792 self#on_constraint_kind env _visitors_c1
in
3793 let _visitors_r2 = self#on_hint env _visitors_c2
in
3796 (Pervasives.(==) _visitors_c0
_visitors_r0)
3798 (Pervasives.(==) _visitors_c1
_visitors_r1)
3799 (Pervasives.(==) _visitors_c2
_visitors_r2))
3801 else (_visitors_r0, _visitors_r1, _visitors_r2)) env
3802 _visitors_this
.m_constrs
3804 let _visitors_r3 = self#on_id env _visitors_this
.m_name
in
3806 self#on_list self#on_fun_param env _visitors_this
.m_params
in
3807 let _visitors_r5 = self#on_block env _visitors_this
.m_body
in
3809 self#on_list self#on_user_attribute env
3810 _visitors_this
.m_user_attributes
3813 self#on_option self#on_hint env _visitors_this
.m_ret
in
3814 let _visitors_r8 = self#on_bool env _visitors_this
.m_ret_by_ref
in
3815 let _visitors_r9 = self#on_fun_kind env _visitors_this
.m_fun_kind
3817 let _visitors_r10 = self#on_pos env _visitors_this
.m_span
in
3819 self#on_option self#on_string env _visitors_this
.m_doc_comment
3823 (Pervasives.(==) _visitors_this
.m_kind
_visitors_r0)
3825 (Pervasives.(==) _visitors_this
.m_tparams
_visitors_r1)
3827 (Pervasives.(==) _visitors_this
.m_constrs
_visitors_r2)
3829 (Pervasives.(==) _visitors_this
.m_name
_visitors_r3)
3831 (Pervasives.(==) _visitors_this
.m_params
3834 (Pervasives.(==) _visitors_this
.m_body
3838 _visitors_this
.m_user_attributes
3841 (Pervasives.(==) _visitors_this
.m_ret
3845 _visitors_this
.m_ret_by_ref
3849 _visitors_this
.m_fun_kind
3853 _visitors_this
.m_span
3856 _visitors_this
.m_doc_comment
3857 _visitors_r11)))))))))))
3861 m_kind
= _visitors_r0;
3862 m_tparams
= _visitors_r1;
3863 m_constrs
= _visitors_r2;
3864 m_name
= _visitors_r3;
3865 m_params
= _visitors_r4;
3866 m_body
= _visitors_r5;
3867 m_user_attributes
= _visitors_r6;
3868 m_ret
= _visitors_r7;
3869 m_ret_by_ref
= _visitors_r8;
3870 m_fun_kind
= _visitors_r9;
3871 m_span
= _visitors_r10;
3872 m_doc_comment
= _visitors_r11
3874 method on_typeconst env _visitors_this
=
3875 let _visitors_r0 = self#on_bool env _visitors_this
.tconst_abstract
3877 let _visitors_r1 = self#on_id env _visitors_this
.tconst_name
in
3879 self#on_list self#on_tparam env _visitors_this
.tconst_tparams
in
3881 self#on_option self#on_hint env _visitors_this
.tconst_constraint
3884 self#on_option self#on_hint env _visitors_this
.tconst_type
in
3885 let _visitors_r5 = self#on_pos env _visitors_this
.tconst_span
in
3888 (Pervasives.(==) _visitors_this
.tconst_abstract
_visitors_r0)
3890 (Pervasives.(==) _visitors_this
.tconst_name
_visitors_r1)
3892 (Pervasives.(==) _visitors_this
.tconst_tparams
3895 (Pervasives.(==) _visitors_this
.tconst_constraint
3898 (Pervasives.(==) _visitors_this
.tconst_type
3900 (Pervasives.(==) _visitors_this
.tconst_span
3905 tconst_abstract
= _visitors_r0;
3906 tconst_name
= _visitors_r1;
3907 tconst_tparams
= _visitors_r2;
3908 tconst_constraint
= _visitors_r3;
3909 tconst_type
= _visitors_r4;
3910 tconst_span
= _visitors_r5
3912 method on_is_reference env
= self#on_bool env
3913 method on_is_variadic env
= self#on_bool env
3914 method on_fun_param env _visitors_this
=
3916 self#on_option self#on_hint env _visitors_this
.param_hint
in
3918 self#on_is_reference env _visitors_this
.param_is_reference
in
3920 self#on_is_variadic env _visitors_this
.param_is_variadic
in
3921 let _visitors_r3 = self#on_id env _visitors_this
.param_id
in
3923 self#on_option self#on_expr env _visitors_this
.param_expr
in
3925 self#on_option self#on_kind env _visitors_this
.param_modifier
in
3927 self#on_option self#on_param_kind env
3928 _visitors_this
.param_callconv
3931 self#on_list self#on_user_attribute env
3932 _visitors_this
.param_user_attributes
3936 (Pervasives.(==) _visitors_this
.param_hint
_visitors_r0)
3938 (Pervasives.(==) _visitors_this
.param_is_reference
3941 (Pervasives.(==) _visitors_this
.param_is_variadic
3944 (Pervasives.(==) _visitors_this
.param_id
_visitors_r3)
3946 (Pervasives.(==) _visitors_this
.param_expr
3949 (Pervasives.(==) _visitors_this
.param_modifier
3953 _visitors_this
.param_callconv
_visitors_r6)
3955 _visitors_this
.param_user_attributes
3960 param_hint
= _visitors_r0;
3961 param_is_reference
= _visitors_r1;
3962 param_is_variadic
= _visitors_r2;
3963 param_id
= _visitors_r3;
3964 param_expr
= _visitors_r4;
3965 param_modifier
= _visitors_r5;
3966 param_callconv
= _visitors_r6;
3967 param_user_attributes
= _visitors_r7
3969 method on_fun_ env _visitors_this
=
3970 let _visitors_r0 = self#on_fimode env _visitors_this
.f_mode
in
3972 self#on_list self#on_tparam env _visitors_this
.f_tparams
in
3977 ((_visitors_c0
,_visitors_c1
,_visitors_c2
) as
3980 let _visitors_r0 = self#on_hint env _visitors_c0
in
3982 self#on_constraint_kind env _visitors_c1
in
3983 let _visitors_r2 = self#on_hint env _visitors_c2
in
3986 (Pervasives.(==) _visitors_c0
_visitors_r0)
3988 (Pervasives.(==) _visitors_c1
_visitors_r1)
3989 (Pervasives.(==) _visitors_c2
_visitors_r2))
3991 else (_visitors_r0, _visitors_r1, _visitors_r2)) env
3992 _visitors_this
.f_constrs
3995 self#on_option self#on_hint env _visitors_this
.f_ret
in
3996 let _visitors_r4 = self#on_bool env _visitors_this
.f_ret_by_ref
in
3997 let _visitors_r5 = self#on_id env _visitors_this
.f_name
in
3999 self#on_list self#on_fun_param env _visitors_this
.f_params
in
4000 let _visitors_r7 = self#on_block env _visitors_this
.f_body
in
4002 self#on_list self#on_user_attribute env
4003 _visitors_this
.f_user_attributes
4005 let _visitors_r9 = self#on_fun_kind env _visitors_this
.f_fun_kind
4007 let _visitors_r10 = self#on_nsenv env _visitors_this
.f_namespace
4009 let _visitors_r11 = self#on_pos env _visitors_this
.f_span
in
4011 self#on_option self#on_string env _visitors_this
.f_doc_comment
4013 let _visitors_r13 = self#on_bool env _visitors_this
.f_static
in
4016 (Pervasives.(==) _visitors_this
.f_mode
_visitors_r0)
4018 (Pervasives.(==) _visitors_this
.f_tparams
_visitors_r1)
4020 (Pervasives.(==) _visitors_this
.f_constrs
_visitors_r2)
4022 (Pervasives.(==) _visitors_this
.f_ret
_visitors_r3)
4024 (Pervasives.(==) _visitors_this
.f_ret_by_ref
4027 (Pervasives.(==) _visitors_this
.f_name
4030 (Pervasives.(==) _visitors_this
.f_params
4033 (Pervasives.(==) _visitors_this
.f_body
4037 _visitors_this
.f_user_attributes
4041 _visitors_this
.f_fun_kind
4045 _visitors_this
.f_namespace
4049 _visitors_this
.f_span
4053 _visitors_this
.f_doc_comment
4056 _visitors_this
.f_static
4057 _visitors_r13)))))))))))))
4061 f_mode
= _visitors_r0;
4062 f_tparams
= _visitors_r1;
4063 f_constrs
= _visitors_r2;
4064 f_ret
= _visitors_r3;
4065 f_ret_by_ref
= _visitors_r4;
4066 f_name
= _visitors_r5;
4067 f_params
= _visitors_r6;
4068 f_body
= _visitors_r7;
4069 f_user_attributes
= _visitors_r8;
4070 f_fun_kind
= _visitors_r9;
4071 f_namespace
= _visitors_r10;
4072 f_span
= _visitors_r11;
4073 f_doc_comment
= _visitors_r12;
4074 f_static
= _visitors_r13
4076 method on_is_coroutine env
= self#on_bool env
4077 method on_hint env
((_visitors_c0
,_visitors_c1
) as _visitors_this
) =
4078 let _visitors_r0 = self#on_pos env _visitors_c0
in
4079 let _visitors_r1 = self#on_hint_ env _visitors_c1
in
4081 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4082 (Pervasives.(==) _visitors_c1
_visitors_r1)
4084 else (_visitors_r0, _visitors_r1)
4085 method on_Hvariadic env _visitors_this _visitors_c0
=
4086 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
4087 if Pervasives.(==) _visitors_c0
_visitors_r0
4089 else Hvariadic
_visitors_r0
4090 method on_Hnon_variadic env _visitors_this
=
4091 if true then _visitors_this
else Hnon_variadic
4092 method on_variadic_hint env _visitors_this
=
4093 match _visitors_this
with
4094 | Hvariadic _visitors_c0
as _visitors_this
->
4095 self#on_Hvariadic env _visitors_this _visitors_c0
4096 | Hnon_variadic
as _visitors_this
->
4097 self#on_Hnon_variadic env _visitors_this
4098 method on_Hoption env _visitors_this _visitors_c0
=
4099 let _visitors_r0 = self#on_hint env _visitors_c0
in
4100 if Pervasives.(==) _visitors_c0
_visitors_r0
4102 else Hoption
_visitors_r0
4103 method on_Hfun env _visitors_this _visitors_c0 _visitors_c1
4104 _visitors_c2 _visitors_c3 _visitors_c4
=
4105 let _visitors_r0 = self#on_is_coroutine env _visitors_c0
in
4106 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
4108 self#on_list
(self#on_option self#on_param_kind
) env _visitors_c2
4110 let _visitors_r3 = self#on_variadic_hint env _visitors_c3
in
4111 let _visitors_r4 = self#on_hint env _visitors_c4
in
4113 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4114 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4115 (Pervasives.(&&) (Pervasives.(==) _visitors_c2
_visitors_r2)
4117 (Pervasives.(==) _visitors_c3
_visitors_r3)
4118 (Pervasives.(==) _visitors_c4
_visitors_r4))))
4122 (_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3,
4124 method on_Htuple env _visitors_this _visitors_c0
=
4125 let _visitors_r0 = self#on_list self#on_hint env _visitors_c0
in
4126 if Pervasives.(==) _visitors_c0
_visitors_r0
4128 else Htuple
_visitors_r0
4129 method on_Happly env _visitors_this _visitors_c0 _visitors_c1
=
4130 let _visitors_r0 = self#on_id env _visitors_c0
in
4131 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
4133 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4134 (Pervasives.(==) _visitors_c1
_visitors_r1)
4136 else Happly
(_visitors_r0, _visitors_r1)
4137 method on_Hshape env _visitors_this _visitors_c0
=
4138 let _visitors_r0 = self#on_shape_info env _visitors_c0
in
4139 if Pervasives.(==) _visitors_c0
_visitors_r0
4141 else Hshape
_visitors_r0
4142 method on_Haccess env _visitors_this _visitors_c0 _visitors_c1
4144 let _visitors_r0 = self#on_id env _visitors_c0
in
4145 let _visitors_r1 = self#on_id env _visitors_c1
in
4146 let _visitors_r2 = self#on_list self#on_id env _visitors_c2
in
4148 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4149 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4150 (Pervasives.(==) _visitors_c2
_visitors_r2))
4152 else Haccess
(_visitors_r0, _visitors_r1, _visitors_r2)
4153 method on_Hsoft env _visitors_this _visitors_c0
=
4154 let _visitors_r0 = self#on_hint env _visitors_c0
in
4155 if Pervasives.(==) _visitors_c0
_visitors_r0
4157 else Hsoft
_visitors_r0
4158 method on_hint_ env _visitors_this
=
4159 match _visitors_this
with
4160 | Hoption _visitors_c0
as _visitors_this
->
4161 self#on_Hoption env _visitors_this _visitors_c0
4163 (_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
,_visitors_c4
)
4164 as _visitors_this
->
4165 self#on_Hfun env _visitors_this _visitors_c0 _visitors_c1
4166 _visitors_c2 _visitors_c3 _visitors_c4
4167 | Htuple _visitors_c0
as _visitors_this
->
4168 self#on_Htuple env _visitors_this _visitors_c0
4169 | Happly
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4170 self#on_Happly env _visitors_this _visitors_c0 _visitors_c1
4171 | Hshape _visitors_c0
as _visitors_this
->
4172 self#on_Hshape env _visitors_this _visitors_c0
4173 | Haccess
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as
4175 self#on_Haccess env _visitors_this _visitors_c0 _visitors_c1
4177 | Hsoft _visitors_c0
as _visitors_this
->
4178 self#on_Hsoft env _visitors_this _visitors_c0
4179 method on_shape_info env _visitors_this
=
4181 self#on_bool env _visitors_this
.si_allows_unknown_fields
in
4183 self#on_list self#on_shape_field env
4184 _visitors_this
.si_shape_field_list
4188 (Pervasives.(==) _visitors_this
.si_allows_unknown_fields
4190 (Pervasives.(==) _visitors_this
.si_shape_field_list
4195 si_allows_unknown_fields
= _visitors_r0;
4196 si_shape_field_list
= _visitors_r1
4198 method on_shape_field env _visitors_this
=
4199 let _visitors_r0 = self#on_bool env _visitors_this
.sf_optional
in
4201 self#on_shape_field_name env _visitors_this
.sf_name
in
4202 let _visitors_r2 = self#on_hint env _visitors_this
.sf_hint
in
4205 (Pervasives.(==) _visitors_this
.sf_optional
_visitors_r0)
4207 (Pervasives.(==) _visitors_this
.sf_name
_visitors_r1)
4208 (Pervasives.(==) _visitors_this
.sf_hint
_visitors_r2))
4212 sf_optional
= _visitors_r0;
4213 sf_name
= _visitors_r1;
4214 sf_hint
= _visitors_r2
4216 method on_using_stmt env _visitors_this
=
4218 self#on_bool env _visitors_this
.us_is_block_scoped
in
4219 let _visitors_r1 = self#on_bool env _visitors_this
.us_has_await
in
4220 let _visitors_r2 = self#on_expr env _visitors_this
.us_expr
in
4221 let _visitors_r3 = self#on_block env _visitors_this
.us_block
in
4224 (Pervasives.(==) _visitors_this
.us_is_block_scoped
_visitors_r0)
4226 (Pervasives.(==) _visitors_this
.us_has_await
_visitors_r1)
4228 (Pervasives.(==) _visitors_this
.us_expr
_visitors_r2)
4229 (Pervasives.(==) _visitors_this
.us_block
_visitors_r3)))
4233 us_is_block_scoped
= _visitors_r0;
4234 us_has_await
= _visitors_r1;
4235 us_expr
= _visitors_r2;
4236 us_block
= _visitors_r3
4238 method on_stmt env
((_visitors_c0
,_visitors_c1
) as _visitors_this
) =
4239 let _visitors_r0 = self#on_pos env _visitors_c0
in
4240 let _visitors_r1 = self#on_stmt_ env _visitors_c1
in
4242 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4243 (Pervasives.(==) _visitors_c1
_visitors_r1)
4245 else (_visitors_r0, _visitors_r1)
4246 method on_Unsafe env _visitors_this
=
4247 if true then _visitors_this
else Unsafe
4248 method on_Fallthrough env _visitors_this
=
4249 if true then _visitors_this
else Fallthrough
4250 method on_Expr env _visitors_this _visitors_c0
=
4251 let _visitors_r0 = self#on_expr env _visitors_c0
in
4252 if Pervasives.(==) _visitors_c0
_visitors_r0
4254 else Expr
_visitors_r0
4255 method on_Block env _visitors_this _visitors_c0
=
4256 let _visitors_r0 = self#on_block env _visitors_c0
in
4257 if Pervasives.(==) _visitors_c0
_visitors_r0
4259 else Block
_visitors_r0
4260 method on_Break env _visitors_this _visitors_c0
=
4261 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
4262 if Pervasives.(==) _visitors_c0
_visitors_r0
4264 else Break
_visitors_r0
4265 method on_Continue env _visitors_this _visitors_c0
=
4266 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
4267 if Pervasives.(==) _visitors_c0
_visitors_r0
4269 else Continue
_visitors_r0
4270 method on_Throw env _visitors_this _visitors_c0
=
4271 let _visitors_r0 = self#on_expr env _visitors_c0
in
4272 if Pervasives.(==) _visitors_c0
_visitors_r0
4274 else Throw
_visitors_r0
4275 method on_Return env _visitors_this _visitors_c0
=
4276 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
4277 if Pervasives.(==) _visitors_c0
_visitors_r0
4279 else Return
_visitors_r0
4280 method on_GotoLabel env _visitors_this _visitors_c0
=
4281 let _visitors_r0 = self#on_pstring env _visitors_c0
in
4282 if Pervasives.(==) _visitors_c0
_visitors_r0
4284 else GotoLabel
_visitors_r0
4285 method on_Goto env _visitors_this _visitors_c0
=
4286 let _visitors_r0 = self#on_pstring env _visitors_c0
in
4287 if Pervasives.(==) _visitors_c0
_visitors_r0
4289 else Goto
_visitors_r0
4290 method on_Static_var env _visitors_this _visitors_c0
=
4291 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
4292 if Pervasives.(==) _visitors_c0
_visitors_r0
4294 else Static_var
_visitors_r0
4295 method on_Global_var env _visitors_this _visitors_c0
=
4296 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
4297 if Pervasives.(==) _visitors_c0
_visitors_r0
4299 else Global_var
_visitors_r0
4300 method on_If env _visitors_this _visitors_c0 _visitors_c1
4302 let _visitors_r0 = self#on_expr env _visitors_c0
in
4303 let _visitors_r1 = self#on_block env _visitors_c1
in
4304 let _visitors_r2 = self#on_block env _visitors_c2
in
4306 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4307 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4308 (Pervasives.(==) _visitors_c2
_visitors_r2))
4310 else If
(_visitors_r0, _visitors_r1, _visitors_r2)
4311 method on_Do env _visitors_this _visitors_c0 _visitors_c1
=
4312 let _visitors_r0 = self#on_block env _visitors_c0
in
4313 let _visitors_r1 = self#on_expr env _visitors_c1
in
4315 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4316 (Pervasives.(==) _visitors_c1
_visitors_r1)
4318 else Do
(_visitors_r0, _visitors_r1)
4319 method on_While env _visitors_this _visitors_c0 _visitors_c1
=
4320 let _visitors_r0 = self#on_expr env _visitors_c0
in
4321 let _visitors_r1 = self#on_block env _visitors_c1
in
4323 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4324 (Pervasives.(==) _visitors_c1
_visitors_r1)
4326 else While
(_visitors_r0, _visitors_r1)
4327 method on_For env _visitors_this _visitors_c0 _visitors_c1
4328 _visitors_c2 _visitors_c3
=
4329 let _visitors_r0 = self#on_expr env _visitors_c0
in
4330 let _visitors_r1 = self#on_expr env _visitors_c1
in
4331 let _visitors_r2 = self#on_expr env _visitors_c2
in
4332 let _visitors_r3 = self#on_block env _visitors_c3
in
4334 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4335 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4336 (Pervasives.(&&) (Pervasives.(==) _visitors_c2
_visitors_r2)
4337 (Pervasives.(==) _visitors_c3
_visitors_r3)))
4339 else For
(_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
4340 method on_Switch env _visitors_this _visitors_c0 _visitors_c1
=
4341 let _visitors_r0 = self#on_expr env _visitors_c0
in
4342 let _visitors_r1 = self#on_list self#on_case env _visitors_c1
in
4344 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4345 (Pervasives.(==) _visitors_c1
_visitors_r1)
4347 else Switch
(_visitors_r0, _visitors_r1)
4348 method on_Foreach env _visitors_this _visitors_c0 _visitors_c1
4349 _visitors_c2 _visitors_c3
=
4350 let _visitors_r0 = self#on_expr env _visitors_c0
in
4351 let _visitors_r1 = self#on_option self#on_pos env _visitors_c1
in
4352 let _visitors_r2 = self#on_as_expr env _visitors_c2
in
4353 let _visitors_r3 = self#on_block env _visitors_c3
in
4355 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4356 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4357 (Pervasives.(&&) (Pervasives.(==) _visitors_c2
_visitors_r2)
4358 (Pervasives.(==) _visitors_c3
_visitors_r3)))
4361 Foreach
(_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
4362 method on_Try env _visitors_this _visitors_c0 _visitors_c1
4364 let _visitors_r0 = self#on_block env _visitors_c0
in
4365 let _visitors_r1 = self#on_list self#on_catch env _visitors_c1
in
4366 let _visitors_r2 = self#on_block env _visitors_c2
in
4368 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4369 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4370 (Pervasives.(==) _visitors_c2
_visitors_r2))
4372 else Try
(_visitors_r0, _visitors_r1, _visitors_r2)
4373 method on_Def_inline env _visitors_this _visitors_c0
=
4374 let _visitors_r0 = self#on_def env _visitors_c0
in
4375 if Pervasives.(==) _visitors_c0
_visitors_r0
4377 else Def_inline
_visitors_r0
4378 method on_Noop env _visitors_this
=
4379 if true then _visitors_this
else Noop
4380 method on_Markup env _visitors_this _visitors_c0 _visitors_c1
=
4381 let _visitors_r0 = self#on_pstring env _visitors_c0
in
4382 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
4384 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4385 (Pervasives.(==) _visitors_c1
_visitors_r1)
4387 else Markup
(_visitors_r0, _visitors_r1)
4388 method on_Using env _visitors_this _visitors_c0
=
4389 let _visitors_r0 = self#on_using_stmt env _visitors_c0
in
4390 if Pervasives.(==) _visitors_c0
_visitors_r0
4392 else Using
_visitors_r0
4393 method on_Declare env _visitors_this _visitors_c0 _visitors_c1
4395 let _visitors_r0 = self#on_bool env _visitors_c0
in
4396 let _visitors_r1 = self#on_expr env _visitors_c1
in
4397 let _visitors_r2 = self#on_block env _visitors_c2
in
4399 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4400 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4401 (Pervasives.(==) _visitors_c2
_visitors_r2))
4403 else Declare
(_visitors_r0, _visitors_r1, _visitors_r2)
4404 method on_stmt_ env _visitors_this
=
4405 match _visitors_this
with
4406 | Unsafe
as _visitors_this
-> self#on_Unsafe env _visitors_this
4407 | Fallthrough
as _visitors_this
->
4408 self#on_Fallthrough env _visitors_this
4409 | Expr _visitors_c0
as _visitors_this
->
4410 self#on_Expr env _visitors_this _visitors_c0
4411 | Block _visitors_c0
as _visitors_this
->
4412 self#on_Block env _visitors_this _visitors_c0
4413 | Break _visitors_c0
as _visitors_this
->
4414 self#on_Break env _visitors_this _visitors_c0
4415 | Continue _visitors_c0
as _visitors_this
->
4416 self#on_Continue env _visitors_this _visitors_c0
4417 | Throw _visitors_c0
as _visitors_this
->
4418 self#on_Throw env _visitors_this _visitors_c0
4419 | Return _visitors_c0
as _visitors_this
->
4420 self#on_Return env _visitors_this _visitors_c0
4421 | GotoLabel _visitors_c0
as _visitors_this
->
4422 self#on_GotoLabel env _visitors_this _visitors_c0
4423 | Goto _visitors_c0
as _visitors_this
->
4424 self#on_Goto env _visitors_this _visitors_c0
4425 | Static_var _visitors_c0
as _visitors_this
->
4426 self#on_Static_var env _visitors_this _visitors_c0
4427 | Global_var _visitors_c0
as _visitors_this
->
4428 self#on_Global_var env _visitors_this _visitors_c0
4429 | If
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
->
4430 self#on_If env _visitors_this _visitors_c0 _visitors_c1
4432 | Do
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4433 self#on_Do env _visitors_this _visitors_c0 _visitors_c1
4434 | While
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4435 self#on_While env _visitors_this _visitors_c0 _visitors_c1
4436 | For
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) as
4438 self#on_For env _visitors_this _visitors_c0 _visitors_c1
4439 _visitors_c2 _visitors_c3
4440 | Switch
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4441 self#on_Switch env _visitors_this _visitors_c0 _visitors_c1
4442 | Foreach
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) as
4444 self#on_Foreach env _visitors_this _visitors_c0 _visitors_c1
4445 _visitors_c2 _visitors_c3
4446 | Try
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
->
4447 self#on_Try env _visitors_this _visitors_c0 _visitors_c1
4449 | Def_inline _visitors_c0
as _visitors_this
->
4450 self#on_Def_inline env _visitors_this _visitors_c0
4451 | Noop
as _visitors_this
-> self#on_Noop env _visitors_this
4452 | Markup
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4453 self#on_Markup env _visitors_this _visitors_c0 _visitors_c1
4454 | Using _visitors_c0
as _visitors_this
->
4455 self#on_Using env _visitors_this _visitors_c0
4456 | Declare
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as
4458 self#on_Declare env _visitors_this _visitors_c0 _visitors_c1
4460 method on_As_v env _visitors_this _visitors_c0
=
4461 let _visitors_r0 = self#on_expr env _visitors_c0
in
4462 if Pervasives.(==) _visitors_c0
_visitors_r0
4464 else As_v
_visitors_r0
4465 method on_As_kv env _visitors_this _visitors_c0 _visitors_c1
=
4466 let _visitors_r0 = self#on_expr env _visitors_c0
in
4467 let _visitors_r1 = self#on_expr env _visitors_c1
in
4469 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4470 (Pervasives.(==) _visitors_c1
_visitors_r1)
4472 else As_kv
(_visitors_r0, _visitors_r1)
4473 method on_as_expr env _visitors_this
=
4474 match _visitors_this
with
4475 | As_v _visitors_c0
as _visitors_this
->
4476 self#on_As_v env _visitors_this _visitors_c0
4477 | As_kv
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4478 self#on_As_kv env _visitors_this _visitors_c0 _visitors_c1
4479 method on_Xhp_simple env _visitors_this _visitors_c0 _visitors_c1
=
4480 let _visitors_r0 = self#on_id env _visitors_c0
in
4481 let _visitors_r1 = self#on_expr env _visitors_c1
in
4483 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4484 (Pervasives.(==) _visitors_c1
_visitors_r1)
4486 else Xhp_simple
(_visitors_r0, _visitors_r1)
4487 method on_Xhp_spread env _visitors_this _visitors_c0
=
4488 let _visitors_r0 = self#on_expr env _visitors_c0
in
4489 if Pervasives.(==) _visitors_c0
_visitors_r0
4491 else Xhp_spread
_visitors_r0
4492 method on_xhp_attribute env _visitors_this
=
4493 match _visitors_this
with
4494 | Xhp_simple
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4495 self#on_Xhp_simple env _visitors_this _visitors_c0 _visitors_c1
4496 | Xhp_spread _visitors_c0
as _visitors_this
->
4497 self#on_Xhp_spread env _visitors_this _visitors_c0
4498 method on_block env
= self#on_list self#on_stmt env
4499 method on_expr env
((_visitors_c0
,_visitors_c1
) as _visitors_this
) =
4500 let _visitors_r0 = self#on_pos env _visitors_c0
in
4501 let _visitors_r1 = self#on_expr_ env _visitors_c1
in
4503 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4504 (Pervasives.(==) _visitors_c1
_visitors_r1)
4506 else (_visitors_r0, _visitors_r1)
4507 method on_Array env _visitors_this _visitors_c0
=
4508 let _visitors_r0 = self#on_list self#on_afield env _visitors_c0
in
4509 if Pervasives.(==) _visitors_c0
_visitors_r0
4511 else Array
_visitors_r0
4512 method on_Varray env _visitors_this _visitors_c0
=
4513 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
4514 if Pervasives.(==) _visitors_c0
_visitors_r0
4516 else Varray
_visitors_r0
4517 method on_Darray env _visitors_this _visitors_c0
=
4521 fun ((_visitors_c0
,_visitors_c1
) as _visitors_this
) ->
4522 let _visitors_r0 = self#on_expr env _visitors_c0
in
4523 let _visitors_r1 = self#on_expr env _visitors_c1
in
4526 (Pervasives.(==) _visitors_c0
_visitors_r0)
4527 (Pervasives.(==) _visitors_c1
_visitors_r1)
4529 else (_visitors_r0, _visitors_r1)) env _visitors_c0
4531 if Pervasives.(==) _visitors_c0
_visitors_r0
4533 else Darray
_visitors_r0
4534 method on_Shape env _visitors_this _visitors_c0
=
4538 fun ((_visitors_c0
,_visitors_c1
) as _visitors_this
) ->
4540 self#on_shape_field_name env _visitors_c0
in
4541 let _visitors_r1 = self#on_expr env _visitors_c1
in
4544 (Pervasives.(==) _visitors_c0
_visitors_r0)
4545 (Pervasives.(==) _visitors_c1
_visitors_r1)
4547 else (_visitors_r0, _visitors_r1)) env _visitors_c0
4549 if Pervasives.(==) _visitors_c0
_visitors_r0
4551 else Shape
_visitors_r0
4552 method on_Collection env _visitors_this _visitors_c0 _visitors_c1
=
4553 let _visitors_r0 = self#on_id env _visitors_c0
in
4554 let _visitors_r1 = self#on_list self#on_afield env _visitors_c1
in
4556 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4557 (Pervasives.(==) _visitors_c1
_visitors_r1)
4559 else Collection
(_visitors_r0, _visitors_r1)
4560 method on_Null env _visitors_this
=
4561 if true then _visitors_this
else Null
4562 method on_True env _visitors_this
=
4563 if true then _visitors_this
else True
4564 method on_False env _visitors_this
=
4565 if true then _visitors_this
else False
4566 method on_Omitted env _visitors_this
=
4567 if true then _visitors_this
else Omitted
4568 method on_Id env _visitors_this _visitors_c0
=
4569 let _visitors_r0 = self#on_id env _visitors_c0
in
4570 if Pervasives.(==) _visitors_c0
_visitors_r0
4572 else Id
_visitors_r0
4573 method on_Id_type_arguments env _visitors_this _visitors_c0
4575 let _visitors_r0 = self#on_id env _visitors_c0
in
4576 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
4578 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4579 (Pervasives.(==) _visitors_c1
_visitors_r1)
4581 else Id_type_arguments
(_visitors_r0, _visitors_r1)
4582 method on_Lvar env _visitors_this _visitors_c0
=
4583 let _visitors_r0 = self#on_id env _visitors_c0
in
4584 if Pervasives.(==) _visitors_c0
_visitors_r0
4586 else Lvar
_visitors_r0
4587 method on_Dollar env _visitors_this _visitors_c0
=
4588 let _visitors_r0 = self#on_expr env _visitors_c0
in
4589 if Pervasives.(==) _visitors_c0
_visitors_r0
4591 else Dollar
_visitors_r0
4592 method on_Clone env _visitors_this _visitors_c0
=
4593 let _visitors_r0 = self#on_expr env _visitors_c0
in
4594 if Pervasives.(==) _visitors_c0
_visitors_r0
4596 else Clone
_visitors_r0
4597 method on_Obj_get env _visitors_this _visitors_c0 _visitors_c1
4599 let _visitors_r0 = self#on_expr env _visitors_c0
in
4600 let _visitors_r1 = self#on_expr env _visitors_c1
in
4601 let _visitors_r2 = self#on_og_null_flavor env _visitors_c2
in
4603 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4604 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4605 (Pervasives.(==) _visitors_c2
_visitors_r2))
4607 else Obj_get
(_visitors_r0, _visitors_r1, _visitors_r2)
4608 method on_Array_get env _visitors_this _visitors_c0 _visitors_c1
=
4609 let _visitors_r0 = self#on_expr env _visitors_c0
in
4610 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
4612 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4613 (Pervasives.(==) _visitors_c1
_visitors_r1)
4615 else Array_get
(_visitors_r0, _visitors_r1)
4616 method on_Class_get env _visitors_this _visitors_c0 _visitors_c1
=
4617 let _visitors_r0 = self#on_expr env _visitors_c0
in
4618 let _visitors_r1 = self#on_expr env _visitors_c1
in
4620 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4621 (Pervasives.(==) _visitors_c1
_visitors_r1)
4623 else Class_get
(_visitors_r0, _visitors_r1)
4624 method on_Class_const env _visitors_this _visitors_c0 _visitors_c1
=
4625 let _visitors_r0 = self#on_expr env _visitors_c0
in
4626 let _visitors_r1 = self#on_pstring env _visitors_c1
in
4628 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4629 (Pervasives.(==) _visitors_c1
_visitors_r1)
4631 else Class_const
(_visitors_r0, _visitors_r1)
4632 method on_Call env _visitors_this _visitors_c0 _visitors_c1
4633 _visitors_c2 _visitors_c3
=
4634 let _visitors_r0 = self#on_expr env _visitors_c0
in
4635 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
4636 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
4637 let _visitors_r3 = self#on_list self#on_expr env _visitors_c3
in
4639 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4640 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4641 (Pervasives.(&&) (Pervasives.(==) _visitors_c2
_visitors_r2)
4642 (Pervasives.(==) _visitors_c3
_visitors_r3)))
4644 else Call
(_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
4645 method on_Int env _visitors_this _visitors_c0
=
4646 let _visitors_r0 = self#on_pstring env _visitors_c0
in
4647 if Pervasives.(==) _visitors_c0
_visitors_r0
4649 else Int
_visitors_r0
4650 method on_Float env _visitors_this _visitors_c0
=
4651 let _visitors_r0 = self#on_pstring env _visitors_c0
in
4652 if Pervasives.(==) _visitors_c0
_visitors_r0
4654 else Float
_visitors_r0
4655 method on_String env _visitors_this _visitors_c0
=
4656 let _visitors_r0 = self#on_pstring env _visitors_c0
in
4657 if Pervasives.(==) _visitors_c0
_visitors_r0
4659 else String
_visitors_r0
4660 method on_String2 env _visitors_this _visitors_c0
=
4661 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
4662 if Pervasives.(==) _visitors_c0
_visitors_r0
4664 else String2
_visitors_r0
4665 method on_Yield env _visitors_this _visitors_c0
=
4666 let _visitors_r0 = self#on_afield env _visitors_c0
in
4667 if Pervasives.(==) _visitors_c0
_visitors_r0
4669 else Yield
_visitors_r0
4670 method on_Yield_break env _visitors_this
=
4671 if true then _visitors_this
else Yield_break
4672 method on_Yield_from env _visitors_this _visitors_c0
=
4673 let _visitors_r0 = self#on_expr env _visitors_c0
in
4674 if Pervasives.(==) _visitors_c0
_visitors_r0
4676 else Yield_from
_visitors_r0
4677 method on_Await env _visitors_this _visitors_c0
=
4678 let _visitors_r0 = self#on_expr env _visitors_c0
in
4679 if Pervasives.(==) _visitors_c0
_visitors_r0
4681 else Await
_visitors_r0
4682 method on_Suspend env _visitors_this _visitors_c0
=
4683 let _visitors_r0 = self#on_expr env _visitors_c0
in
4684 if Pervasives.(==) _visitors_c0
_visitors_r0
4686 else Suspend
_visitors_r0
4687 method on_List env _visitors_this _visitors_c0
=
4688 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
4689 if Pervasives.(==) _visitors_c0
_visitors_r0
4691 else List
_visitors_r0
4692 method on_Expr_list env _visitors_this _visitors_c0
=
4693 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
4694 if Pervasives.(==) _visitors_c0
_visitors_r0
4696 else Expr_list
_visitors_r0
4697 method on_Cast env _visitors_this _visitors_c0 _visitors_c1
=
4698 let _visitors_r0 = self#on_hint env _visitors_c0
in
4699 let _visitors_r1 = self#on_expr env _visitors_c1
in
4701 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4702 (Pervasives.(==) _visitors_c1
_visitors_r1)
4704 else Cast
(_visitors_r0, _visitors_r1)
4705 method on_Unop env _visitors_this _visitors_c0 _visitors_c1
=
4706 let _visitors_r0 = self#on_uop env _visitors_c0
in
4707 let _visitors_r1 = self#on_expr env _visitors_c1
in
4709 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4710 (Pervasives.(==) _visitors_c1
_visitors_r1)
4712 else Unop
(_visitors_r0, _visitors_r1)
4713 method on_Binop env _visitors_this _visitors_c0 _visitors_c1
4715 let _visitors_r0 = self#on_bop env _visitors_c0
in
4716 let _visitors_r1 = self#on_expr env _visitors_c1
in
4717 let _visitors_r2 = self#on_expr env _visitors_c2
in
4719 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4720 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4721 (Pervasives.(==) _visitors_c2
_visitors_r2))
4723 else Binop
(_visitors_r0, _visitors_r1, _visitors_r2)
4724 method on_Pipe env _visitors_this _visitors_c0 _visitors_c1
=
4725 let _visitors_r0 = self#on_expr env _visitors_c0
in
4726 let _visitors_r1 = self#on_expr env _visitors_c1
in
4728 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4729 (Pervasives.(==) _visitors_c1
_visitors_r1)
4731 else Pipe
(_visitors_r0, _visitors_r1)
4732 method on_Eif env _visitors_this _visitors_c0 _visitors_c1
4734 let _visitors_r0 = self#on_expr env _visitors_c0
in
4735 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
4736 let _visitors_r2 = self#on_expr env _visitors_c2
in
4738 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4739 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4740 (Pervasives.(==) _visitors_c2
_visitors_r2))
4742 else Eif
(_visitors_r0, _visitors_r1, _visitors_r2)
4743 method on_NullCoalesce env _visitors_this _visitors_c0 _visitors_c1
=
4744 let _visitors_r0 = self#on_expr env _visitors_c0
in
4745 let _visitors_r1 = self#on_expr env _visitors_c1
in
4747 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4748 (Pervasives.(==) _visitors_c1
_visitors_r1)
4750 else NullCoalesce
(_visitors_r0, _visitors_r1)
4751 method on_InstanceOf env _visitors_this _visitors_c0 _visitors_c1
=
4752 let _visitors_r0 = self#on_expr env _visitors_c0
in
4753 let _visitors_r1 = self#on_expr env _visitors_c1
in
4755 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4756 (Pervasives.(==) _visitors_c1
_visitors_r1)
4758 else InstanceOf
(_visitors_r0, _visitors_r1)
4759 method on_Is env _visitors_this _visitors_c0 _visitors_c1
=
4760 let _visitors_r0 = self#on_expr env _visitors_c0
in
4761 let _visitors_r1 = self#on_hint env _visitors_c1
in
4763 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4764 (Pervasives.(==) _visitors_c1
_visitors_r1)
4766 else Is
(_visitors_r0, _visitors_r1)
4767 method on_BracedExpr env _visitors_this _visitors_c0
=
4768 let _visitors_r0 = self#on_expr env _visitors_c0
in
4769 if Pervasives.(==) _visitors_c0
_visitors_r0
4771 else BracedExpr
_visitors_r0
4772 method on_ParenthesizedExpr env _visitors_this _visitors_c0
=
4773 let _visitors_r0 = self#on_expr env _visitors_c0
in
4774 if Pervasives.(==) _visitors_c0
_visitors_r0
4776 else ParenthesizedExpr
_visitors_r0
4777 method on_New env _visitors_this _visitors_c0 _visitors_c1
4779 let _visitors_r0 = self#on_expr env _visitors_c0
in
4780 let _visitors_r1 = self#on_list self#on_expr env _visitors_c1
in
4781 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
4783 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4784 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4785 (Pervasives.(==) _visitors_c2
_visitors_r2))
4787 else New
(_visitors_r0, _visitors_r1, _visitors_r2)
4788 method on_NewAnonClass env _visitors_this _visitors_c0 _visitors_c1
4790 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
4791 let _visitors_r1 = self#on_list self#on_expr env _visitors_c1
in
4792 let _visitors_r2 = self#on_class_ env _visitors_c2
in
4794 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4795 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4796 (Pervasives.(==) _visitors_c2
_visitors_r2))
4798 else NewAnonClass
(_visitors_r0, _visitors_r1, _visitors_r2)
4799 method on_Efun env _visitors_this _visitors_c0 _visitors_c1
=
4800 let _visitors_r0 = self#on_fun_ env _visitors_c0
in
4804 fun ((_visitors_c0
,_visitors_c1
) as _visitors_this
) ->
4805 let _visitors_r0 = self#on_id env _visitors_c0
in
4806 let _visitors_r1 = self#on_bool env _visitors_c1
in
4809 (Pervasives.(==) _visitors_c0
_visitors_r0)
4810 (Pervasives.(==) _visitors_c1
_visitors_r1)
4812 else (_visitors_r0, _visitors_r1)) env _visitors_c1
4815 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4816 (Pervasives.(==) _visitors_c1
_visitors_r1)
4818 else Efun
(_visitors_r0, _visitors_r1)
4819 method on_Lfun env _visitors_this _visitors_c0
=
4820 let _visitors_r0 = self#on_fun_ env _visitors_c0
in
4821 if Pervasives.(==) _visitors_c0
_visitors_r0
4823 else Lfun
_visitors_r0
4824 method on_Xml env _visitors_this _visitors_c0 _visitors_c1
4826 let _visitors_r0 = self#on_id env _visitors_c0
in
4828 self#on_list self#on_xhp_attribute env _visitors_c1
in
4829 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
4831 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4832 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
4833 (Pervasives.(==) _visitors_c2
_visitors_r2))
4835 else Xml
(_visitors_r0, _visitors_r1, _visitors_r2)
4836 method on_Unsafeexpr env _visitors_this _visitors_c0
=
4837 let _visitors_r0 = self#on_expr env _visitors_c0
in
4838 if Pervasives.(==) _visitors_c0
_visitors_r0
4840 else Unsafeexpr
_visitors_r0
4841 method on_Import env _visitors_this _visitors_c0 _visitors_c1
=
4842 let _visitors_r0 = self#on_import_flavor env _visitors_c0
in
4843 let _visitors_r1 = self#on_expr env _visitors_c1
in
4845 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4846 (Pervasives.(==) _visitors_c1
_visitors_r1)
4848 else Import
(_visitors_r0, _visitors_r1)
4849 method on_Callconv env _visitors_this _visitors_c0 _visitors_c1
=
4850 let _visitors_r0 = self#on_param_kind env _visitors_c0
in
4851 let _visitors_r1 = self#on_expr env _visitors_c1
in
4853 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4854 (Pervasives.(==) _visitors_c1
_visitors_r1)
4856 else Callconv
(_visitors_r0, _visitors_r1)
4857 method on_Execution_operator env _visitors_this _visitors_c0
=
4858 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
4859 if Pervasives.(==) _visitors_c0
_visitors_r0
4861 else Execution_operator
_visitors_r0
4862 method on_expr_ env _visitors_this
=
4863 match _visitors_this
with
4864 | Array _visitors_c0
as _visitors_this
->
4865 self#on_Array env _visitors_this _visitors_c0
4866 | Varray _visitors_c0
as _visitors_this
->
4867 self#on_Varray env _visitors_this _visitors_c0
4868 | Darray _visitors_c0
as _visitors_this
->
4869 self#on_Darray env _visitors_this _visitors_c0
4870 | Shape _visitors_c0
as _visitors_this
->
4871 self#on_Shape env _visitors_this _visitors_c0
4872 | Collection
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4873 self#on_Collection env _visitors_this _visitors_c0 _visitors_c1
4874 | Null
as _visitors_this
-> self#on_Null env _visitors_this
4875 | True
as _visitors_this
-> self#on_True env _visitors_this
4876 | False
as _visitors_this
-> self#on_False env _visitors_this
4877 | Omitted
as _visitors_this
-> self#on_Omitted env _visitors_this
4878 | Id _visitors_c0
as _visitors_this
->
4879 self#on_Id env _visitors_this _visitors_c0
4880 | Id_type_arguments
(_visitors_c0
,_visitors_c1
) as _visitors_this
4882 self#on_Id_type_arguments env _visitors_this _visitors_c0
4884 | Lvar _visitors_c0
as _visitors_this
->
4885 self#on_Lvar env _visitors_this _visitors_c0
4886 | Dollar _visitors_c0
as _visitors_this
->
4887 self#on_Dollar env _visitors_this _visitors_c0
4888 | Clone _visitors_c0
as _visitors_this
->
4889 self#on_Clone env _visitors_this _visitors_c0
4890 | Obj_get
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as
4892 self#on_Obj_get env _visitors_this _visitors_c0 _visitors_c1
4894 | Array_get
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4895 self#on_Array_get env _visitors_this _visitors_c0 _visitors_c1
4896 | Class_get
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4897 self#on_Class_get env _visitors_this _visitors_c0 _visitors_c1
4898 | Class_const
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4899 self#on_Class_const env _visitors_this _visitors_c0
4901 | Call
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) as
4903 self#on_Call env _visitors_this _visitors_c0 _visitors_c1
4904 _visitors_c2 _visitors_c3
4905 | Int _visitors_c0
as _visitors_this
->
4906 self#on_Int env _visitors_this _visitors_c0
4907 | Float _visitors_c0
as _visitors_this
->
4908 self#on_Float env _visitors_this _visitors_c0
4909 | String _visitors_c0
as _visitors_this
->
4910 self#on_String env _visitors_this _visitors_c0
4911 | String2 _visitors_c0
as _visitors_this
->
4912 self#on_String2 env _visitors_this _visitors_c0
4913 | Yield _visitors_c0
as _visitors_this
->
4914 self#on_Yield env _visitors_this _visitors_c0
4915 | Yield_break
as _visitors_this
->
4916 self#on_Yield_break env _visitors_this
4917 | Yield_from _visitors_c0
as _visitors_this
->
4918 self#on_Yield_from env _visitors_this _visitors_c0
4919 | Await _visitors_c0
as _visitors_this
->
4920 self#on_Await env _visitors_this _visitors_c0
4921 | Suspend _visitors_c0
as _visitors_this
->
4922 self#on_Suspend env _visitors_this _visitors_c0
4923 | List _visitors_c0
as _visitors_this
->
4924 self#on_List env _visitors_this _visitors_c0
4925 | Expr_list _visitors_c0
as _visitors_this
->
4926 self#on_Expr_list env _visitors_this _visitors_c0
4927 | Cast
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4928 self#on_Cast env _visitors_this _visitors_c0 _visitors_c1
4929 | Unop
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4930 self#on_Unop env _visitors_this _visitors_c0 _visitors_c1
4931 | Binop
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
4933 self#on_Binop env _visitors_this _visitors_c0 _visitors_c1
4935 | Pipe
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4936 self#on_Pipe env _visitors_this _visitors_c0 _visitors_c1
4937 | Eif
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
->
4938 self#on_Eif env _visitors_this _visitors_c0 _visitors_c1
4940 | NullCoalesce
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4941 self#on_NullCoalesce env _visitors_this _visitors_c0
4943 | InstanceOf
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4944 self#on_InstanceOf env _visitors_this _visitors_c0 _visitors_c1
4945 | Is
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4946 self#on_Is env _visitors_this _visitors_c0 _visitors_c1
4947 | BracedExpr _visitors_c0
as _visitors_this
->
4948 self#on_BracedExpr env _visitors_this _visitors_c0
4949 | ParenthesizedExpr _visitors_c0
as _visitors_this
->
4950 self#on_ParenthesizedExpr env _visitors_this _visitors_c0
4951 | New
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
->
4952 self#on_New env _visitors_this _visitors_c0 _visitors_c1
4954 | NewAnonClass
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as
4956 self#on_NewAnonClass env _visitors_this _visitors_c0
4957 _visitors_c1 _visitors_c2
4958 | Efun
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4959 self#on_Efun env _visitors_this _visitors_c0 _visitors_c1
4960 | Lfun _visitors_c0
as _visitors_this
->
4961 self#on_Lfun env _visitors_this _visitors_c0
4962 | Xml
(_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
->
4963 self#on_Xml env _visitors_this _visitors_c0 _visitors_c1
4965 | Unsafeexpr _visitors_c0
as _visitors_this
->
4966 self#on_Unsafeexpr env _visitors_this _visitors_c0
4967 | Import
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4968 self#on_Import env _visitors_this _visitors_c0 _visitors_c1
4969 | Callconv
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
4970 self#on_Callconv env _visitors_this _visitors_c0 _visitors_c1
4971 | Execution_operator _visitors_c0
as _visitors_this
->
4972 self#on_Execution_operator env _visitors_this _visitors_c0
4973 method on_Include env _visitors_this
=
4974 if true then _visitors_this
else Include
4975 method on_Require env _visitors_this
=
4976 if true then _visitors_this
else Require
4977 method on_IncludeOnce env _visitors_this
=
4978 if true then _visitors_this
else IncludeOnce
4979 method on_RequireOnce env _visitors_this
=
4980 if true then _visitors_this
else RequireOnce
4981 method on_import_flavor env _visitors_this
=
4982 match _visitors_this
with
4983 | Include
as _visitors_this
-> self#on_Include env _visitors_this
4984 | Require
as _visitors_this
-> self#on_Require env _visitors_this
4985 | IncludeOnce
as _visitors_this
->
4986 self#on_IncludeOnce env _visitors_this
4987 | RequireOnce
as _visitors_this
->
4988 self#on_RequireOnce env _visitors_this
4989 method on_AFvalue env _visitors_this _visitors_c0
=
4990 let _visitors_r0 = self#on_expr env _visitors_c0
in
4991 if Pervasives.(==) _visitors_c0
_visitors_r0
4993 else AFvalue
_visitors_r0
4994 method on_AFkvalue env _visitors_this _visitors_c0 _visitors_c1
=
4995 let _visitors_r0 = self#on_expr env _visitors_c0
in
4996 let _visitors_r1 = self#on_expr env _visitors_c1
in
4998 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
4999 (Pervasives.(==) _visitors_c1
_visitors_r1)
5001 else AFkvalue
(_visitors_r0, _visitors_r1)
5002 method on_afield env _visitors_this
=
5003 match _visitors_this
with
5004 | AFvalue _visitors_c0
as _visitors_this
->
5005 self#on_AFvalue env _visitors_this _visitors_c0
5006 | AFkvalue
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
5007 self#on_AFkvalue env _visitors_this _visitors_c0 _visitors_c1
5008 method on_Default env _visitors_this _visitors_c0
=
5009 let _visitors_r0 = self#on_block env _visitors_c0
in
5010 if Pervasives.(==) _visitors_c0
_visitors_r0
5012 else Default
_visitors_r0
5013 method on_Case env _visitors_this _visitors_c0 _visitors_c1
=
5014 let _visitors_r0 = self#on_expr env _visitors_c0
in
5015 let _visitors_r1 = self#on_block env _visitors_c1
in
5017 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
5018 (Pervasives.(==) _visitors_c1
_visitors_r1)
5020 else Case
(_visitors_r0, _visitors_r1)
5021 method on_case env _visitors_this
=
5022 match _visitors_this
with
5023 | Default _visitors_c0
as _visitors_this
->
5024 self#on_Default env _visitors_this _visitors_c0
5025 | Case
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
5026 self#on_Case env _visitors_this _visitors_c0 _visitors_c1
5028 ((_visitors_c0
,_visitors_c1
,_visitors_c2
) as _visitors_this
) =
5029 let _visitors_r0 = self#on_id env _visitors_c0
in
5030 let _visitors_r1 = self#on_id env _visitors_c1
in
5031 let _visitors_r2 = self#on_block env _visitors_c2
in
5033 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
5034 (Pervasives.(&&) (Pervasives.(==) _visitors_c1
_visitors_r1)
5035 (Pervasives.(==) _visitors_c2
_visitors_r2))
5037 else (_visitors_r0, _visitors_r1, _visitors_r2)
5038 method on_field env
((_visitors_c0
,_visitors_c1
) as _visitors_this
) =
5039 let _visitors_r0 = self#on_expr env _visitors_c0
in
5040 let _visitors_r1 = self#on_expr env _visitors_c1
in
5042 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
5043 (Pervasives.(==) _visitors_c1
_visitors_r1)
5045 else (_visitors_r0, _visitors_r1)
5046 method on_attr env
((_visitors_c0
,_visitors_c1
) as _visitors_this
) =
5047 let _visitors_r0 = self#on_id env _visitors_c0
in
5048 let _visitors_r1 = self#on_expr env _visitors_c1
in
5050 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
5051 (Pervasives.(==) _visitors_c1
_visitors_r1)
5053 else (_visitors_r0, _visitors_r1)
5059 [@@@ocaml
.warning
"-4-26-27"]
5060 [@@@VISITORS.BEGIN
]
5061 class virtual ['self
] reduce
=
5062 object (self
: 'self
)
5063 inherit [_
] reduce_defs
5064 method on_program env
= self#on_list self#on_def env
5065 method on_nsenv env _visitors_this
= self#zero
5066 method on_fimode env _visitors_this
= self#zero
5067 method on_Fun env _visitors_c0
=
5068 let _visitors_s0 = self#on_fun_ env _visitors_c0
in _visitors_s0
5069 method on_Class env _visitors_c0
=
5070 let _visitors_s0 = self#on_class_ env _visitors_c0
in _visitors_s0
5071 method on_Stmt env _visitors_c0
=
5072 let _visitors_s0 = self#on_stmt env _visitors_c0
in _visitors_s0
5073 method on_Typedef env _visitors_c0
=
5074 let _visitors_s0 = self#on_typedef env _visitors_c0
in
5076 method on_Constant env _visitors_c0
=
5077 let _visitors_s0 = self#on_gconst env _visitors_c0
in _visitors_s0
5078 method on_Namespace env _visitors_c0 _visitors_c1
=
5079 let _visitors_s0 = self#on_id env _visitors_c0
in
5080 let _visitors_s1 = self#on_program env _visitors_c1
in
5081 self#plus
_visitors_s0 _visitors_s1
5082 method on_NamespaceUse env _visitors_c0
=
5086 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5087 let _visitors_s0 = self#on_ns_kind env _visitors_c0
in
5088 let _visitors_s1 = self#on_id env _visitors_c1
in
5089 let _visitors_s2 = self#on_id env _visitors_c2
in
5090 self#plus
(self#plus
_visitors_s0 _visitors_s1)
5091 _visitors_s2) env _visitors_c0
5094 method on_SetNamespaceEnv env _visitors_c0
=
5095 let _visitors_s0 = self#on_nsenv env _visitors_c0
in _visitors_s0
5096 method on_def env _visitors_this
=
5097 match _visitors_this
with
5098 | Fun _visitors_c0
-> self#on_Fun env _visitors_c0
5099 | Class _visitors_c0
-> self#on_Class env _visitors_c0
5100 | Stmt _visitors_c0
-> self#on_Stmt env _visitors_c0
5101 | Typedef _visitors_c0
-> self#on_Typedef env _visitors_c0
5102 | Constant _visitors_c0
-> self#on_Constant env _visitors_c0
5103 | Namespace
(_visitors_c0
,_visitors_c1
) ->
5104 self#on_Namespace env _visitors_c0 _visitors_c1
5105 | NamespaceUse _visitors_c0
->
5106 self#on_NamespaceUse env _visitors_c0
5107 | SetNamespaceEnv _visitors_c0
->
5108 self#on_SetNamespaceEnv env _visitors_c0
5109 method on_typedef env _visitors_this
=
5110 let _visitors_s0 = self#on_id env _visitors_this
.t_id
in
5112 self#on_list self#on_tparam env _visitors_this
.t_tparams
in
5114 self#on_tconstraint env _visitors_this
.t_constraint
in
5115 let _visitors_s3 = self#on_typedef_kind env _visitors_this
.t_kind
5118 self#on_list self#on_user_attribute env
5119 _visitors_this
.t_user_attributes
5121 let _visitors_s5 = self#on_nsenv env _visitors_this
.t_namespace
in
5122 let _visitors_s6 = self#on_fimode env _visitors_this
.t_mode
in
5127 (self#plus
(self#plus
_visitors_s0 _visitors_s1)
5128 _visitors_s2) _visitors_s3) _visitors_s4)
5129 _visitors_s5) _visitors_s6
5130 method on_gconst env _visitors_this
=
5131 let _visitors_s0 = self#on_fimode env _visitors_this
.cst_mode
in
5132 let _visitors_s1 = self#on_cst_kind env _visitors_this
.cst_kind
in
5133 let _visitors_s2 = self#on_id env _visitors_this
.cst_name
in
5135 self#on_option self#on_hint env _visitors_this
.cst_type
in
5136 let _visitors_s4 = self#on_expr env _visitors_this
.cst_value
in
5137 let _visitors_s5 = self#on_nsenv env _visitors_this
.cst_namespace
5139 let _visitors_s6 = self#on_pos env _visitors_this
.cst_span
in
5144 (self#plus
(self#plus
_visitors_s0 _visitors_s1)
5145 _visitors_s2) _visitors_s3) _visitors_s4)
5146 _visitors_s5) _visitors_s6
5147 method on_tparam env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
5148 let _visitors_s0 = self#on_variance env _visitors_c0
in
5149 let _visitors_s1 = self#on_id env _visitors_c1
in
5153 fun (_visitors_c0
,_visitors_c1
) ->
5155 self#on_constraint_kind env _visitors_c0
in
5156 let _visitors_s1 = self#on_hint env _visitors_c1
in
5157 self#plus
_visitors_s0 _visitors_s1) env _visitors_c2
5159 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5160 method on_tconstraint env
= self#on_option self#on_hint env
5161 method on_Alias env _visitors_c0
=
5162 let _visitors_s0 = self#on_hint env _visitors_c0
in _visitors_s0
5163 method on_NewType env _visitors_c0
=
5164 let _visitors_s0 = self#on_hint env _visitors_c0
in _visitors_s0
5165 method on_typedef_kind env _visitors_this
=
5166 match _visitors_this
with
5167 | Alias _visitors_c0
-> self#on_Alias env _visitors_c0
5168 | NewType _visitors_c0
-> self#on_NewType env _visitors_c0
5169 method on_class_ env _visitors_this
=
5170 let _visitors_s0 = self#on_fimode env _visitors_this
.c_mode
in
5172 self#on_list self#on_user_attribute env
5173 _visitors_this
.c_user_attributes
5175 let _visitors_s2 = self#on_bool env _visitors_this
.c_final
in
5176 let _visitors_s3 = self#on_class_kind env _visitors_this
.c_kind
in
5177 let _visitors_s4 = self#on_bool env _visitors_this
.c_is_xhp
in
5178 let _visitors_s5 = self#on_id env _visitors_this
.c_name
in
5180 self#on_list self#on_tparam env _visitors_this
.c_tparams
in
5182 self#on_list self#on_hint env _visitors_this
.c_extends
in
5184 self#on_list self#on_hint env _visitors_this
.c_implements
in
5186 self#on_list self#on_class_elt env _visitors_this
.c_body
in
5187 let _visitors_s10 = self#on_nsenv env _visitors_this
.c_namespace
5190 self#on_option self#on_enum_ env _visitors_this
.c_enum
in
5191 let _visitors_s12 = self#on_pos env _visitors_this
.c_span
in
5193 self#on_option self#on_string env _visitors_this
.c_doc_comment
5207 (self#plus
_visitors_s0
5208 _visitors_s1) _visitors_s2)
5209 _visitors_s3) _visitors_s4)
5210 _visitors_s5) _visitors_s6) _visitors_s7)
5211 _visitors_s8) _visitors_s9) _visitors_s10)
5212 _visitors_s11) _visitors_s12) _visitors_s13
5213 method on_enum_ env _visitors_this
=
5214 let _visitors_s0 = self#on_hint env _visitors_this
.e_base
in
5216 self#on_option self#on_hint env _visitors_this
.e_constraint
in
5217 self#plus
_visitors_s0 _visitors_s1
5218 method on_user_attribute env _visitors_this
=
5219 let _visitors_s0 = self#on_id env _visitors_this
.ua_name
in
5221 self#on_list self#on_expr env _visitors_this
.ua_params
in
5222 self#plus
_visitors_s0 _visitors_s1
5223 method on_Const env _visitors_c0 _visitors_c1
=
5224 let _visitors_s0 = self#on_option self#on_hint env _visitors_c0
in
5228 fun (_visitors_c0
,_visitors_c1
) ->
5229 let _visitors_s0 = self#on_id env _visitors_c0
in
5230 let _visitors_s1 = self#on_expr env _visitors_c1
in
5231 self#plus
_visitors_s0 _visitors_s1) env _visitors_c1
5233 self#plus
_visitors_s0 _visitors_s1
5234 method on_AbsConst env _visitors_c0 _visitors_c1
=
5235 let _visitors_s0 = self#on_option self#on_hint env _visitors_c0
in
5236 let _visitors_s1 = self#on_id env _visitors_c1
in
5237 self#plus
_visitors_s0 _visitors_s1
5238 method on_Attributes env _visitors_c0
=
5239 let _visitors_s0 = self#on_list self#on_class_attr env _visitors_c0
5242 method on_TypeConst env _visitors_c0
=
5243 let _visitors_s0 = self#on_typeconst env _visitors_c0
in
5245 method on_ClassUse env _visitors_c0
=
5246 let _visitors_s0 = self#on_hint env _visitors_c0
in _visitors_s0
5247 method on_ClassUseAlias env _visitors_c0 _visitors_c1 _visitors_c2
5249 let _visitors_s0 = self#on_option self#on_id env _visitors_c0
in
5250 let _visitors_s1 = self#on_pstring env _visitors_c1
in
5251 let _visitors_s2 = self#on_option self#on_id env _visitors_c2
in
5252 let _visitors_s3 = self#on_list self#on_kind env _visitors_c3
in
5254 (self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2)
5256 method on_ClassUsePrecedence env _visitors_c0 _visitors_c1
5258 let _visitors_s0 = self#on_id env _visitors_c0
in
5259 let _visitors_s1 = self#on_pstring env _visitors_c1
in
5260 let _visitors_s2 = self#on_list self#on_id env _visitors_c2
in
5261 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5262 method on_XhpAttrUse env _visitors_c0
=
5263 let _visitors_s0 = self#on_hint env _visitors_c0
in _visitors_s0
5264 method on_ClassTraitRequire env _visitors_c0 _visitors_c1
=
5265 let _visitors_s0 = self#on_trait_req_kind env _visitors_c0
in
5266 let _visitors_s1 = self#on_hint env _visitors_c1
in
5267 self#plus
_visitors_s0 _visitors_s1
5268 method on_ClassVars env _visitors_c0
=
5269 let _visitors_s0 = self#on_class_vars_ env _visitors_c0
in
5271 method on_XhpAttr env _visitors_c0 _visitors_c1 _visitors_c2
5273 let _visitors_s0 = self#on_option self#on_hint env _visitors_c0
in
5274 let _visitors_s1 = self#on_class_var env _visitors_c1
in
5275 let _visitors_s2 = self#on_bool env _visitors_c2
in
5279 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5280 let _visitors_s0 = self#on_pos env _visitors_c0
in
5281 let _visitors_s1 = self#on_bool env _visitors_c1
in
5283 self#on_list self#on_expr env _visitors_c2
in
5284 self#plus
(self#plus
_visitors_s0 _visitors_s1)
5285 _visitors_s2) env _visitors_c3
5288 (self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2)
5290 method on_Method env _visitors_c0
=
5291 let _visitors_s0 = self#on_method_ env _visitors_c0
in
5293 method on_XhpCategory env _visitors_c0
=
5294 let _visitors_s0 = self#on_list self#on_pstring env _visitors_c0
5297 method on_XhpChild env _visitors_c0
=
5298 let _visitors_s0 = self#on_xhp_child env _visitors_c0
in
5300 method on_class_elt env _visitors_this
=
5301 match _visitors_this
with
5302 | Const
(_visitors_c0
,_visitors_c1
) ->
5303 self#on_Const env _visitors_c0 _visitors_c1
5304 | AbsConst
(_visitors_c0
,_visitors_c1
) ->
5305 self#on_AbsConst env _visitors_c0 _visitors_c1
5306 | Attributes _visitors_c0
-> self#on_Attributes env _visitors_c0
5307 | TypeConst _visitors_c0
-> self#on_TypeConst env _visitors_c0
5308 | ClassUse _visitors_c0
-> self#on_ClassUse env _visitors_c0
5310 (_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
5311 self#on_ClassUseAlias env _visitors_c0 _visitors_c1
5312 _visitors_c2 _visitors_c3
5313 | ClassUsePrecedence
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5314 self#on_ClassUsePrecedence env _visitors_c0 _visitors_c1
5316 | XhpAttrUse _visitors_c0
-> self#on_XhpAttrUse env _visitors_c0
5317 | ClassTraitRequire
(_visitors_c0
,_visitors_c1
) ->
5318 self#on_ClassTraitRequire env _visitors_c0 _visitors_c1
5319 | ClassVars _visitors_c0
-> self#on_ClassVars env _visitors_c0
5320 | XhpAttr
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
5321 self#on_XhpAttr env _visitors_c0 _visitors_c1 _visitors_c2
5323 | Method _visitors_c0
-> self#on_Method env _visitors_c0
5324 | XhpCategory _visitors_c0
-> self#on_XhpCategory env _visitors_c0
5325 | XhpChild _visitors_c0
-> self#on_XhpChild env _visitors_c0
5326 method on_ChildName env _visitors_c0
=
5327 let _visitors_s0 = self#on_id env _visitors_c0
in _visitors_s0
5328 method on_ChildList env _visitors_c0
=
5329 let _visitors_s0 = self#on_list self#on_xhp_child env _visitors_c0
5332 method on_ChildUnary env _visitors_c0 _visitors_c1
=
5333 let _visitors_s0 = self#on_xhp_child env _visitors_c0
in
5334 let _visitors_s1 = self#on_xhp_child_op env _visitors_c1
in
5335 self#plus
_visitors_s0 _visitors_s1
5336 method on_ChildBinary env _visitors_c0 _visitors_c1
=
5337 let _visitors_s0 = self#on_xhp_child env _visitors_c0
in
5338 let _visitors_s1 = self#on_xhp_child env _visitors_c1
in
5339 self#plus
_visitors_s0 _visitors_s1
5340 method on_xhp_child env _visitors_this
=
5341 match _visitors_this
with
5342 | ChildName _visitors_c0
-> self#on_ChildName env _visitors_c0
5343 | ChildList _visitors_c0
-> self#on_ChildList env _visitors_c0
5344 | ChildUnary
(_visitors_c0
,_visitors_c1
) ->
5345 self#on_ChildUnary env _visitors_c0 _visitors_c1
5346 | ChildBinary
(_visitors_c0
,_visitors_c1
) ->
5347 self#on_ChildBinary env _visitors_c0 _visitors_c1
5348 method on_ChildStar env
= self#zero
5349 method on_ChildPlus env
= self#zero
5350 method on_ChildQuestion env
= self#zero
5351 method on_xhp_child_op env _visitors_this
=
5352 match _visitors_this
with
5353 | ChildStar
-> self#on_ChildStar env
5354 | ChildPlus
-> self#on_ChildPlus env
5355 | ChildQuestion
-> self#on_ChildQuestion env
5356 method on_CA_name env _visitors_c0
=
5357 let _visitors_s0 = self#on_id env _visitors_c0
in _visitors_s0
5358 method on_CA_field env _visitors_c0
=
5359 let _visitors_s0 = self#on_ca_field env _visitors_c0
in
5361 method on_class_attr env _visitors_this
=
5362 match _visitors_this
with
5363 | CA_name _visitors_c0
-> self#on_CA_name env _visitors_c0
5364 | CA_field _visitors_c0
-> self#on_CA_field env _visitors_c0
5365 method on_ca_field env _visitors_this
=
5366 let _visitors_s0 = self#on_ca_type env _visitors_this
.ca_type
in
5367 let _visitors_s1 = self#on_id env _visitors_this
.ca_id
in
5369 self#on_option self#on_expr env _visitors_this
.ca_value
in
5370 let _visitors_s3 = self#on_bool env _visitors_this
.ca_required
in
5372 (self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2)
5374 method on_CA_hint env _visitors_c0
=
5375 let _visitors_s0 = self#on_hint env _visitors_c0
in _visitors_s0
5376 method on_CA_enum env _visitors_c0
=
5377 let _visitors_s0 = self#on_list self#on_string env _visitors_c0
in
5379 method on_ca_type env _visitors_this
=
5380 match _visitors_this
with
5381 | CA_hint _visitors_c0
-> self#on_CA_hint env _visitors_c0
5382 | CA_enum _visitors_c0
-> self#on_CA_enum env _visitors_c0
5383 method on_class_var env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
5384 let _visitors_s0 = self#on_pos env _visitors_c0
in
5385 let _visitors_s1 = self#on_id env _visitors_c1
in
5386 let _visitors_s2 = self#on_option self#on_expr env _visitors_c2
in
5387 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5388 method on_class_vars_ env _visitors_this
=
5390 self#on_list self#on_kind env _visitors_this
.cv_kinds
in
5392 self#on_option self#on_hint env _visitors_this
.cv_hint
in
5394 self#on_is_variadic env _visitors_this
.cv_is_promoted_variadic
5397 self#on_list self#on_class_var env _visitors_this
.cv_names
in
5399 self#on_option self#on_string env _visitors_this
.cv_doc_comment
5402 self#on_list self#on_user_attribute env
5403 _visitors_this
.cv_user_attributes
5408 (self#plus
(self#plus
_visitors_s0 _visitors_s1)
5409 _visitors_s2) _visitors_s3) _visitors_s4) _visitors_s5
5410 method on_method_ env _visitors_this
=
5412 self#on_list self#on_kind env _visitors_this
.m_kind
in
5414 self#on_list self#on_tparam env _visitors_this
.m_tparams
in
5418 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5419 let _visitors_s0 = self#on_hint env _visitors_c0
in
5421 self#on_constraint_kind env _visitors_c1
in
5422 let _visitors_s2 = self#on_hint env _visitors_c2
in
5423 self#plus
(self#plus
_visitors_s0 _visitors_s1)
5424 _visitors_s2) env _visitors_this
.m_constrs
5426 let _visitors_s3 = self#on_id env _visitors_this
.m_name
in
5428 self#on_list self#on_fun_param env _visitors_this
.m_params
in
5429 let _visitors_s5 = self#on_block env _visitors_this
.m_body
in
5431 self#on_list self#on_user_attribute env
5432 _visitors_this
.m_user_attributes
5435 self#on_option self#on_hint env _visitors_this
.m_ret
in
5436 let _visitors_s8 = self#on_bool env _visitors_this
.m_ret_by_ref
in
5437 let _visitors_s9 = self#on_fun_kind env _visitors_this
.m_fun_kind
5439 let _visitors_s10 = self#on_pos env _visitors_this
.m_span
in
5441 self#on_option self#on_string env _visitors_this
.m_doc_comment
5453 (self#plus
_visitors_s0 _visitors_s1)
5454 _visitors_s2) _visitors_s3)
5455 _visitors_s4) _visitors_s5) _visitors_s6)
5456 _visitors_s7) _visitors_s8) _visitors_s9)
5457 _visitors_s10) _visitors_s11
5458 method on_typeconst env _visitors_this
=
5459 let _visitors_s0 = self#on_bool env _visitors_this
.tconst_abstract
5461 let _visitors_s1 = self#on_id env _visitors_this
.tconst_name
in
5463 self#on_list self#on_tparam env _visitors_this
.tconst_tparams
in
5465 self#on_option self#on_hint env _visitors_this
.tconst_constraint
5468 self#on_option self#on_hint env _visitors_this
.tconst_type
in
5469 let _visitors_s5 = self#on_pos env _visitors_this
.tconst_span
in
5473 (self#plus
(self#plus
_visitors_s0 _visitors_s1)
5474 _visitors_s2) _visitors_s3) _visitors_s4) _visitors_s5
5475 method on_is_reference env
= self#on_bool env
5476 method on_is_variadic env
= self#on_bool env
5477 method on_fun_param env _visitors_this
=
5479 self#on_option self#on_hint env _visitors_this
.param_hint
in
5481 self#on_is_reference env _visitors_this
.param_is_reference
in
5483 self#on_is_variadic env _visitors_this
.param_is_variadic
in
5484 let _visitors_s3 = self#on_id env _visitors_this
.param_id
in
5486 self#on_option self#on_expr env _visitors_this
.param_expr
in
5488 self#on_option self#on_kind env _visitors_this
.param_modifier
in
5490 self#on_option self#on_param_kind env
5491 _visitors_this
.param_callconv
5494 self#on_list self#on_user_attribute env
5495 _visitors_this
.param_user_attributes
5502 (self#plus
(self#plus
_visitors_s0 _visitors_s1)
5503 _visitors_s2) _visitors_s3) _visitors_s4)
5504 _visitors_s5) _visitors_s6) _visitors_s7
5505 method on_fun_ env _visitors_this
=
5506 let _visitors_s0 = self#on_fimode env _visitors_this
.f_mode
in
5508 self#on_list self#on_tparam env _visitors_this
.f_tparams
in
5512 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5513 let _visitors_s0 = self#on_hint env _visitors_c0
in
5515 self#on_constraint_kind env _visitors_c1
in
5516 let _visitors_s2 = self#on_hint env _visitors_c2
in
5517 self#plus
(self#plus
_visitors_s0 _visitors_s1)
5518 _visitors_s2) env _visitors_this
.f_constrs
5521 self#on_option self#on_hint env _visitors_this
.f_ret
in
5522 let _visitors_s4 = self#on_bool env _visitors_this
.f_ret_by_ref
in
5523 let _visitors_s5 = self#on_id env _visitors_this
.f_name
in
5525 self#on_list self#on_fun_param env _visitors_this
.f_params
in
5526 let _visitors_s7 = self#on_block env _visitors_this
.f_body
in
5528 self#on_list self#on_user_attribute env
5529 _visitors_this
.f_user_attributes
5531 let _visitors_s9 = self#on_fun_kind env _visitors_this
.f_fun_kind
5533 let _visitors_s10 = self#on_nsenv env _visitors_this
.f_namespace
5535 let _visitors_s11 = self#on_pos env _visitors_this
.f_span
in
5537 self#on_option self#on_string env _visitors_this
.f_doc_comment
5539 let _visitors_s13 = self#on_bool env _visitors_this
.f_static
in
5552 (self#plus
_visitors_s0
5553 _visitors_s1) _visitors_s2)
5554 _visitors_s3) _visitors_s4)
5555 _visitors_s5) _visitors_s6) _visitors_s7)
5556 _visitors_s8) _visitors_s9) _visitors_s10)
5557 _visitors_s11) _visitors_s12) _visitors_s13
5558 method on_is_coroutine env
= self#on_bool env
5559 method on_hint env
(_visitors_c0
,_visitors_c1
) =
5560 let _visitors_s0 = self#on_pos env _visitors_c0
in
5561 let _visitors_s1 = self#on_hint_ env _visitors_c1
in
5562 self#plus
_visitors_s0 _visitors_s1
5563 method on_Hvariadic env _visitors_c0
=
5564 let _visitors_s0 = self#on_option self#on_hint env _visitors_c0
in
5566 method on_Hnon_variadic env
= self#zero
5567 method on_variadic_hint env _visitors_this
=
5568 match _visitors_this
with
5569 | Hvariadic _visitors_c0
-> self#on_Hvariadic env _visitors_c0
5570 | Hnon_variadic
-> self#on_Hnon_variadic env
5571 method on_Hoption env _visitors_c0
=
5572 let _visitors_s0 = self#on_hint env _visitors_c0
in _visitors_s0
5573 method on_Hfun env _visitors_c0 _visitors_c1 _visitors_c2
5574 _visitors_c3 _visitors_c4
=
5575 let _visitors_s0 = self#on_is_coroutine env _visitors_c0
in
5576 let _visitors_s1 = self#on_list self#on_hint env _visitors_c1
in
5578 self#on_list
(self#on_option self#on_param_kind
) env _visitors_c2
5580 let _visitors_s3 = self#on_variadic_hint env _visitors_c3
in
5581 let _visitors_s4 = self#on_hint env _visitors_c4
in
5584 (self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2)
5585 _visitors_s3) _visitors_s4
5586 method on_Htuple env _visitors_c0
=
5587 let _visitors_s0 = self#on_list self#on_hint env _visitors_c0
in
5589 method on_Happly env _visitors_c0 _visitors_c1
=
5590 let _visitors_s0 = self#on_id env _visitors_c0
in
5591 let _visitors_s1 = self#on_list self#on_hint env _visitors_c1
in
5592 self#plus
_visitors_s0 _visitors_s1
5593 method on_Hshape env _visitors_c0
=
5594 let _visitors_s0 = self#on_shape_info env _visitors_c0
in
5596 method on_Haccess env _visitors_c0 _visitors_c1 _visitors_c2
=
5597 let _visitors_s0 = self#on_id env _visitors_c0
in
5598 let _visitors_s1 = self#on_id env _visitors_c1
in
5599 let _visitors_s2 = self#on_list self#on_id env _visitors_c2
in
5600 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5601 method on_Hsoft env _visitors_c0
=
5602 let _visitors_s0 = self#on_hint env _visitors_c0
in _visitors_s0
5603 method on_hint_ env _visitors_this
=
5604 match _visitors_this
with
5605 | Hoption _visitors_c0
-> self#on_Hoption env _visitors_c0
5607 (_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
,_visitors_c4
)
5609 self#on_Hfun env _visitors_c0 _visitors_c1 _visitors_c2
5610 _visitors_c3 _visitors_c4
5611 | Htuple _visitors_c0
-> self#on_Htuple env _visitors_c0
5612 | Happly
(_visitors_c0
,_visitors_c1
) ->
5613 self#on_Happly env _visitors_c0 _visitors_c1
5614 | Hshape _visitors_c0
-> self#on_Hshape env _visitors_c0
5615 | Haccess
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5616 self#on_Haccess env _visitors_c0 _visitors_c1 _visitors_c2
5617 | Hsoft _visitors_c0
-> self#on_Hsoft env _visitors_c0
5618 method on_shape_info env _visitors_this
=
5620 self#on_bool env _visitors_this
.si_allows_unknown_fields
in
5622 self#on_list self#on_shape_field env
5623 _visitors_this
.si_shape_field_list
5625 self#plus
_visitors_s0 _visitors_s1
5626 method on_shape_field env _visitors_this
=
5627 let _visitors_s0 = self#on_bool env _visitors_this
.sf_optional
in
5629 self#on_shape_field_name env _visitors_this
.sf_name
in
5630 let _visitors_s2 = self#on_hint env _visitors_this
.sf_hint
in
5631 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5632 method on_using_stmt env _visitors_this
=
5634 self#on_bool env _visitors_this
.us_is_block_scoped
in
5635 let _visitors_s1 = self#on_bool env _visitors_this
.us_has_await
in
5636 let _visitors_s2 = self#on_expr env _visitors_this
.us_expr
in
5637 let _visitors_s3 = self#on_block env _visitors_this
.us_block
in
5639 (self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2)
5641 method on_stmt env
(_visitors_c0
,_visitors_c1
) =
5642 let _visitors_s0 = self#on_pos env _visitors_c0
in
5643 let _visitors_s1 = self#on_stmt_ env _visitors_c1
in
5644 self#plus
_visitors_s0 _visitors_s1
5645 method on_Unsafe env
= self#zero
5646 method on_Fallthrough env
= self#zero
5647 method on_Expr env _visitors_c0
=
5648 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5649 method on_Block env _visitors_c0
=
5650 let _visitors_s0 = self#on_block env _visitors_c0
in _visitors_s0
5651 method on_Break env _visitors_c0
=
5652 let _visitors_s0 = self#on_option self#on_expr env _visitors_c0
in
5654 method on_Continue env _visitors_c0
=
5655 let _visitors_s0 = self#on_option self#on_expr env _visitors_c0
in
5657 method on_Throw env _visitors_c0
=
5658 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5659 method on_Return env _visitors_c0
=
5660 let _visitors_s0 = self#on_option self#on_expr env _visitors_c0
in
5662 method on_GotoLabel env _visitors_c0
=
5663 let _visitors_s0 = self#on_pstring env _visitors_c0
in
5665 method on_Goto env _visitors_c0
=
5666 let _visitors_s0 = self#on_pstring env _visitors_c0
in
5668 method on_Static_var env _visitors_c0
=
5669 let _visitors_s0 = self#on_list self#on_expr env _visitors_c0
in
5671 method on_Global_var env _visitors_c0
=
5672 let _visitors_s0 = self#on_list self#on_expr env _visitors_c0
in
5674 method on_If env _visitors_c0 _visitors_c1 _visitors_c2
=
5675 let _visitors_s0 = self#on_expr env _visitors_c0
in
5676 let _visitors_s1 = self#on_block env _visitors_c1
in
5677 let _visitors_s2 = self#on_block env _visitors_c2
in
5678 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5679 method on_Do env _visitors_c0 _visitors_c1
=
5680 let _visitors_s0 = self#on_block env _visitors_c0
in
5681 let _visitors_s1 = self#on_expr env _visitors_c1
in
5682 self#plus
_visitors_s0 _visitors_s1
5683 method on_While env _visitors_c0 _visitors_c1
=
5684 let _visitors_s0 = self#on_expr env _visitors_c0
in
5685 let _visitors_s1 = self#on_block env _visitors_c1
in
5686 self#plus
_visitors_s0 _visitors_s1
5687 method on_For env _visitors_c0 _visitors_c1 _visitors_c2 _visitors_c3
5689 let _visitors_s0 = self#on_expr env _visitors_c0
in
5690 let _visitors_s1 = self#on_expr env _visitors_c1
in
5691 let _visitors_s2 = self#on_expr env _visitors_c2
in
5692 let _visitors_s3 = self#on_block env _visitors_c3
in
5694 (self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2)
5696 method on_Switch env _visitors_c0 _visitors_c1
=
5697 let _visitors_s0 = self#on_expr env _visitors_c0
in
5698 let _visitors_s1 = self#on_list self#on_case env _visitors_c1
in
5699 self#plus
_visitors_s0 _visitors_s1
5700 method on_Foreach env _visitors_c0 _visitors_c1 _visitors_c2
5702 let _visitors_s0 = self#on_expr env _visitors_c0
in
5703 let _visitors_s1 = self#on_option self#on_pos env _visitors_c1
in
5704 let _visitors_s2 = self#on_as_expr env _visitors_c2
in
5705 let _visitors_s3 = self#on_block env _visitors_c3
in
5707 (self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2)
5709 method on_Try env _visitors_c0 _visitors_c1 _visitors_c2
=
5710 let _visitors_s0 = self#on_block env _visitors_c0
in
5711 let _visitors_s1 = self#on_list self#on_catch env _visitors_c1
in
5712 let _visitors_s2 = self#on_block env _visitors_c2
in
5713 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5714 method on_Def_inline env _visitors_c0
=
5715 let _visitors_s0 = self#on_def env _visitors_c0
in _visitors_s0
5716 method on_Noop env
= self#zero
5717 method on_Markup env _visitors_c0 _visitors_c1
=
5718 let _visitors_s0 = self#on_pstring env _visitors_c0
in
5719 let _visitors_s1 = self#on_option self#on_expr env _visitors_c1
in
5720 self#plus
_visitors_s0 _visitors_s1
5721 method on_Using env _visitors_c0
=
5722 let _visitors_s0 = self#on_using_stmt env _visitors_c0
in
5724 method on_Declare env _visitors_c0 _visitors_c1 _visitors_c2
=
5725 let _visitors_s0 = self#on_bool env _visitors_c0
in
5726 let _visitors_s1 = self#on_expr env _visitors_c1
in
5727 let _visitors_s2 = self#on_block env _visitors_c2
in
5728 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5729 method on_stmt_ env _visitors_this
=
5730 match _visitors_this
with
5731 | Unsafe
-> self#on_Unsafe env
5732 | Fallthrough
-> self#on_Fallthrough env
5733 | Expr _visitors_c0
-> self#on_Expr env _visitors_c0
5734 | Block _visitors_c0
-> self#on_Block env _visitors_c0
5735 | Break _visitors_c0
-> self#on_Break env _visitors_c0
5736 | Continue _visitors_c0
-> self#on_Continue env _visitors_c0
5737 | Throw _visitors_c0
-> self#on_Throw env _visitors_c0
5738 | Return _visitors_c0
-> self#on_Return env _visitors_c0
5739 | GotoLabel _visitors_c0
-> self#on_GotoLabel env _visitors_c0
5740 | Goto _visitors_c0
-> self#on_Goto env _visitors_c0
5741 | Static_var _visitors_c0
-> self#on_Static_var env _visitors_c0
5742 | Global_var _visitors_c0
-> self#on_Global_var env _visitors_c0
5743 | If
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5744 self#on_If env _visitors_c0 _visitors_c1 _visitors_c2
5745 | Do
(_visitors_c0
,_visitors_c1
) ->
5746 self#on_Do env _visitors_c0 _visitors_c1
5747 | While
(_visitors_c0
,_visitors_c1
) ->
5748 self#on_While env _visitors_c0 _visitors_c1
5749 | For
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
5750 self#on_For env _visitors_c0 _visitors_c1 _visitors_c2
5752 | Switch
(_visitors_c0
,_visitors_c1
) ->
5753 self#on_Switch env _visitors_c0 _visitors_c1
5754 | Foreach
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
5755 self#on_Foreach env _visitors_c0 _visitors_c1 _visitors_c2
5757 | Try
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5758 self#on_Try env _visitors_c0 _visitors_c1 _visitors_c2
5759 | Def_inline _visitors_c0
-> self#on_Def_inline env _visitors_c0
5760 | Noop
-> self#on_Noop env
5761 | Markup
(_visitors_c0
,_visitors_c1
) ->
5762 self#on_Markup env _visitors_c0 _visitors_c1
5763 | Using _visitors_c0
-> self#on_Using env _visitors_c0
5764 | Declare
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5765 self#on_Declare env _visitors_c0 _visitors_c1 _visitors_c2
5766 method on_As_v env _visitors_c0
=
5767 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5768 method on_As_kv env _visitors_c0 _visitors_c1
=
5769 let _visitors_s0 = self#on_expr env _visitors_c0
in
5770 let _visitors_s1 = self#on_expr env _visitors_c1
in
5771 self#plus
_visitors_s0 _visitors_s1
5772 method on_as_expr env _visitors_this
=
5773 match _visitors_this
with
5774 | As_v _visitors_c0
-> self#on_As_v env _visitors_c0
5775 | As_kv
(_visitors_c0
,_visitors_c1
) ->
5776 self#on_As_kv env _visitors_c0 _visitors_c1
5777 method on_Xhp_simple env _visitors_c0 _visitors_c1
=
5778 let _visitors_s0 = self#on_id env _visitors_c0
in
5779 let _visitors_s1 = self#on_expr env _visitors_c1
in
5780 self#plus
_visitors_s0 _visitors_s1
5781 method on_Xhp_spread env _visitors_c0
=
5782 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5783 method on_xhp_attribute env _visitors_this
=
5784 match _visitors_this
with
5785 | Xhp_simple
(_visitors_c0
,_visitors_c1
) ->
5786 self#on_Xhp_simple env _visitors_c0 _visitors_c1
5787 | Xhp_spread _visitors_c0
-> self#on_Xhp_spread env _visitors_c0
5788 method on_block env
= self#on_list self#on_stmt env
5789 method on_expr env
(_visitors_c0
,_visitors_c1
) =
5790 let _visitors_s0 = self#on_pos env _visitors_c0
in
5791 let _visitors_s1 = self#on_expr_ env _visitors_c1
in
5792 self#plus
_visitors_s0 _visitors_s1
5793 method on_Array env _visitors_c0
=
5794 let _visitors_s0 = self#on_list self#on_afield env _visitors_c0
in
5796 method on_Varray env _visitors_c0
=
5797 let _visitors_s0 = self#on_list self#on_expr env _visitors_c0
in
5799 method on_Darray env _visitors_c0
=
5803 fun (_visitors_c0
,_visitors_c1
) ->
5804 let _visitors_s0 = self#on_expr env _visitors_c0
in
5805 let _visitors_s1 = self#on_expr env _visitors_c1
in
5806 self#plus
_visitors_s0 _visitors_s1) env _visitors_c0
5809 method on_Shape env _visitors_c0
=
5813 fun (_visitors_c0
,_visitors_c1
) ->
5815 self#on_shape_field_name env _visitors_c0
in
5816 let _visitors_s1 = self#on_expr env _visitors_c1
in
5817 self#plus
_visitors_s0 _visitors_s1) env _visitors_c0
5820 method on_Collection env _visitors_c0 _visitors_c1
=
5821 let _visitors_s0 = self#on_id env _visitors_c0
in
5822 let _visitors_s1 = self#on_list self#on_afield env _visitors_c1
in
5823 self#plus
_visitors_s0 _visitors_s1
5824 method on_Null env
= self#zero
5825 method on_True env
= self#zero
5826 method on_False env
= self#zero
5827 method on_Omitted env
= self#zero
5828 method on_Id env _visitors_c0
=
5829 let _visitors_s0 = self#on_id env _visitors_c0
in _visitors_s0
5830 method on_Id_type_arguments env _visitors_c0 _visitors_c1
=
5831 let _visitors_s0 = self#on_id env _visitors_c0
in
5832 let _visitors_s1 = self#on_list self#on_hint env _visitors_c1
in
5833 self#plus
_visitors_s0 _visitors_s1
5834 method on_Lvar env _visitors_c0
=
5835 let _visitors_s0 = self#on_id env _visitors_c0
in _visitors_s0
5836 method on_Dollar env _visitors_c0
=
5837 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5838 method on_Clone env _visitors_c0
=
5839 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5840 method on_Obj_get env _visitors_c0 _visitors_c1 _visitors_c2
=
5841 let _visitors_s0 = self#on_expr env _visitors_c0
in
5842 let _visitors_s1 = self#on_expr env _visitors_c1
in
5843 let _visitors_s2 = self#on_og_null_flavor env _visitors_c2
in
5844 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5845 method on_Array_get env _visitors_c0 _visitors_c1
=
5846 let _visitors_s0 = self#on_expr env _visitors_c0
in
5847 let _visitors_s1 = self#on_option self#on_expr env _visitors_c1
in
5848 self#plus
_visitors_s0 _visitors_s1
5849 method on_Class_get env _visitors_c0 _visitors_c1
=
5850 let _visitors_s0 = self#on_expr env _visitors_c0
in
5851 let _visitors_s1 = self#on_expr env _visitors_c1
in
5852 self#plus
_visitors_s0 _visitors_s1
5853 method on_Class_const env _visitors_c0 _visitors_c1
=
5854 let _visitors_s0 = self#on_expr env _visitors_c0
in
5855 let _visitors_s1 = self#on_pstring env _visitors_c1
in
5856 self#plus
_visitors_s0 _visitors_s1
5857 method on_Call env _visitors_c0 _visitors_c1 _visitors_c2
5859 let _visitors_s0 = self#on_expr env _visitors_c0
in
5860 let _visitors_s1 = self#on_list self#on_hint env _visitors_c1
in
5861 let _visitors_s2 = self#on_list self#on_expr env _visitors_c2
in
5862 let _visitors_s3 = self#on_list self#on_expr env _visitors_c3
in
5864 (self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2)
5866 method on_Int env _visitors_c0
=
5867 let _visitors_s0 = self#on_pstring env _visitors_c0
in
5869 method on_Float env _visitors_c0
=
5870 let _visitors_s0 = self#on_pstring env _visitors_c0
in
5872 method on_String env _visitors_c0
=
5873 let _visitors_s0 = self#on_pstring env _visitors_c0
in
5875 method on_String2 env _visitors_c0
=
5876 let _visitors_s0 = self#on_list self#on_expr env _visitors_c0
in
5878 method on_Yield env _visitors_c0
=
5879 let _visitors_s0 = self#on_afield env _visitors_c0
in _visitors_s0
5880 method on_Yield_break env
= self#zero
5881 method on_Yield_from env _visitors_c0
=
5882 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5883 method on_Await env _visitors_c0
=
5884 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5885 method on_Suspend env _visitors_c0
=
5886 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5887 method on_List env _visitors_c0
=
5888 let _visitors_s0 = self#on_list self#on_expr env _visitors_c0
in
5890 method on_Expr_list env _visitors_c0
=
5891 let _visitors_s0 = self#on_list self#on_expr env _visitors_c0
in
5893 method on_Cast env _visitors_c0 _visitors_c1
=
5894 let _visitors_s0 = self#on_hint env _visitors_c0
in
5895 let _visitors_s1 = self#on_expr env _visitors_c1
in
5896 self#plus
_visitors_s0 _visitors_s1
5897 method on_Unop env _visitors_c0 _visitors_c1
=
5898 let _visitors_s0 = self#on_uop env _visitors_c0
in
5899 let _visitors_s1 = self#on_expr env _visitors_c1
in
5900 self#plus
_visitors_s0 _visitors_s1
5901 method on_Binop env _visitors_c0 _visitors_c1 _visitors_c2
=
5902 let _visitors_s0 = self#on_bop env _visitors_c0
in
5903 let _visitors_s1 = self#on_expr env _visitors_c1
in
5904 let _visitors_s2 = self#on_expr env _visitors_c2
in
5905 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5906 method on_Pipe env _visitors_c0 _visitors_c1
=
5907 let _visitors_s0 = self#on_expr env _visitors_c0
in
5908 let _visitors_s1 = self#on_expr env _visitors_c1
in
5909 self#plus
_visitors_s0 _visitors_s1
5910 method on_Eif env _visitors_c0 _visitors_c1 _visitors_c2
=
5911 let _visitors_s0 = self#on_expr env _visitors_c0
in
5912 let _visitors_s1 = self#on_option self#on_expr env _visitors_c1
in
5913 let _visitors_s2 = self#on_expr env _visitors_c2
in
5914 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5915 method on_NullCoalesce env _visitors_c0 _visitors_c1
=
5916 let _visitors_s0 = self#on_expr env _visitors_c0
in
5917 let _visitors_s1 = self#on_expr env _visitors_c1
in
5918 self#plus
_visitors_s0 _visitors_s1
5919 method on_InstanceOf env _visitors_c0 _visitors_c1
=
5920 let _visitors_s0 = self#on_expr env _visitors_c0
in
5921 let _visitors_s1 = self#on_expr env _visitors_c1
in
5922 self#plus
_visitors_s0 _visitors_s1
5923 method on_Is env _visitors_c0 _visitors_c1
=
5924 let _visitors_s0 = self#on_expr env _visitors_c0
in
5925 let _visitors_s1 = self#on_hint env _visitors_c1
in
5926 self#plus
_visitors_s0 _visitors_s1
5927 method on_BracedExpr env _visitors_c0
=
5928 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5929 method on_ParenthesizedExpr env _visitors_c0
=
5930 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5931 method on_New env _visitors_c0 _visitors_c1 _visitors_c2
=
5932 let _visitors_s0 = self#on_expr env _visitors_c0
in
5933 let _visitors_s1 = self#on_list self#on_expr env _visitors_c1
in
5934 let _visitors_s2 = self#on_list self#on_expr env _visitors_c2
in
5935 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5936 method on_NewAnonClass env _visitors_c0 _visitors_c1 _visitors_c2
=
5937 let _visitors_s0 = self#on_list self#on_expr env _visitors_c0
in
5938 let _visitors_s1 = self#on_list self#on_expr env _visitors_c1
in
5939 let _visitors_s2 = self#on_class_ env _visitors_c2
in
5940 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5941 method on_Efun env _visitors_c0 _visitors_c1
=
5942 let _visitors_s0 = self#on_fun_ env _visitors_c0
in
5946 fun (_visitors_c0
,_visitors_c1
) ->
5947 let _visitors_s0 = self#on_id env _visitors_c0
in
5948 let _visitors_s1 = self#on_bool env _visitors_c1
in
5949 self#plus
_visitors_s0 _visitors_s1) env _visitors_c1
5951 self#plus
_visitors_s0 _visitors_s1
5952 method on_Lfun env _visitors_c0
=
5953 let _visitors_s0 = self#on_fun_ env _visitors_c0
in _visitors_s0
5954 method on_Xml env _visitors_c0 _visitors_c1 _visitors_c2
=
5955 let _visitors_s0 = self#on_id env _visitors_c0
in
5957 self#on_list self#on_xhp_attribute env _visitors_c1
in
5958 let _visitors_s2 = self#on_list self#on_expr env _visitors_c2
in
5959 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
5960 method on_Unsafeexpr env _visitors_c0
=
5961 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
5962 method on_Import env _visitors_c0 _visitors_c1
=
5963 let _visitors_s0 = self#on_import_flavor env _visitors_c0
in
5964 let _visitors_s1 = self#on_expr env _visitors_c1
in
5965 self#plus
_visitors_s0 _visitors_s1
5966 method on_Callconv env _visitors_c0 _visitors_c1
=
5967 let _visitors_s0 = self#on_param_kind env _visitors_c0
in
5968 let _visitors_s1 = self#on_expr env _visitors_c1
in
5969 self#plus
_visitors_s0 _visitors_s1
5970 method on_Execution_operator env _visitors_c0
=
5971 let _visitors_s0 = self#on_list self#on_expr env _visitors_c0
in
5973 method on_expr_ env _visitors_this
=
5974 match _visitors_this
with
5975 | Array _visitors_c0
-> self#on_Array env _visitors_c0
5976 | Varray _visitors_c0
-> self#on_Varray env _visitors_c0
5977 | Darray _visitors_c0
-> self#on_Darray env _visitors_c0
5978 | Shape _visitors_c0
-> self#on_Shape env _visitors_c0
5979 | Collection
(_visitors_c0
,_visitors_c1
) ->
5980 self#on_Collection env _visitors_c0 _visitors_c1
5981 | Null
-> self#on_Null env
5982 | True
-> self#on_True env
5983 | False
-> self#on_False env
5984 | Omitted
-> self#on_Omitted env
5985 | Id _visitors_c0
-> self#on_Id env _visitors_c0
5986 | Id_type_arguments
(_visitors_c0
,_visitors_c1
) ->
5987 self#on_Id_type_arguments env _visitors_c0 _visitors_c1
5988 | Lvar _visitors_c0
-> self#on_Lvar env _visitors_c0
5989 | Dollar _visitors_c0
-> self#on_Dollar env _visitors_c0
5990 | Clone _visitors_c0
-> self#on_Clone env _visitors_c0
5991 | Obj_get
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
5992 self#on_Obj_get env _visitors_c0 _visitors_c1 _visitors_c2
5993 | Array_get
(_visitors_c0
,_visitors_c1
) ->
5994 self#on_Array_get env _visitors_c0 _visitors_c1
5995 | Class_get
(_visitors_c0
,_visitors_c1
) ->
5996 self#on_Class_get env _visitors_c0 _visitors_c1
5997 | Class_const
(_visitors_c0
,_visitors_c1
) ->
5998 self#on_Class_const env _visitors_c0 _visitors_c1
5999 | Call
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
6000 self#on_Call env _visitors_c0 _visitors_c1 _visitors_c2
6002 | Int _visitors_c0
-> self#on_Int env _visitors_c0
6003 | Float _visitors_c0
-> self#on_Float env _visitors_c0
6004 | String _visitors_c0
-> self#on_String env _visitors_c0
6005 | String2 _visitors_c0
-> self#on_String2 env _visitors_c0
6006 | Yield _visitors_c0
-> self#on_Yield env _visitors_c0
6007 | Yield_break
-> self#on_Yield_break env
6008 | Yield_from _visitors_c0
-> self#on_Yield_from env _visitors_c0
6009 | Await _visitors_c0
-> self#on_Await env _visitors_c0
6010 | Suspend _visitors_c0
-> self#on_Suspend env _visitors_c0
6011 | List _visitors_c0
-> self#on_List env _visitors_c0
6012 | Expr_list _visitors_c0
-> self#on_Expr_list env _visitors_c0
6013 | Cast
(_visitors_c0
,_visitors_c1
) ->
6014 self#on_Cast env _visitors_c0 _visitors_c1
6015 | Unop
(_visitors_c0
,_visitors_c1
) ->
6016 self#on_Unop env _visitors_c0 _visitors_c1
6017 | Binop
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6018 self#on_Binop env _visitors_c0 _visitors_c1 _visitors_c2
6019 | Pipe
(_visitors_c0
,_visitors_c1
) ->
6020 self#on_Pipe env _visitors_c0 _visitors_c1
6021 | Eif
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6022 self#on_Eif env _visitors_c0 _visitors_c1 _visitors_c2
6023 | NullCoalesce
(_visitors_c0
,_visitors_c1
) ->
6024 self#on_NullCoalesce env _visitors_c0 _visitors_c1
6025 | InstanceOf
(_visitors_c0
,_visitors_c1
) ->
6026 self#on_InstanceOf env _visitors_c0 _visitors_c1
6027 | Is
(_visitors_c0
,_visitors_c1
) ->
6028 self#on_Is env _visitors_c0 _visitors_c1
6029 | BracedExpr _visitors_c0
-> self#on_BracedExpr env _visitors_c0
6030 | ParenthesizedExpr _visitors_c0
->
6031 self#on_ParenthesizedExpr env _visitors_c0
6032 | New
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6033 self#on_New env _visitors_c0 _visitors_c1 _visitors_c2
6034 | NewAnonClass
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6035 self#on_NewAnonClass env _visitors_c0 _visitors_c1 _visitors_c2
6036 | Efun
(_visitors_c0
,_visitors_c1
) ->
6037 self#on_Efun env _visitors_c0 _visitors_c1
6038 | Lfun _visitors_c0
-> self#on_Lfun env _visitors_c0
6039 | Xml
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6040 self#on_Xml env _visitors_c0 _visitors_c1 _visitors_c2
6041 | Unsafeexpr _visitors_c0
-> self#on_Unsafeexpr env _visitors_c0
6042 | Import
(_visitors_c0
,_visitors_c1
) ->
6043 self#on_Import env _visitors_c0 _visitors_c1
6044 | Callconv
(_visitors_c0
,_visitors_c1
) ->
6045 self#on_Callconv env _visitors_c0 _visitors_c1
6046 | Execution_operator _visitors_c0
->
6047 self#on_Execution_operator env _visitors_c0
6048 method on_Include env
= self#zero
6049 method on_Require env
= self#zero
6050 method on_IncludeOnce env
= self#zero
6051 method on_RequireOnce env
= self#zero
6052 method on_import_flavor env _visitors_this
=
6053 match _visitors_this
with
6054 | Include
-> self#on_Include env
6055 | Require
-> self#on_Require env
6056 | IncludeOnce
-> self#on_IncludeOnce env
6057 | RequireOnce
-> self#on_RequireOnce env
6058 method on_AFvalue env _visitors_c0
=
6059 let _visitors_s0 = self#on_expr env _visitors_c0
in _visitors_s0
6060 method on_AFkvalue env _visitors_c0 _visitors_c1
=
6061 let _visitors_s0 = self#on_expr env _visitors_c0
in
6062 let _visitors_s1 = self#on_expr env _visitors_c1
in
6063 self#plus
_visitors_s0 _visitors_s1
6064 method on_afield env _visitors_this
=
6065 match _visitors_this
with
6066 | AFvalue _visitors_c0
-> self#on_AFvalue env _visitors_c0
6067 | AFkvalue
(_visitors_c0
,_visitors_c1
) ->
6068 self#on_AFkvalue env _visitors_c0 _visitors_c1
6069 method on_Default env _visitors_c0
=
6070 let _visitors_s0 = self#on_block env _visitors_c0
in _visitors_s0
6071 method on_Case env _visitors_c0 _visitors_c1
=
6072 let _visitors_s0 = self#on_expr env _visitors_c0
in
6073 let _visitors_s1 = self#on_block env _visitors_c1
in
6074 self#plus
_visitors_s0 _visitors_s1
6075 method on_case env _visitors_this
=
6076 match _visitors_this
with
6077 | Default _visitors_c0
-> self#on_Default env _visitors_c0
6078 | Case
(_visitors_c0
,_visitors_c1
) ->
6079 self#on_Case env _visitors_c0 _visitors_c1
6080 method on_catch env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
6081 let _visitors_s0 = self#on_id env _visitors_c0
in
6082 let _visitors_s1 = self#on_id env _visitors_c1
in
6083 let _visitors_s2 = self#on_block env _visitors_c2
in
6084 self#plus
(self#plus
_visitors_s0 _visitors_s1) _visitors_s2
6085 method on_field env
(_visitors_c0
,_visitors_c1
) =
6086 let _visitors_s0 = self#on_expr env _visitors_c0
in
6087 let _visitors_s1 = self#on_expr env _visitors_c1
in
6088 self#plus
_visitors_s0 _visitors_s1
6089 method on_attr env
(_visitors_c0
,_visitors_c1
) =
6090 let _visitors_s0 = self#on_id env _visitors_c0
in
6091 let _visitors_s1 = self#on_expr env _visitors_c1
in
6092 self#plus
_visitors_s0 _visitors_s1
6098 [@@@ocaml
.warning
"-4-26-27"]
6099 [@@@VISITORS.BEGIN
]
6100 class virtual ['self
] map
=
6101 object (self
: 'self
)
6102 inherit [_
] map_defs
6103 method on_program env
= self#on_list self#on_def env
6104 method on_nsenv env _visitors_this
= _visitors_this
6105 method on_fimode env _visitors_this
= _visitors_this
6106 method on_Fun env _visitors_c0
=
6107 let _visitors_r0 = self#on_fun_ env _visitors_c0
in
6109 method on_Class env _visitors_c0
=
6110 let _visitors_r0 = self#on_class_ env _visitors_c0
in
6112 method on_Stmt env _visitors_c0
=
6113 let _visitors_r0 = self#on_stmt env _visitors_c0
in
6115 method on_Typedef env _visitors_c0
=
6116 let _visitors_r0 = self#on_typedef env _visitors_c0
in
6117 Typedef
_visitors_r0
6118 method on_Constant env _visitors_c0
=
6119 let _visitors_r0 = self#on_gconst env _visitors_c0
in
6120 Constant
_visitors_r0
6121 method on_Namespace env _visitors_c0 _visitors_c1
=
6122 let _visitors_r0 = self#on_id env _visitors_c0
in
6123 let _visitors_r1 = self#on_program env _visitors_c1
in
6124 Namespace
(_visitors_r0, _visitors_r1)
6125 method on_NamespaceUse env _visitors_c0
=
6129 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6130 let _visitors_r0 = self#on_ns_kind env _visitors_c0
in
6131 let _visitors_r1 = self#on_id env _visitors_c1
in
6132 let _visitors_r2 = self#on_id env _visitors_c2
in
6133 (_visitors_r0, _visitors_r1, _visitors_r2)) env
6136 NamespaceUse
_visitors_r0
6137 method on_SetNamespaceEnv env _visitors_c0
=
6138 let _visitors_r0 = self#on_nsenv env _visitors_c0
in
6139 SetNamespaceEnv
_visitors_r0
6140 method on_def env _visitors_this
=
6141 match _visitors_this
with
6142 | Fun _visitors_c0
-> self#on_Fun env _visitors_c0
6143 | Class _visitors_c0
-> self#on_Class env _visitors_c0
6144 | Stmt _visitors_c0
-> self#on_Stmt env _visitors_c0
6145 | Typedef _visitors_c0
-> self#on_Typedef env _visitors_c0
6146 | Constant _visitors_c0
-> self#on_Constant env _visitors_c0
6147 | Namespace
(_visitors_c0
,_visitors_c1
) ->
6148 self#on_Namespace env _visitors_c0 _visitors_c1
6149 | NamespaceUse _visitors_c0
->
6150 self#on_NamespaceUse env _visitors_c0
6151 | SetNamespaceEnv _visitors_c0
->
6152 self#on_SetNamespaceEnv env _visitors_c0
6153 method on_typedef env _visitors_this
=
6154 let _visitors_r0 = self#on_id env _visitors_this
.t_id
in
6156 self#on_list self#on_tparam env _visitors_this
.t_tparams
in
6158 self#on_tconstraint env _visitors_this
.t_constraint
in
6159 let _visitors_r3 = self#on_typedef_kind env _visitors_this
.t_kind
6162 self#on_list self#on_user_attribute env
6163 _visitors_this
.t_user_attributes
6165 let _visitors_r5 = self#on_nsenv env _visitors_this
.t_namespace
in
6166 let _visitors_r6 = self#on_fimode env _visitors_this
.t_mode
in
6168 t_id
= _visitors_r0;
6169 t_tparams
= _visitors_r1;
6170 t_constraint
= _visitors_r2;
6171 t_kind
= _visitors_r3;
6172 t_user_attributes
= _visitors_r4;
6173 t_namespace
= _visitors_r5;
6174 t_mode
= _visitors_r6
6176 method on_gconst env _visitors_this
=
6177 let _visitors_r0 = self#on_fimode env _visitors_this
.cst_mode
in
6178 let _visitors_r1 = self#on_cst_kind env _visitors_this
.cst_kind
in
6179 let _visitors_r2 = self#on_id env _visitors_this
.cst_name
in
6181 self#on_option self#on_hint env _visitors_this
.cst_type
in
6182 let _visitors_r4 = self#on_expr env _visitors_this
.cst_value
in
6183 let _visitors_r5 = self#on_nsenv env _visitors_this
.cst_namespace
6185 let _visitors_r6 = self#on_pos env _visitors_this
.cst_span
in
6187 cst_mode
= _visitors_r0;
6188 cst_kind
= _visitors_r1;
6189 cst_name
= _visitors_r2;
6190 cst_type
= _visitors_r3;
6191 cst_value
= _visitors_r4;
6192 cst_namespace
= _visitors_r5;
6193 cst_span
= _visitors_r6
6195 method on_tparam env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
6196 let _visitors_r0 = self#on_variance env _visitors_c0
in
6197 let _visitors_r1 = self#on_id env _visitors_c1
in
6201 fun (_visitors_c0
,_visitors_c1
) ->
6203 self#on_constraint_kind env _visitors_c0
in
6204 let _visitors_r1 = self#on_hint env _visitors_c1
in
6205 (_visitors_r0, _visitors_r1)) env _visitors_c2
6207 (_visitors_r0, _visitors_r1, _visitors_r2)
6208 method on_tconstraint env
= self#on_option self#on_hint env
6209 method on_Alias env _visitors_c0
=
6210 let _visitors_r0 = self#on_hint env _visitors_c0
in
6212 method on_NewType env _visitors_c0
=
6213 let _visitors_r0 = self#on_hint env _visitors_c0
in
6214 NewType
_visitors_r0
6215 method on_typedef_kind env _visitors_this
=
6216 match _visitors_this
with
6217 | Alias _visitors_c0
-> self#on_Alias env _visitors_c0
6218 | NewType _visitors_c0
-> self#on_NewType env _visitors_c0
6219 method on_class_ env _visitors_this
=
6220 let _visitors_r0 = self#on_fimode env _visitors_this
.c_mode
in
6222 self#on_list self#on_user_attribute env
6223 _visitors_this
.c_user_attributes
6225 let _visitors_r2 = self#on_bool env _visitors_this
.c_final
in
6226 let _visitors_r3 = self#on_class_kind env _visitors_this
.c_kind
in
6227 let _visitors_r4 = self#on_bool env _visitors_this
.c_is_xhp
in
6228 let _visitors_r5 = self#on_id env _visitors_this
.c_name
in
6230 self#on_list self#on_tparam env _visitors_this
.c_tparams
in
6232 self#on_list self#on_hint env _visitors_this
.c_extends
in
6234 self#on_list self#on_hint env _visitors_this
.c_implements
in
6236 self#on_list self#on_class_elt env _visitors_this
.c_body
in
6237 let _visitors_r10 = self#on_nsenv env _visitors_this
.c_namespace
6240 self#on_option self#on_enum_ env _visitors_this
.c_enum
in
6241 let _visitors_r12 = self#on_pos env _visitors_this
.c_span
in
6243 self#on_option self#on_string env _visitors_this
.c_doc_comment
6246 c_mode
= _visitors_r0;
6247 c_user_attributes
= _visitors_r1;
6248 c_final
= _visitors_r2;
6249 c_kind
= _visitors_r3;
6250 c_is_xhp
= _visitors_r4;
6251 c_name
= _visitors_r5;
6252 c_tparams
= _visitors_r6;
6253 c_extends
= _visitors_r7;
6254 c_implements
= _visitors_r8;
6255 c_body
= _visitors_r9;
6256 c_namespace
= _visitors_r10;
6257 c_enum
= _visitors_r11;
6258 c_span
= _visitors_r12;
6259 c_doc_comment
= _visitors_r13
6261 method on_enum_ env _visitors_this
=
6262 let _visitors_r0 = self#on_hint env _visitors_this
.e_base
in
6264 self#on_option self#on_hint env _visitors_this
.e_constraint
in
6265 { e_base
= _visitors_r0; e_constraint
= _visitors_r1 }
6266 method on_user_attribute env _visitors_this
=
6267 let _visitors_r0 = self#on_id env _visitors_this
.ua_name
in
6269 self#on_list self#on_expr env _visitors_this
.ua_params
in
6270 { ua_name
= _visitors_r0; ua_params
= _visitors_r1 }
6271 method on_Const env _visitors_c0 _visitors_c1
=
6272 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
6276 fun (_visitors_c0
,_visitors_c1
) ->
6277 let _visitors_r0 = self#on_id env _visitors_c0
in
6278 let _visitors_r1 = self#on_expr env _visitors_c1
in
6279 (_visitors_r0, _visitors_r1)) env _visitors_c1
6281 Const
(_visitors_r0, _visitors_r1)
6282 method on_AbsConst env _visitors_c0 _visitors_c1
=
6283 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
6284 let _visitors_r1 = self#on_id env _visitors_c1
in
6285 AbsConst
(_visitors_r0, _visitors_r1)
6286 method on_Attributes env _visitors_c0
=
6287 let _visitors_r0 = self#on_list self#on_class_attr env _visitors_c0
6289 Attributes
_visitors_r0
6290 method on_TypeConst env _visitors_c0
=
6291 let _visitors_r0 = self#on_typeconst env _visitors_c0
in
6292 TypeConst
_visitors_r0
6293 method on_ClassUse env _visitors_c0
=
6294 let _visitors_r0 = self#on_hint env _visitors_c0
in
6295 ClassUse
_visitors_r0
6296 method on_ClassUseAlias env _visitors_c0 _visitors_c1 _visitors_c2
6298 let _visitors_r0 = self#on_option self#on_id env _visitors_c0
in
6299 let _visitors_r1 = self#on_pstring env _visitors_c1
in
6300 let _visitors_r2 = self#on_option self#on_id env _visitors_c2
in
6301 let _visitors_r3 = self#on_list self#on_kind env _visitors_c3
in
6303 (_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
6304 method on_ClassUsePrecedence env _visitors_c0 _visitors_c1
6306 let _visitors_r0 = self#on_id env _visitors_c0
in
6307 let _visitors_r1 = self#on_pstring env _visitors_c1
in
6308 let _visitors_r2 = self#on_list self#on_id env _visitors_c2
in
6309 ClassUsePrecedence
(_visitors_r0, _visitors_r1, _visitors_r2)
6310 method on_XhpAttrUse env _visitors_c0
=
6311 let _visitors_r0 = self#on_hint env _visitors_c0
in
6312 XhpAttrUse
_visitors_r0
6313 method on_ClassTraitRequire env _visitors_c0 _visitors_c1
=
6314 let _visitors_r0 = self#on_trait_req_kind env _visitors_c0
in
6315 let _visitors_r1 = self#on_hint env _visitors_c1
in
6316 ClassTraitRequire
(_visitors_r0, _visitors_r1)
6317 method on_ClassVars env _visitors_c0
=
6318 let _visitors_r0 = self#on_class_vars_ env _visitors_c0
in
6319 ClassVars
_visitors_r0
6320 method on_XhpAttr env _visitors_c0 _visitors_c1 _visitors_c2
6322 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
6323 let _visitors_r1 = self#on_class_var env _visitors_c1
in
6324 let _visitors_r2 = self#on_bool env _visitors_c2
in
6328 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6329 let _visitors_r0 = self#on_pos env _visitors_c0
in
6330 let _visitors_r1 = self#on_bool env _visitors_c1
in
6332 self#on_list self#on_expr env _visitors_c2
in
6333 (_visitors_r0, _visitors_r1, _visitors_r2)) env
6336 XhpAttr
(_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
6337 method on_Method env _visitors_c0
=
6338 let _visitors_r0 = self#on_method_ env _visitors_c0
in
6340 method on_XhpCategory env _visitors_c0
=
6341 let _visitors_r0 = self#on_list self#on_pstring env _visitors_c0
6343 XhpCategory
_visitors_r0
6344 method on_XhpChild env _visitors_c0
=
6345 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in
6346 XhpChild
_visitors_r0
6347 method on_class_elt env _visitors_this
=
6348 match _visitors_this
with
6349 | Const
(_visitors_c0
,_visitors_c1
) ->
6350 self#on_Const env _visitors_c0 _visitors_c1
6351 | AbsConst
(_visitors_c0
,_visitors_c1
) ->
6352 self#on_AbsConst env _visitors_c0 _visitors_c1
6353 | Attributes _visitors_c0
-> self#on_Attributes env _visitors_c0
6354 | TypeConst _visitors_c0
-> self#on_TypeConst env _visitors_c0
6355 | ClassUse _visitors_c0
-> self#on_ClassUse env _visitors_c0
6357 (_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
6358 self#on_ClassUseAlias env _visitors_c0 _visitors_c1
6359 _visitors_c2 _visitors_c3
6360 | ClassUsePrecedence
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6361 self#on_ClassUsePrecedence env _visitors_c0 _visitors_c1
6363 | XhpAttrUse _visitors_c0
-> self#on_XhpAttrUse env _visitors_c0
6364 | ClassTraitRequire
(_visitors_c0
,_visitors_c1
) ->
6365 self#on_ClassTraitRequire env _visitors_c0 _visitors_c1
6366 | ClassVars _visitors_c0
-> self#on_ClassVars env _visitors_c0
6367 | XhpAttr
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
6368 self#on_XhpAttr env _visitors_c0 _visitors_c1 _visitors_c2
6370 | Method _visitors_c0
-> self#on_Method env _visitors_c0
6371 | XhpCategory _visitors_c0
-> self#on_XhpCategory env _visitors_c0
6372 | XhpChild _visitors_c0
-> self#on_XhpChild env _visitors_c0
6373 method on_ChildName env _visitors_c0
=
6374 let _visitors_r0 = self#on_id env _visitors_c0
in
6375 ChildName
_visitors_r0
6376 method on_ChildList env _visitors_c0
=
6377 let _visitors_r0 = self#on_list self#on_xhp_child env _visitors_c0
6379 ChildList
_visitors_r0
6380 method on_ChildUnary env _visitors_c0 _visitors_c1
=
6381 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in
6382 let _visitors_r1 = self#on_xhp_child_op env _visitors_c1
in
6383 ChildUnary
(_visitors_r0, _visitors_r1)
6384 method on_ChildBinary env _visitors_c0 _visitors_c1
=
6385 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in
6386 let _visitors_r1 = self#on_xhp_child env _visitors_c1
in
6387 ChildBinary
(_visitors_r0, _visitors_r1)
6388 method on_xhp_child env _visitors_this
=
6389 match _visitors_this
with
6390 | ChildName _visitors_c0
-> self#on_ChildName env _visitors_c0
6391 | ChildList _visitors_c0
-> self#on_ChildList env _visitors_c0
6392 | ChildUnary
(_visitors_c0
,_visitors_c1
) ->
6393 self#on_ChildUnary env _visitors_c0 _visitors_c1
6394 | ChildBinary
(_visitors_c0
,_visitors_c1
) ->
6395 self#on_ChildBinary env _visitors_c0 _visitors_c1
6396 method on_ChildStar env
= ChildStar
6397 method on_ChildPlus env
= ChildPlus
6398 method on_ChildQuestion env
= ChildQuestion
6399 method on_xhp_child_op env _visitors_this
=
6400 match _visitors_this
with
6401 | ChildStar
-> self#on_ChildStar env
6402 | ChildPlus
-> self#on_ChildPlus env
6403 | ChildQuestion
-> self#on_ChildQuestion env
6404 method on_CA_name env _visitors_c0
=
6405 let _visitors_r0 = self#on_id env _visitors_c0
in
6406 CA_name
_visitors_r0
6407 method on_CA_field env _visitors_c0
=
6408 let _visitors_r0 = self#on_ca_field env _visitors_c0
in
6409 CA_field
_visitors_r0
6410 method on_class_attr env _visitors_this
=
6411 match _visitors_this
with
6412 | CA_name _visitors_c0
-> self#on_CA_name env _visitors_c0
6413 | CA_field _visitors_c0
-> self#on_CA_field env _visitors_c0
6414 method on_ca_field env _visitors_this
=
6415 let _visitors_r0 = self#on_ca_type env _visitors_this
.ca_type
in
6416 let _visitors_r1 = self#on_id env _visitors_this
.ca_id
in
6418 self#on_option self#on_expr env _visitors_this
.ca_value
in
6419 let _visitors_r3 = self#on_bool env _visitors_this
.ca_required
in
6421 ca_type
= _visitors_r0;
6422 ca_id
= _visitors_r1;
6423 ca_value
= _visitors_r2;
6424 ca_required
= _visitors_r3
6426 method on_CA_hint env _visitors_c0
=
6427 let _visitors_r0 = self#on_hint env _visitors_c0
in
6428 CA_hint
_visitors_r0
6429 method on_CA_enum env _visitors_c0
=
6430 let _visitors_r0 = self#on_list self#on_string env _visitors_c0
in
6431 CA_enum
_visitors_r0
6432 method on_ca_type env _visitors_this
=
6433 match _visitors_this
with
6434 | CA_hint _visitors_c0
-> self#on_CA_hint env _visitors_c0
6435 | CA_enum _visitors_c0
-> self#on_CA_enum env _visitors_c0
6436 method on_class_var env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
6437 let _visitors_r0 = self#on_pos env _visitors_c0
in
6438 let _visitors_r1 = self#on_id env _visitors_c1
in
6439 let _visitors_r2 = self#on_option self#on_expr env _visitors_c2
in
6440 (_visitors_r0, _visitors_r1, _visitors_r2)
6441 method on_class_vars_ env _visitors_this
=
6443 self#on_list self#on_kind env _visitors_this
.cv_kinds
in
6445 self#on_option self#on_hint env _visitors_this
.cv_hint
in
6447 self#on_is_variadic env _visitors_this
.cv_is_promoted_variadic
6450 self#on_list self#on_class_var env _visitors_this
.cv_names
in
6452 self#on_option self#on_string env _visitors_this
.cv_doc_comment
6455 self#on_list self#on_user_attribute env
6456 _visitors_this
.cv_user_attributes
6459 cv_kinds
= _visitors_r0;
6460 cv_hint
= _visitors_r1;
6461 cv_is_promoted_variadic
= _visitors_r2;
6462 cv_names
= _visitors_r3;
6463 cv_doc_comment
= _visitors_r4;
6464 cv_user_attributes
= _visitors_r5
6466 method on_method_ env _visitors_this
=
6468 self#on_list self#on_kind env _visitors_this
.m_kind
in
6470 self#on_list self#on_tparam env _visitors_this
.m_tparams
in
6474 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6475 let _visitors_r0 = self#on_hint env _visitors_c0
in
6477 self#on_constraint_kind env _visitors_c1
in
6478 let _visitors_r2 = self#on_hint env _visitors_c2
in
6479 (_visitors_r0, _visitors_r1, _visitors_r2)) env
6480 _visitors_this
.m_constrs
6482 let _visitors_r3 = self#on_id env _visitors_this
.m_name
in
6484 self#on_list self#on_fun_param env _visitors_this
.m_params
in
6485 let _visitors_r5 = self#on_block env _visitors_this
.m_body
in
6487 self#on_list self#on_user_attribute env
6488 _visitors_this
.m_user_attributes
6491 self#on_option self#on_hint env _visitors_this
.m_ret
in
6492 let _visitors_r8 = self#on_bool env _visitors_this
.m_ret_by_ref
in
6493 let _visitors_r9 = self#on_fun_kind env _visitors_this
.m_fun_kind
6495 let _visitors_r10 = self#on_pos env _visitors_this
.m_span
in
6497 self#on_option self#on_string env _visitors_this
.m_doc_comment
6500 m_kind
= _visitors_r0;
6501 m_tparams
= _visitors_r1;
6502 m_constrs
= _visitors_r2;
6503 m_name
= _visitors_r3;
6504 m_params
= _visitors_r4;
6505 m_body
= _visitors_r5;
6506 m_user_attributes
= _visitors_r6;
6507 m_ret
= _visitors_r7;
6508 m_ret_by_ref
= _visitors_r8;
6509 m_fun_kind
= _visitors_r9;
6510 m_span
= _visitors_r10;
6511 m_doc_comment
= _visitors_r11
6513 method on_typeconst env _visitors_this
=
6514 let _visitors_r0 = self#on_bool env _visitors_this
.tconst_abstract
6516 let _visitors_r1 = self#on_id env _visitors_this
.tconst_name
in
6518 self#on_list self#on_tparam env _visitors_this
.tconst_tparams
in
6520 self#on_option self#on_hint env _visitors_this
.tconst_constraint
6523 self#on_option self#on_hint env _visitors_this
.tconst_type
in
6524 let _visitors_r5 = self#on_pos env _visitors_this
.tconst_span
in
6526 tconst_abstract
= _visitors_r0;
6527 tconst_name
= _visitors_r1;
6528 tconst_tparams
= _visitors_r2;
6529 tconst_constraint
= _visitors_r3;
6530 tconst_type
= _visitors_r4;
6531 tconst_span
= _visitors_r5
6533 method on_is_reference env
= self#on_bool env
6534 method on_is_variadic env
= self#on_bool env
6535 method on_fun_param env _visitors_this
=
6537 self#on_option self#on_hint env _visitors_this
.param_hint
in
6539 self#on_is_reference env _visitors_this
.param_is_reference
in
6541 self#on_is_variadic env _visitors_this
.param_is_variadic
in
6542 let _visitors_r3 = self#on_id env _visitors_this
.param_id
in
6544 self#on_option self#on_expr env _visitors_this
.param_expr
in
6546 self#on_option self#on_kind env _visitors_this
.param_modifier
in
6548 self#on_option self#on_param_kind env
6549 _visitors_this
.param_callconv
6552 self#on_list self#on_user_attribute env
6553 _visitors_this
.param_user_attributes
6556 param_hint
= _visitors_r0;
6557 param_is_reference
= _visitors_r1;
6558 param_is_variadic
= _visitors_r2;
6559 param_id
= _visitors_r3;
6560 param_expr
= _visitors_r4;
6561 param_modifier
= _visitors_r5;
6562 param_callconv
= _visitors_r6;
6563 param_user_attributes
= _visitors_r7
6565 method on_fun_ env _visitors_this
=
6566 let _visitors_r0 = self#on_fimode env _visitors_this
.f_mode
in
6568 self#on_list self#on_tparam env _visitors_this
.f_tparams
in
6572 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6573 let _visitors_r0 = self#on_hint env _visitors_c0
in
6575 self#on_constraint_kind env _visitors_c1
in
6576 let _visitors_r2 = self#on_hint env _visitors_c2
in
6577 (_visitors_r0, _visitors_r1, _visitors_r2)) env
6578 _visitors_this
.f_constrs
6581 self#on_option self#on_hint env _visitors_this
.f_ret
in
6582 let _visitors_r4 = self#on_bool env _visitors_this
.f_ret_by_ref
in
6583 let _visitors_r5 = self#on_id env _visitors_this
.f_name
in
6585 self#on_list self#on_fun_param env _visitors_this
.f_params
in
6586 let _visitors_r7 = self#on_block env _visitors_this
.f_body
in
6588 self#on_list self#on_user_attribute env
6589 _visitors_this
.f_user_attributes
6591 let _visitors_r9 = self#on_fun_kind env _visitors_this
.f_fun_kind
6593 let _visitors_r10 = self#on_nsenv env _visitors_this
.f_namespace
6595 let _visitors_r11 = self#on_pos env _visitors_this
.f_span
in
6597 self#on_option self#on_string env _visitors_this
.f_doc_comment
6599 let _visitors_r13 = self#on_bool env _visitors_this
.f_static
in
6601 f_mode
= _visitors_r0;
6602 f_tparams
= _visitors_r1;
6603 f_constrs
= _visitors_r2;
6604 f_ret
= _visitors_r3;
6605 f_ret_by_ref
= _visitors_r4;
6606 f_name
= _visitors_r5;
6607 f_params
= _visitors_r6;
6608 f_body
= _visitors_r7;
6609 f_user_attributes
= _visitors_r8;
6610 f_fun_kind
= _visitors_r9;
6611 f_namespace
= _visitors_r10;
6612 f_span
= _visitors_r11;
6613 f_doc_comment
= _visitors_r12;
6614 f_static
= _visitors_r13
6616 method on_is_coroutine env
= self#on_bool env
6617 method on_hint env
(_visitors_c0
,_visitors_c1
) =
6618 let _visitors_r0 = self#on_pos env _visitors_c0
in
6619 let _visitors_r1 = self#on_hint_ env _visitors_c1
in
6620 (_visitors_r0, _visitors_r1)
6621 method on_Hvariadic env _visitors_c0
=
6622 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
6623 Hvariadic
_visitors_r0
6624 method on_Hnon_variadic env
= Hnon_variadic
6625 method on_variadic_hint env _visitors_this
=
6626 match _visitors_this
with
6627 | Hvariadic _visitors_c0
-> self#on_Hvariadic env _visitors_c0
6628 | Hnon_variadic
-> self#on_Hnon_variadic env
6629 method on_Hoption env _visitors_c0
=
6630 let _visitors_r0 = self#on_hint env _visitors_c0
in
6631 Hoption
_visitors_r0
6632 method on_Hfun env _visitors_c0 _visitors_c1 _visitors_c2
6633 _visitors_c3 _visitors_c4
=
6634 let _visitors_r0 = self#on_is_coroutine env _visitors_c0
in
6635 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
6637 self#on_list
(self#on_option self#on_param_kind
) env _visitors_c2
6639 let _visitors_r3 = self#on_variadic_hint env _visitors_c3
in
6640 let _visitors_r4 = self#on_hint env _visitors_c4
in
6642 (_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3,
6644 method on_Htuple env _visitors_c0
=
6645 let _visitors_r0 = self#on_list self#on_hint env _visitors_c0
in
6647 method on_Happly env _visitors_c0 _visitors_c1
=
6648 let _visitors_r0 = self#on_id env _visitors_c0
in
6649 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
6650 Happly
(_visitors_r0, _visitors_r1)
6651 method on_Hshape env _visitors_c0
=
6652 let _visitors_r0 = self#on_shape_info env _visitors_c0
in
6654 method on_Haccess env _visitors_c0 _visitors_c1 _visitors_c2
=
6655 let _visitors_r0 = self#on_id env _visitors_c0
in
6656 let _visitors_r1 = self#on_id env _visitors_c1
in
6657 let _visitors_r2 = self#on_list self#on_id env _visitors_c2
in
6658 Haccess
(_visitors_r0, _visitors_r1, _visitors_r2)
6659 method on_Hsoft env _visitors_c0
=
6660 let _visitors_r0 = self#on_hint env _visitors_c0
in
6662 method on_hint_ env _visitors_this
=
6663 match _visitors_this
with
6664 | Hoption _visitors_c0
-> self#on_Hoption env _visitors_c0
6666 (_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
,_visitors_c4
)
6668 self#on_Hfun env _visitors_c0 _visitors_c1 _visitors_c2
6669 _visitors_c3 _visitors_c4
6670 | Htuple _visitors_c0
-> self#on_Htuple env _visitors_c0
6671 | Happly
(_visitors_c0
,_visitors_c1
) ->
6672 self#on_Happly env _visitors_c0 _visitors_c1
6673 | Hshape _visitors_c0
-> self#on_Hshape env _visitors_c0
6674 | Haccess
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6675 self#on_Haccess env _visitors_c0 _visitors_c1 _visitors_c2
6676 | Hsoft _visitors_c0
-> self#on_Hsoft env _visitors_c0
6677 method on_shape_info env _visitors_this
=
6679 self#on_bool env _visitors_this
.si_allows_unknown_fields
in
6681 self#on_list self#on_shape_field env
6682 _visitors_this
.si_shape_field_list
6685 si_allows_unknown_fields
= _visitors_r0;
6686 si_shape_field_list
= _visitors_r1
6688 method on_shape_field env _visitors_this
=
6689 let _visitors_r0 = self#on_bool env _visitors_this
.sf_optional
in
6691 self#on_shape_field_name env _visitors_this
.sf_name
in
6692 let _visitors_r2 = self#on_hint env _visitors_this
.sf_hint
in
6694 sf_optional
= _visitors_r0;
6695 sf_name
= _visitors_r1;
6696 sf_hint
= _visitors_r2
6698 method on_using_stmt env _visitors_this
=
6700 self#on_bool env _visitors_this
.us_is_block_scoped
in
6701 let _visitors_r1 = self#on_bool env _visitors_this
.us_has_await
in
6702 let _visitors_r2 = self#on_expr env _visitors_this
.us_expr
in
6703 let _visitors_r3 = self#on_block env _visitors_this
.us_block
in
6705 us_is_block_scoped
= _visitors_r0;
6706 us_has_await
= _visitors_r1;
6707 us_expr
= _visitors_r2;
6708 us_block
= _visitors_r3
6710 method on_stmt env
(_visitors_c0
,_visitors_c1
) =
6711 let _visitors_r0 = self#on_pos env _visitors_c0
in
6712 let _visitors_r1 = self#on_stmt_ env _visitors_c1
in
6713 (_visitors_r0, _visitors_r1)
6714 method on_Unsafe env
= Unsafe
6715 method on_Fallthrough env
= Fallthrough
6716 method on_Expr env _visitors_c0
=
6717 let _visitors_r0 = self#on_expr env _visitors_c0
in
6719 method on_Block env _visitors_c0
=
6720 let _visitors_r0 = self#on_block env _visitors_c0
in
6722 method on_Break env _visitors_c0
=
6723 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
6725 method on_Continue env _visitors_c0
=
6726 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
6727 Continue
_visitors_r0
6728 method on_Throw env _visitors_c0
=
6729 let _visitors_r0 = self#on_expr env _visitors_c0
in
6731 method on_Return env _visitors_c0
=
6732 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
6734 method on_GotoLabel env _visitors_c0
=
6735 let _visitors_r0 = self#on_pstring env _visitors_c0
in
6736 GotoLabel
_visitors_r0
6737 method on_Goto env _visitors_c0
=
6738 let _visitors_r0 = self#on_pstring env _visitors_c0
in
6740 method on_Static_var env _visitors_c0
=
6741 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
6742 Static_var
_visitors_r0
6743 method on_Global_var env _visitors_c0
=
6744 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
6745 Global_var
_visitors_r0
6746 method on_If env _visitors_c0 _visitors_c1 _visitors_c2
=
6747 let _visitors_r0 = self#on_expr env _visitors_c0
in
6748 let _visitors_r1 = self#on_block env _visitors_c1
in
6749 let _visitors_r2 = self#on_block env _visitors_c2
in
6750 If
(_visitors_r0, _visitors_r1, _visitors_r2)
6751 method on_Do env _visitors_c0 _visitors_c1
=
6752 let _visitors_r0 = self#on_block env _visitors_c0
in
6753 let _visitors_r1 = self#on_expr env _visitors_c1
in
6754 Do
(_visitors_r0, _visitors_r1)
6755 method on_While env _visitors_c0 _visitors_c1
=
6756 let _visitors_r0 = self#on_expr env _visitors_c0
in
6757 let _visitors_r1 = self#on_block env _visitors_c1
in
6758 While
(_visitors_r0, _visitors_r1)
6759 method on_For env _visitors_c0 _visitors_c1 _visitors_c2 _visitors_c3
6761 let _visitors_r0 = self#on_expr env _visitors_c0
in
6762 let _visitors_r1 = self#on_expr env _visitors_c1
in
6763 let _visitors_r2 = self#on_expr env _visitors_c2
in
6764 let _visitors_r3 = self#on_block env _visitors_c3
in
6765 For
(_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
6766 method on_Switch env _visitors_c0 _visitors_c1
=
6767 let _visitors_r0 = self#on_expr env _visitors_c0
in
6768 let _visitors_r1 = self#on_list self#on_case env _visitors_c1
in
6769 Switch
(_visitors_r0, _visitors_r1)
6770 method on_Foreach env _visitors_c0 _visitors_c1 _visitors_c2
6772 let _visitors_r0 = self#on_expr env _visitors_c0
in
6773 let _visitors_r1 = self#on_option self#on_pos env _visitors_c1
in
6774 let _visitors_r2 = self#on_as_expr env _visitors_c2
in
6775 let _visitors_r3 = self#on_block env _visitors_c3
in
6776 Foreach
(_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
6777 method on_Try env _visitors_c0 _visitors_c1 _visitors_c2
=
6778 let _visitors_r0 = self#on_block env _visitors_c0
in
6779 let _visitors_r1 = self#on_list self#on_catch env _visitors_c1
in
6780 let _visitors_r2 = self#on_block env _visitors_c2
in
6781 Try
(_visitors_r0, _visitors_r1, _visitors_r2)
6782 method on_Def_inline env _visitors_c0
=
6783 let _visitors_r0 = self#on_def env _visitors_c0
in
6784 Def_inline
_visitors_r0
6785 method on_Noop env
= Noop
6786 method on_Markup env _visitors_c0 _visitors_c1
=
6787 let _visitors_r0 = self#on_pstring env _visitors_c0
in
6788 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
6789 Markup
(_visitors_r0, _visitors_r1)
6790 method on_Using env _visitors_c0
=
6791 let _visitors_r0 = self#on_using_stmt env _visitors_c0
in
6793 method on_Declare env _visitors_c0 _visitors_c1 _visitors_c2
=
6794 let _visitors_r0 = self#on_bool env _visitors_c0
in
6795 let _visitors_r1 = self#on_expr env _visitors_c1
in
6796 let _visitors_r2 = self#on_block env _visitors_c2
in
6797 Declare
(_visitors_r0, _visitors_r1, _visitors_r2)
6798 method on_stmt_ env _visitors_this
=
6799 match _visitors_this
with
6800 | Unsafe
-> self#on_Unsafe env
6801 | Fallthrough
-> self#on_Fallthrough env
6802 | Expr _visitors_c0
-> self#on_Expr env _visitors_c0
6803 | Block _visitors_c0
-> self#on_Block env _visitors_c0
6804 | Break _visitors_c0
-> self#on_Break env _visitors_c0
6805 | Continue _visitors_c0
-> self#on_Continue env _visitors_c0
6806 | Throw _visitors_c0
-> self#on_Throw env _visitors_c0
6807 | Return _visitors_c0
-> self#on_Return env _visitors_c0
6808 | GotoLabel _visitors_c0
-> self#on_GotoLabel env _visitors_c0
6809 | Goto _visitors_c0
-> self#on_Goto env _visitors_c0
6810 | Static_var _visitors_c0
-> self#on_Static_var env _visitors_c0
6811 | Global_var _visitors_c0
-> self#on_Global_var env _visitors_c0
6812 | If
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6813 self#on_If env _visitors_c0 _visitors_c1 _visitors_c2
6814 | Do
(_visitors_c0
,_visitors_c1
) ->
6815 self#on_Do env _visitors_c0 _visitors_c1
6816 | While
(_visitors_c0
,_visitors_c1
) ->
6817 self#on_While env _visitors_c0 _visitors_c1
6818 | For
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
6819 self#on_For env _visitors_c0 _visitors_c1 _visitors_c2
6821 | Switch
(_visitors_c0
,_visitors_c1
) ->
6822 self#on_Switch env _visitors_c0 _visitors_c1
6823 | Foreach
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
6824 self#on_Foreach env _visitors_c0 _visitors_c1 _visitors_c2
6826 | Try
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6827 self#on_Try env _visitors_c0 _visitors_c1 _visitors_c2
6828 | Def_inline _visitors_c0
-> self#on_Def_inline env _visitors_c0
6829 | Noop
-> self#on_Noop env
6830 | Markup
(_visitors_c0
,_visitors_c1
) ->
6831 self#on_Markup env _visitors_c0 _visitors_c1
6832 | Using _visitors_c0
-> self#on_Using env _visitors_c0
6833 | Declare
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
6834 self#on_Declare env _visitors_c0 _visitors_c1 _visitors_c2
6835 method on_As_v env _visitors_c0
=
6836 let _visitors_r0 = self#on_expr env _visitors_c0
in
6838 method on_As_kv env _visitors_c0 _visitors_c1
=
6839 let _visitors_r0 = self#on_expr env _visitors_c0
in
6840 let _visitors_r1 = self#on_expr env _visitors_c1
in
6841 As_kv
(_visitors_r0, _visitors_r1)
6842 method on_as_expr env _visitors_this
=
6843 match _visitors_this
with
6844 | As_v _visitors_c0
-> self#on_As_v env _visitors_c0
6845 | As_kv
(_visitors_c0
,_visitors_c1
) ->
6846 self#on_As_kv env _visitors_c0 _visitors_c1
6847 method on_Xhp_simple env _visitors_c0 _visitors_c1
=
6848 let _visitors_r0 = self#on_id env _visitors_c0
in
6849 let _visitors_r1 = self#on_expr env _visitors_c1
in
6850 Xhp_simple
(_visitors_r0, _visitors_r1)
6851 method on_Xhp_spread env _visitors_c0
=
6852 let _visitors_r0 = self#on_expr env _visitors_c0
in
6853 Xhp_spread
_visitors_r0
6854 method on_xhp_attribute env _visitors_this
=
6855 match _visitors_this
with
6856 | Xhp_simple
(_visitors_c0
,_visitors_c1
) ->
6857 self#on_Xhp_simple env _visitors_c0 _visitors_c1
6858 | Xhp_spread _visitors_c0
-> self#on_Xhp_spread env _visitors_c0
6859 method on_block env
= self#on_list self#on_stmt env
6860 method on_expr env
(_visitors_c0
,_visitors_c1
) =
6861 let _visitors_r0 = self#on_pos env _visitors_c0
in
6862 let _visitors_r1 = self#on_expr_ env _visitors_c1
in
6863 (_visitors_r0, _visitors_r1)
6864 method on_Array env _visitors_c0
=
6865 let _visitors_r0 = self#on_list self#on_afield env _visitors_c0
in
6867 method on_Varray env _visitors_c0
=
6868 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
6870 method on_Darray env _visitors_c0
=
6874 fun (_visitors_c0
,_visitors_c1
) ->
6875 let _visitors_r0 = self#on_expr env _visitors_c0
in
6876 let _visitors_r1 = self#on_expr env _visitors_c1
in
6877 (_visitors_r0, _visitors_r1)) env _visitors_c0
6880 method on_Shape env _visitors_c0
=
6884 fun (_visitors_c0
,_visitors_c1
) ->
6886 self#on_shape_field_name env _visitors_c0
in
6887 let _visitors_r1 = self#on_expr env _visitors_c1
in
6888 (_visitors_r0, _visitors_r1)) env _visitors_c0
6891 method on_Collection env _visitors_c0 _visitors_c1
=
6892 let _visitors_r0 = self#on_id env _visitors_c0
in
6893 let _visitors_r1 = self#on_list self#on_afield env _visitors_c1
in
6894 Collection
(_visitors_r0, _visitors_r1)
6895 method on_Null env
= Null
6896 method on_True env
= True
6897 method on_False env
= False
6898 method on_Omitted env
= Omitted
6899 method on_Id env _visitors_c0
=
6900 let _visitors_r0 = self#on_id env _visitors_c0
in Id
_visitors_r0
6901 method on_Id_type_arguments env _visitors_c0 _visitors_c1
=
6902 let _visitors_r0 = self#on_id env _visitors_c0
in
6903 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
6904 Id_type_arguments
(_visitors_r0, _visitors_r1)
6905 method on_Lvar env _visitors_c0
=
6906 let _visitors_r0 = self#on_id env _visitors_c0
in
6908 method on_Dollar env _visitors_c0
=
6909 let _visitors_r0 = self#on_expr env _visitors_c0
in
6911 method on_Clone env _visitors_c0
=
6912 let _visitors_r0 = self#on_expr env _visitors_c0
in
6914 method on_Obj_get env _visitors_c0 _visitors_c1 _visitors_c2
=
6915 let _visitors_r0 = self#on_expr env _visitors_c0
in
6916 let _visitors_r1 = self#on_expr env _visitors_c1
in
6917 let _visitors_r2 = self#on_og_null_flavor env _visitors_c2
in
6918 Obj_get
(_visitors_r0, _visitors_r1, _visitors_r2)
6919 method on_Array_get env _visitors_c0 _visitors_c1
=
6920 let _visitors_r0 = self#on_expr env _visitors_c0
in
6921 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
6922 Array_get
(_visitors_r0, _visitors_r1)
6923 method on_Class_get env _visitors_c0 _visitors_c1
=
6924 let _visitors_r0 = self#on_expr env _visitors_c0
in
6925 let _visitors_r1 = self#on_expr env _visitors_c1
in
6926 Class_get
(_visitors_r0, _visitors_r1)
6927 method on_Class_const env _visitors_c0 _visitors_c1
=
6928 let _visitors_r0 = self#on_expr env _visitors_c0
in
6929 let _visitors_r1 = self#on_pstring env _visitors_c1
in
6930 Class_const
(_visitors_r0, _visitors_r1)
6931 method on_Call env _visitors_c0 _visitors_c1 _visitors_c2
6933 let _visitors_r0 = self#on_expr env _visitors_c0
in
6934 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
6935 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
6936 let _visitors_r3 = self#on_list self#on_expr env _visitors_c3
in
6937 Call
(_visitors_r0, _visitors_r1, _visitors_r2, _visitors_r3)
6938 method on_Int env _visitors_c0
=
6939 let _visitors_r0 = self#on_pstring env _visitors_c0
in
6941 method on_Float env _visitors_c0
=
6942 let _visitors_r0 = self#on_pstring env _visitors_c0
in
6944 method on_String env _visitors_c0
=
6945 let _visitors_r0 = self#on_pstring env _visitors_c0
in
6947 method on_String2 env _visitors_c0
=
6948 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
6949 String2
_visitors_r0
6950 method on_Yield env _visitors_c0
=
6951 let _visitors_r0 = self#on_afield env _visitors_c0
in
6953 method on_Yield_break env
= Yield_break
6954 method on_Yield_from env _visitors_c0
=
6955 let _visitors_r0 = self#on_expr env _visitors_c0
in
6956 Yield_from
_visitors_r0
6957 method on_Await env _visitors_c0
=
6958 let _visitors_r0 = self#on_expr env _visitors_c0
in
6960 method on_Suspend env _visitors_c0
=
6961 let _visitors_r0 = self#on_expr env _visitors_c0
in
6962 Suspend
_visitors_r0
6963 method on_List env _visitors_c0
=
6964 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
6966 method on_Expr_list env _visitors_c0
=
6967 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
6968 Expr_list
_visitors_r0
6969 method on_Cast env _visitors_c0 _visitors_c1
=
6970 let _visitors_r0 = self#on_hint env _visitors_c0
in
6971 let _visitors_r1 = self#on_expr env _visitors_c1
in
6972 Cast
(_visitors_r0, _visitors_r1)
6973 method on_Unop env _visitors_c0 _visitors_c1
=
6974 let _visitors_r0 = self#on_uop env _visitors_c0
in
6975 let _visitors_r1 = self#on_expr env _visitors_c1
in
6976 Unop
(_visitors_r0, _visitors_r1)
6977 method on_Binop env _visitors_c0 _visitors_c1 _visitors_c2
=
6978 let _visitors_r0 = self#on_bop env _visitors_c0
in
6979 let _visitors_r1 = self#on_expr env _visitors_c1
in
6980 let _visitors_r2 = self#on_expr env _visitors_c2
in
6981 Binop
(_visitors_r0, _visitors_r1, _visitors_r2)
6982 method on_Pipe env _visitors_c0 _visitors_c1
=
6983 let _visitors_r0 = self#on_expr env _visitors_c0
in
6984 let _visitors_r1 = self#on_expr env _visitors_c1
in
6985 Pipe
(_visitors_r0, _visitors_r1)
6986 method on_Eif env _visitors_c0 _visitors_c1 _visitors_c2
=
6987 let _visitors_r0 = self#on_expr env _visitors_c0
in
6988 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
6989 let _visitors_r2 = self#on_expr env _visitors_c2
in
6990 Eif
(_visitors_r0, _visitors_r1, _visitors_r2)
6991 method on_NullCoalesce env _visitors_c0 _visitors_c1
=
6992 let _visitors_r0 = self#on_expr env _visitors_c0
in
6993 let _visitors_r1 = self#on_expr env _visitors_c1
in
6994 NullCoalesce
(_visitors_r0, _visitors_r1)
6995 method on_InstanceOf env _visitors_c0 _visitors_c1
=
6996 let _visitors_r0 = self#on_expr env _visitors_c0
in
6997 let _visitors_r1 = self#on_expr env _visitors_c1
in
6998 InstanceOf
(_visitors_r0, _visitors_r1)
6999 method on_Is env _visitors_c0 _visitors_c1
=
7000 let _visitors_r0 = self#on_expr env _visitors_c0
in
7001 let _visitors_r1 = self#on_hint env _visitors_c1
in
7002 Is
(_visitors_r0, _visitors_r1)
7003 method on_BracedExpr env _visitors_c0
=
7004 let _visitors_r0 = self#on_expr env _visitors_c0
in
7005 BracedExpr
_visitors_r0
7006 method on_ParenthesizedExpr env _visitors_c0
=
7007 let _visitors_r0 = self#on_expr env _visitors_c0
in
7008 ParenthesizedExpr
_visitors_r0
7009 method on_New env _visitors_c0 _visitors_c1 _visitors_c2
=
7010 let _visitors_r0 = self#on_expr env _visitors_c0
in
7011 let _visitors_r1 = self#on_list self#on_expr env _visitors_c1
in
7012 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
7013 New
(_visitors_r0, _visitors_r1, _visitors_r2)
7014 method on_NewAnonClass env _visitors_c0 _visitors_c1 _visitors_c2
=
7015 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7016 let _visitors_r1 = self#on_list self#on_expr env _visitors_c1
in
7017 let _visitors_r2 = self#on_class_ env _visitors_c2
in
7018 NewAnonClass
(_visitors_r0, _visitors_r1, _visitors_r2)
7019 method on_Efun env _visitors_c0 _visitors_c1
=
7020 let _visitors_r0 = self#on_fun_ env _visitors_c0
in
7024 fun (_visitors_c0
,_visitors_c1
) ->
7025 let _visitors_r0 = self#on_id env _visitors_c0
in
7026 let _visitors_r1 = self#on_bool env _visitors_c1
in
7027 (_visitors_r0, _visitors_r1)) env _visitors_c1
7029 Efun
(_visitors_r0, _visitors_r1)
7030 method on_Lfun env _visitors_c0
=
7031 let _visitors_r0 = self#on_fun_ env _visitors_c0
in
7033 method on_Xml env _visitors_c0 _visitors_c1 _visitors_c2
=
7034 let _visitors_r0 = self#on_id env _visitors_c0
in
7036 self#on_list self#on_xhp_attribute env _visitors_c1
in
7037 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
7038 Xml
(_visitors_r0, _visitors_r1, _visitors_r2)
7039 method on_Unsafeexpr env _visitors_c0
=
7040 let _visitors_r0 = self#on_expr env _visitors_c0
in
7041 Unsafeexpr
_visitors_r0
7042 method on_Import env _visitors_c0 _visitors_c1
=
7043 let _visitors_r0 = self#on_import_flavor env _visitors_c0
in
7044 let _visitors_r1 = self#on_expr env _visitors_c1
in
7045 Import
(_visitors_r0, _visitors_r1)
7046 method on_Callconv env _visitors_c0 _visitors_c1
=
7047 let _visitors_r0 = self#on_param_kind env _visitors_c0
in
7048 let _visitors_r1 = self#on_expr env _visitors_c1
in
7049 Callconv
(_visitors_r0, _visitors_r1)
7050 method on_Execution_operator env _visitors_c0
=
7051 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7052 Execution_operator
_visitors_r0
7053 method on_expr_ env _visitors_this
=
7054 match _visitors_this
with
7055 | Array _visitors_c0
-> self#on_Array env _visitors_c0
7056 | Varray _visitors_c0
-> self#on_Varray env _visitors_c0
7057 | Darray _visitors_c0
-> self#on_Darray env _visitors_c0
7058 | Shape _visitors_c0
-> self#on_Shape env _visitors_c0
7059 | Collection
(_visitors_c0
,_visitors_c1
) ->
7060 self#on_Collection env _visitors_c0 _visitors_c1
7061 | Null
-> self#on_Null env
7062 | True
-> self#on_True env
7063 | False
-> self#on_False env
7064 | Omitted
-> self#on_Omitted env
7065 | Id _visitors_c0
-> self#on_Id env _visitors_c0
7066 | Id_type_arguments
(_visitors_c0
,_visitors_c1
) ->
7067 self#on_Id_type_arguments env _visitors_c0 _visitors_c1
7068 | Lvar _visitors_c0
-> self#on_Lvar env _visitors_c0
7069 | Dollar _visitors_c0
-> self#on_Dollar env _visitors_c0
7070 | Clone _visitors_c0
-> self#on_Clone env _visitors_c0
7071 | Obj_get
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7072 self#on_Obj_get env _visitors_c0 _visitors_c1 _visitors_c2
7073 | Array_get
(_visitors_c0
,_visitors_c1
) ->
7074 self#on_Array_get env _visitors_c0 _visitors_c1
7075 | Class_get
(_visitors_c0
,_visitors_c1
) ->
7076 self#on_Class_get env _visitors_c0 _visitors_c1
7077 | Class_const
(_visitors_c0
,_visitors_c1
) ->
7078 self#on_Class_const env _visitors_c0 _visitors_c1
7079 | Call
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
7080 self#on_Call env _visitors_c0 _visitors_c1 _visitors_c2
7082 | Int _visitors_c0
-> self#on_Int env _visitors_c0
7083 | Float _visitors_c0
-> self#on_Float env _visitors_c0
7084 | String _visitors_c0
-> self#on_String env _visitors_c0
7085 | String2 _visitors_c0
-> self#on_String2 env _visitors_c0
7086 | Yield _visitors_c0
-> self#on_Yield env _visitors_c0
7087 | Yield_break
-> self#on_Yield_break env
7088 | Yield_from _visitors_c0
-> self#on_Yield_from env _visitors_c0
7089 | Await _visitors_c0
-> self#on_Await env _visitors_c0
7090 | Suspend _visitors_c0
-> self#on_Suspend env _visitors_c0
7091 | List _visitors_c0
-> self#on_List env _visitors_c0
7092 | Expr_list _visitors_c0
-> self#on_Expr_list env _visitors_c0
7093 | Cast
(_visitors_c0
,_visitors_c1
) ->
7094 self#on_Cast env _visitors_c0 _visitors_c1
7095 | Unop
(_visitors_c0
,_visitors_c1
) ->
7096 self#on_Unop env _visitors_c0 _visitors_c1
7097 | Binop
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7098 self#on_Binop env _visitors_c0 _visitors_c1 _visitors_c2
7099 | Pipe
(_visitors_c0
,_visitors_c1
) ->
7100 self#on_Pipe env _visitors_c0 _visitors_c1
7101 | Eif
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7102 self#on_Eif env _visitors_c0 _visitors_c1 _visitors_c2
7103 | NullCoalesce
(_visitors_c0
,_visitors_c1
) ->
7104 self#on_NullCoalesce env _visitors_c0 _visitors_c1
7105 | InstanceOf
(_visitors_c0
,_visitors_c1
) ->
7106 self#on_InstanceOf env _visitors_c0 _visitors_c1
7107 | Is
(_visitors_c0
,_visitors_c1
) ->
7108 self#on_Is env _visitors_c0 _visitors_c1
7109 | BracedExpr _visitors_c0
-> self#on_BracedExpr env _visitors_c0
7110 | ParenthesizedExpr _visitors_c0
->
7111 self#on_ParenthesizedExpr env _visitors_c0
7112 | New
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7113 self#on_New env _visitors_c0 _visitors_c1 _visitors_c2
7114 | NewAnonClass
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7115 self#on_NewAnonClass env _visitors_c0 _visitors_c1 _visitors_c2
7116 | Efun
(_visitors_c0
,_visitors_c1
) ->
7117 self#on_Efun env _visitors_c0 _visitors_c1
7118 | Lfun _visitors_c0
-> self#on_Lfun env _visitors_c0
7119 | Xml
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7120 self#on_Xml env _visitors_c0 _visitors_c1 _visitors_c2
7121 | Unsafeexpr _visitors_c0
-> self#on_Unsafeexpr env _visitors_c0
7122 | Import
(_visitors_c0
,_visitors_c1
) ->
7123 self#on_Import env _visitors_c0 _visitors_c1
7124 | Callconv
(_visitors_c0
,_visitors_c1
) ->
7125 self#on_Callconv env _visitors_c0 _visitors_c1
7126 | Execution_operator _visitors_c0
->
7127 self#on_Execution_operator env _visitors_c0
7128 method on_Include env
= Include
7129 method on_Require env
= Require
7130 method on_IncludeOnce env
= IncludeOnce
7131 method on_RequireOnce env
= RequireOnce
7132 method on_import_flavor env _visitors_this
=
7133 match _visitors_this
with
7134 | Include
-> self#on_Include env
7135 | Require
-> self#on_Require env
7136 | IncludeOnce
-> self#on_IncludeOnce env
7137 | RequireOnce
-> self#on_RequireOnce env
7138 method on_AFvalue env _visitors_c0
=
7139 let _visitors_r0 = self#on_expr env _visitors_c0
in
7140 AFvalue
_visitors_r0
7141 method on_AFkvalue env _visitors_c0 _visitors_c1
=
7142 let _visitors_r0 = self#on_expr env _visitors_c0
in
7143 let _visitors_r1 = self#on_expr env _visitors_c1
in
7144 AFkvalue
(_visitors_r0, _visitors_r1)
7145 method on_afield env _visitors_this
=
7146 match _visitors_this
with
7147 | AFvalue _visitors_c0
-> self#on_AFvalue env _visitors_c0
7148 | AFkvalue
(_visitors_c0
,_visitors_c1
) ->
7149 self#on_AFkvalue env _visitors_c0 _visitors_c1
7150 method on_Default env _visitors_c0
=
7151 let _visitors_r0 = self#on_block env _visitors_c0
in
7152 Default
_visitors_r0
7153 method on_Case env _visitors_c0 _visitors_c1
=
7154 let _visitors_r0 = self#on_expr env _visitors_c0
in
7155 let _visitors_r1 = self#on_block env _visitors_c1
in
7156 Case
(_visitors_r0, _visitors_r1)
7157 method on_case env _visitors_this
=
7158 match _visitors_this
with
7159 | Default _visitors_c0
-> self#on_Default env _visitors_c0
7160 | Case
(_visitors_c0
,_visitors_c1
) ->
7161 self#on_Case env _visitors_c0 _visitors_c1
7162 method on_catch env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
7163 let _visitors_r0 = self#on_id env _visitors_c0
in
7164 let _visitors_r1 = self#on_id env _visitors_c1
in
7165 let _visitors_r2 = self#on_block env _visitors_c2
in
7166 (_visitors_r0, _visitors_r1, _visitors_r2)
7167 method on_field env
(_visitors_c0
,_visitors_c1
) =
7168 let _visitors_r0 = self#on_expr env _visitors_c0
in
7169 let _visitors_r1 = self#on_expr env _visitors_c1
in
7170 (_visitors_r0, _visitors_r1)
7171 method on_attr env
(_visitors_c0
,_visitors_c1
) =
7172 let _visitors_r0 = self#on_id env _visitors_c0
in
7173 let _visitors_r1 = self#on_expr env _visitors_c1
in
7174 (_visitors_r0, _visitors_r1)
7180 [@@@ocaml
.warning
"-4-26-27"]
7181 [@@@VISITORS.BEGIN
]
7182 class virtual ['self
] iter
=
7183 object (self
: 'self
)
7184 inherit [_
] iter_defs
7185 method on_program env
= self#on_list self#on_def env
7186 method on_nsenv env _visitors_this
= ()
7187 method on_fimode env _visitors_this
= ()
7188 method on_Fun env _visitors_c0
=
7189 let _visitors_r0 = self#on_fun_ env _visitors_c0
in ()
7190 method on_Class env _visitors_c0
=
7191 let _visitors_r0 = self#on_class_ env _visitors_c0
in ()
7192 method on_Stmt env _visitors_c0
=
7193 let _visitors_r0 = self#on_stmt env _visitors_c0
in ()
7194 method on_Typedef env _visitors_c0
=
7195 let _visitors_r0 = self#on_typedef env _visitors_c0
in ()
7196 method on_Constant env _visitors_c0
=
7197 let _visitors_r0 = self#on_gconst env _visitors_c0
in ()
7198 method on_Namespace env _visitors_c0 _visitors_c1
=
7199 let _visitors_r0 = self#on_id env _visitors_c0
in
7200 let _visitors_r1 = self#on_program env _visitors_c1
in ()
7201 method on_NamespaceUse env _visitors_c0
=
7205 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7206 let _visitors_r0 = self#on_ns_kind env _visitors_c0
in
7207 let _visitors_r1 = self#on_id env _visitors_c1
in
7208 let _visitors_r2 = self#on_id env _visitors_c2
in ()) env
7212 method on_SetNamespaceEnv env _visitors_c0
=
7213 let _visitors_r0 = self#on_nsenv env _visitors_c0
in ()
7214 method on_def env _visitors_this
=
7215 match _visitors_this
with
7216 | Fun _visitors_c0
-> self#on_Fun env _visitors_c0
7217 | Class _visitors_c0
-> self#on_Class env _visitors_c0
7218 | Stmt _visitors_c0
-> self#on_Stmt env _visitors_c0
7219 | Typedef _visitors_c0
-> self#on_Typedef env _visitors_c0
7220 | Constant _visitors_c0
-> self#on_Constant env _visitors_c0
7221 | Namespace
(_visitors_c0
,_visitors_c1
) ->
7222 self#on_Namespace env _visitors_c0 _visitors_c1
7223 | NamespaceUse _visitors_c0
->
7224 self#on_NamespaceUse env _visitors_c0
7225 | SetNamespaceEnv _visitors_c0
->
7226 self#on_SetNamespaceEnv env _visitors_c0
7227 method on_typedef env _visitors_this
=
7228 let _visitors_r0 = self#on_id env _visitors_this
.t_id
in
7230 self#on_list self#on_tparam env _visitors_this
.t_tparams
in
7232 self#on_tconstraint env _visitors_this
.t_constraint
in
7233 let _visitors_r3 = self#on_typedef_kind env _visitors_this
.t_kind
7236 self#on_list self#on_user_attribute env
7237 _visitors_this
.t_user_attributes
7239 let _visitors_r5 = self#on_nsenv env _visitors_this
.t_namespace
in
7240 let _visitors_r6 = self#on_fimode env _visitors_this
.t_mode
in ()
7241 method on_gconst env _visitors_this
=
7242 let _visitors_r0 = self#on_fimode env _visitors_this
.cst_mode
in
7243 let _visitors_r1 = self#on_cst_kind env _visitors_this
.cst_kind
in
7244 let _visitors_r2 = self#on_id env _visitors_this
.cst_name
in
7246 self#on_option self#on_hint env _visitors_this
.cst_type
in
7247 let _visitors_r4 = self#on_expr env _visitors_this
.cst_value
in
7248 let _visitors_r5 = self#on_nsenv env _visitors_this
.cst_namespace
7250 let _visitors_r6 = self#on_pos env _visitors_this
.cst_span
in ()
7251 method on_tparam env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
7252 let _visitors_r0 = self#on_variance env _visitors_c0
in
7253 let _visitors_r1 = self#on_id env _visitors_c1
in
7257 fun (_visitors_c0
,_visitors_c1
) ->
7259 self#on_constraint_kind env _visitors_c0
in
7260 let _visitors_r1 = self#on_hint env _visitors_c1
in ())
7264 method on_tconstraint env
= self#on_option self#on_hint env
7265 method on_Alias env _visitors_c0
=
7266 let _visitors_r0 = self#on_hint env _visitors_c0
in ()
7267 method on_NewType env _visitors_c0
=
7268 let _visitors_r0 = self#on_hint env _visitors_c0
in ()
7269 method on_typedef_kind env _visitors_this
=
7270 match _visitors_this
with
7271 | Alias _visitors_c0
-> self#on_Alias env _visitors_c0
7272 | NewType _visitors_c0
-> self#on_NewType env _visitors_c0
7273 method on_class_ env _visitors_this
=
7274 let _visitors_r0 = self#on_fimode env _visitors_this
.c_mode
in
7276 self#on_list self#on_user_attribute env
7277 _visitors_this
.c_user_attributes
7279 let _visitors_r2 = self#on_bool env _visitors_this
.c_final
in
7280 let _visitors_r3 = self#on_class_kind env _visitors_this
.c_kind
in
7281 let _visitors_r4 = self#on_bool env _visitors_this
.c_is_xhp
in
7282 let _visitors_r5 = self#on_id env _visitors_this
.c_name
in
7284 self#on_list self#on_tparam env _visitors_this
.c_tparams
in
7286 self#on_list self#on_hint env _visitors_this
.c_extends
in
7288 self#on_list self#on_hint env _visitors_this
.c_implements
in
7290 self#on_list self#on_class_elt env _visitors_this
.c_body
in
7291 let _visitors_r10 = self#on_nsenv env _visitors_this
.c_namespace
7294 self#on_option self#on_enum_ env _visitors_this
.c_enum
in
7295 let _visitors_r12 = self#on_pos env _visitors_this
.c_span
in
7297 self#on_option self#on_string env _visitors_this
.c_doc_comment
7300 method on_enum_ env _visitors_this
=
7301 let _visitors_r0 = self#on_hint env _visitors_this
.e_base
in
7303 self#on_option self#on_hint env _visitors_this
.e_constraint
in
7305 method on_user_attribute env _visitors_this
=
7306 let _visitors_r0 = self#on_id env _visitors_this
.ua_name
in
7308 self#on_list self#on_expr env _visitors_this
.ua_params
in
7310 method on_Const env _visitors_c0 _visitors_c1
=
7311 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
7315 fun (_visitors_c0
,_visitors_c1
) ->
7316 let _visitors_r0 = self#on_id env _visitors_c0
in
7317 let _visitors_r1 = self#on_expr env _visitors_c1
in ())
7321 method on_AbsConst env _visitors_c0 _visitors_c1
=
7322 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
7323 let _visitors_r1 = self#on_id env _visitors_c1
in ()
7324 method on_Attributes env _visitors_c0
=
7325 let _visitors_r0 = self#on_list self#on_class_attr env _visitors_c0
7328 method on_TypeConst env _visitors_c0
=
7329 let _visitors_r0 = self#on_typeconst env _visitors_c0
in ()
7330 method on_ClassUse env _visitors_c0
=
7331 let _visitors_r0 = self#on_hint env _visitors_c0
in ()
7332 method on_ClassUseAlias env _visitors_c0 _visitors_c1 _visitors_c2
7334 let _visitors_r0 = self#on_option self#on_id env _visitors_c0
in
7335 let _visitors_r1 = self#on_pstring env _visitors_c1
in
7336 let _visitors_r2 = self#on_option self#on_id env _visitors_c2
in
7337 let _visitors_r3 = self#on_list self#on_kind env _visitors_c3
in
7339 method on_ClassUsePrecedence env _visitors_c0 _visitors_c1
7341 let _visitors_r0 = self#on_id env _visitors_c0
in
7342 let _visitors_r1 = self#on_pstring env _visitors_c1
in
7343 let _visitors_r2 = self#on_list self#on_id env _visitors_c2
in ()
7344 method on_XhpAttrUse env _visitors_c0
=
7345 let _visitors_r0 = self#on_hint env _visitors_c0
in ()
7346 method on_ClassTraitRequire env _visitors_c0 _visitors_c1
=
7347 let _visitors_r0 = self#on_trait_req_kind env _visitors_c0
in
7348 let _visitors_r1 = self#on_hint env _visitors_c1
in ()
7349 method on_ClassVars env _visitors_c0
=
7350 let _visitors_r0 = self#on_class_vars_ env _visitors_c0
in ()
7351 method on_XhpAttr env _visitors_c0 _visitors_c1 _visitors_c2
7353 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
7354 let _visitors_r1 = self#on_class_var env _visitors_c1
in
7355 let _visitors_r2 = self#on_bool env _visitors_c2
in
7359 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7360 let _visitors_r0 = self#on_pos env _visitors_c0
in
7361 let _visitors_r1 = self#on_bool env _visitors_c1
in
7363 self#on_list self#on_expr env _visitors_c2
in
7364 ()) env _visitors_c3
7367 method on_Method env _visitors_c0
=
7368 let _visitors_r0 = self#on_method_ env _visitors_c0
in ()
7369 method on_XhpCategory env _visitors_c0
=
7370 let _visitors_r0 = self#on_list self#on_pstring env _visitors_c0
7373 method on_XhpChild env _visitors_c0
=
7374 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in ()
7375 method on_class_elt env _visitors_this
=
7376 match _visitors_this
with
7377 | Const
(_visitors_c0
,_visitors_c1
) ->
7378 self#on_Const env _visitors_c0 _visitors_c1
7379 | AbsConst
(_visitors_c0
,_visitors_c1
) ->
7380 self#on_AbsConst env _visitors_c0 _visitors_c1
7381 | Attributes _visitors_c0
-> self#on_Attributes env _visitors_c0
7382 | TypeConst _visitors_c0
-> self#on_TypeConst env _visitors_c0
7383 | ClassUse _visitors_c0
-> self#on_ClassUse env _visitors_c0
7385 (_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
7386 self#on_ClassUseAlias env _visitors_c0 _visitors_c1
7387 _visitors_c2 _visitors_c3
7388 | ClassUsePrecedence
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7389 self#on_ClassUsePrecedence env _visitors_c0 _visitors_c1
7391 | XhpAttrUse _visitors_c0
-> self#on_XhpAttrUse env _visitors_c0
7392 | ClassTraitRequire
(_visitors_c0
,_visitors_c1
) ->
7393 self#on_ClassTraitRequire env _visitors_c0 _visitors_c1
7394 | ClassVars _visitors_c0
-> self#on_ClassVars env _visitors_c0
7395 | XhpAttr
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
7396 self#on_XhpAttr env _visitors_c0 _visitors_c1 _visitors_c2
7398 | Method _visitors_c0
-> self#on_Method env _visitors_c0
7399 | XhpCategory _visitors_c0
-> self#on_XhpCategory env _visitors_c0
7400 | XhpChild _visitors_c0
-> self#on_XhpChild env _visitors_c0
7401 method on_ChildName env _visitors_c0
=
7402 let _visitors_r0 = self#on_id env _visitors_c0
in ()
7403 method on_ChildList env _visitors_c0
=
7404 let _visitors_r0 = self#on_list self#on_xhp_child env _visitors_c0
7407 method on_ChildUnary env _visitors_c0 _visitors_c1
=
7408 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in
7409 let _visitors_r1 = self#on_xhp_child_op env _visitors_c1
in ()
7410 method on_ChildBinary env _visitors_c0 _visitors_c1
=
7411 let _visitors_r0 = self#on_xhp_child env _visitors_c0
in
7412 let _visitors_r1 = self#on_xhp_child env _visitors_c1
in ()
7413 method on_xhp_child env _visitors_this
=
7414 match _visitors_this
with
7415 | ChildName _visitors_c0
-> self#on_ChildName env _visitors_c0
7416 | ChildList _visitors_c0
-> self#on_ChildList env _visitors_c0
7417 | ChildUnary
(_visitors_c0
,_visitors_c1
) ->
7418 self#on_ChildUnary env _visitors_c0 _visitors_c1
7419 | ChildBinary
(_visitors_c0
,_visitors_c1
) ->
7420 self#on_ChildBinary env _visitors_c0 _visitors_c1
7421 method on_ChildStar env
= ()
7422 method on_ChildPlus env
= ()
7423 method on_ChildQuestion env
= ()
7424 method on_xhp_child_op env _visitors_this
=
7425 match _visitors_this
with
7426 | ChildStar
-> self#on_ChildStar env
7427 | ChildPlus
-> self#on_ChildPlus env
7428 | ChildQuestion
-> self#on_ChildQuestion env
7429 method on_CA_name env _visitors_c0
=
7430 let _visitors_r0 = self#on_id env _visitors_c0
in ()
7431 method on_CA_field env _visitors_c0
=
7432 let _visitors_r0 = self#on_ca_field env _visitors_c0
in ()
7433 method on_class_attr env _visitors_this
=
7434 match _visitors_this
with
7435 | CA_name _visitors_c0
-> self#on_CA_name env _visitors_c0
7436 | CA_field _visitors_c0
-> self#on_CA_field env _visitors_c0
7437 method on_ca_field env _visitors_this
=
7438 let _visitors_r0 = self#on_ca_type env _visitors_this
.ca_type
in
7439 let _visitors_r1 = self#on_id env _visitors_this
.ca_id
in
7441 self#on_option self#on_expr env _visitors_this
.ca_value
in
7442 let _visitors_r3 = self#on_bool env _visitors_this
.ca_required
in
7444 method on_CA_hint env _visitors_c0
=
7445 let _visitors_r0 = self#on_hint env _visitors_c0
in ()
7446 method on_CA_enum env _visitors_c0
=
7447 let _visitors_r0 = self#on_list self#on_string env _visitors_c0
in
7449 method on_ca_type env _visitors_this
=
7450 match _visitors_this
with
7451 | CA_hint _visitors_c0
-> self#on_CA_hint env _visitors_c0
7452 | CA_enum _visitors_c0
-> self#on_CA_enum env _visitors_c0
7453 method on_class_var env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
7454 let _visitors_r0 = self#on_pos env _visitors_c0
in
7455 let _visitors_r1 = self#on_id env _visitors_c1
in
7456 let _visitors_r2 = self#on_option self#on_expr env _visitors_c2
in
7458 method on_class_vars_ env _visitors_this
=
7460 self#on_list self#on_kind env _visitors_this
.cv_kinds
in
7462 self#on_option self#on_hint env _visitors_this
.cv_hint
in
7464 self#on_is_variadic env _visitors_this
.cv_is_promoted_variadic
7467 self#on_list self#on_class_var env _visitors_this
.cv_names
in
7469 self#on_option self#on_string env _visitors_this
.cv_doc_comment
7472 self#on_list self#on_user_attribute env
7473 _visitors_this
.cv_user_attributes
7476 method on_method_ env _visitors_this
=
7478 self#on_list self#on_kind env _visitors_this
.m_kind
in
7480 self#on_list self#on_tparam env _visitors_this
.m_tparams
in
7484 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7485 let _visitors_r0 = self#on_hint env _visitors_c0
in
7487 self#on_constraint_kind env _visitors_c1
in
7488 let _visitors_r2 = self#on_hint env _visitors_c2
in ())
7489 env _visitors_this
.m_constrs
7491 let _visitors_r3 = self#on_id env _visitors_this
.m_name
in
7493 self#on_list self#on_fun_param env _visitors_this
.m_params
in
7494 let _visitors_r5 = self#on_block env _visitors_this
.m_body
in
7496 self#on_list self#on_user_attribute env
7497 _visitors_this
.m_user_attributes
7500 self#on_option self#on_hint env _visitors_this
.m_ret
in
7501 let _visitors_r8 = self#on_bool env _visitors_this
.m_ret_by_ref
in
7502 let _visitors_r9 = self#on_fun_kind env _visitors_this
.m_fun_kind
7504 let _visitors_r10 = self#on_pos env _visitors_this
.m_span
in
7506 self#on_option self#on_string env _visitors_this
.m_doc_comment
7509 method on_typeconst env _visitors_this
=
7510 let _visitors_r0 = self#on_bool env _visitors_this
.tconst_abstract
7512 let _visitors_r1 = self#on_id env _visitors_this
.tconst_name
in
7514 self#on_list self#on_tparam env _visitors_this
.tconst_tparams
in
7516 self#on_option self#on_hint env _visitors_this
.tconst_constraint
7519 self#on_option self#on_hint env _visitors_this
.tconst_type
in
7520 let _visitors_r5 = self#on_pos env _visitors_this
.tconst_span
in
7522 method on_is_reference env
= self#on_bool env
7523 method on_is_variadic env
= self#on_bool env
7524 method on_fun_param env _visitors_this
=
7526 self#on_option self#on_hint env _visitors_this
.param_hint
in
7528 self#on_is_reference env _visitors_this
.param_is_reference
in
7530 self#on_is_variadic env _visitors_this
.param_is_variadic
in
7531 let _visitors_r3 = self#on_id env _visitors_this
.param_id
in
7533 self#on_option self#on_expr env _visitors_this
.param_expr
in
7535 self#on_option self#on_kind env _visitors_this
.param_modifier
in
7537 self#on_option self#on_param_kind env
7538 _visitors_this
.param_callconv
7541 self#on_list self#on_user_attribute env
7542 _visitors_this
.param_user_attributes
7545 method on_fun_ env _visitors_this
=
7546 let _visitors_r0 = self#on_fimode env _visitors_this
.f_mode
in
7548 self#on_list self#on_tparam env _visitors_this
.f_tparams
in
7552 fun (_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7553 let _visitors_r0 = self#on_hint env _visitors_c0
in
7555 self#on_constraint_kind env _visitors_c1
in
7556 let _visitors_r2 = self#on_hint env _visitors_c2
in ())
7557 env _visitors_this
.f_constrs
7560 self#on_option self#on_hint env _visitors_this
.f_ret
in
7561 let _visitors_r4 = self#on_bool env _visitors_this
.f_ret_by_ref
in
7562 let _visitors_r5 = self#on_id env _visitors_this
.f_name
in
7564 self#on_list self#on_fun_param env _visitors_this
.f_params
in
7565 let _visitors_r7 = self#on_block env _visitors_this
.f_body
in
7567 self#on_list self#on_user_attribute env
7568 _visitors_this
.f_user_attributes
7570 let _visitors_r9 = self#on_fun_kind env _visitors_this
.f_fun_kind
7572 let _visitors_r10 = self#on_nsenv env _visitors_this
.f_namespace
7574 let _visitors_r11 = self#on_pos env _visitors_this
.f_span
in
7576 self#on_option self#on_string env _visitors_this
.f_doc_comment
7578 let _visitors_r13 = self#on_bool env _visitors_this
.f_static
in ()
7579 method on_is_coroutine env
= self#on_bool env
7580 method on_hint env
(_visitors_c0
,_visitors_c1
) =
7581 let _visitors_r0 = self#on_pos env _visitors_c0
in
7582 let _visitors_r1 = self#on_hint_ env _visitors_c1
in ()
7583 method on_Hvariadic env _visitors_c0
=
7584 let _visitors_r0 = self#on_option self#on_hint env _visitors_c0
in
7586 method on_Hnon_variadic env
= ()
7587 method on_variadic_hint env _visitors_this
=
7588 match _visitors_this
with
7589 | Hvariadic _visitors_c0
-> self#on_Hvariadic env _visitors_c0
7590 | Hnon_variadic
-> self#on_Hnon_variadic env
7591 method on_Hoption env _visitors_c0
=
7592 let _visitors_r0 = self#on_hint env _visitors_c0
in ()
7593 method on_Hfun env _visitors_c0 _visitors_c1 _visitors_c2
7594 _visitors_c3 _visitors_c4
=
7595 let _visitors_r0 = self#on_is_coroutine env _visitors_c0
in
7596 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
7598 self#on_list
(self#on_option self#on_param_kind
) env _visitors_c2
7600 let _visitors_r3 = self#on_variadic_hint env _visitors_c3
in
7601 let _visitors_r4 = self#on_hint env _visitors_c4
in ()
7602 method on_Htuple env _visitors_c0
=
7603 let _visitors_r0 = self#on_list self#on_hint env _visitors_c0
in
7605 method on_Happly env _visitors_c0 _visitors_c1
=
7606 let _visitors_r0 = self#on_id env _visitors_c0
in
7607 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
7609 method on_Hshape env _visitors_c0
=
7610 let _visitors_r0 = self#on_shape_info env _visitors_c0
in ()
7611 method on_Haccess env _visitors_c0 _visitors_c1 _visitors_c2
=
7612 let _visitors_r0 = self#on_id env _visitors_c0
in
7613 let _visitors_r1 = self#on_id env _visitors_c1
in
7614 let _visitors_r2 = self#on_list self#on_id env _visitors_c2
in ()
7615 method on_Hsoft env _visitors_c0
=
7616 let _visitors_r0 = self#on_hint env _visitors_c0
in ()
7617 method on_hint_ env _visitors_this
=
7618 match _visitors_this
with
7619 | Hoption _visitors_c0
-> self#on_Hoption env _visitors_c0
7621 (_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
,_visitors_c4
)
7623 self#on_Hfun env _visitors_c0 _visitors_c1 _visitors_c2
7624 _visitors_c3 _visitors_c4
7625 | Htuple _visitors_c0
-> self#on_Htuple env _visitors_c0
7626 | Happly
(_visitors_c0
,_visitors_c1
) ->
7627 self#on_Happly env _visitors_c0 _visitors_c1
7628 | Hshape _visitors_c0
-> self#on_Hshape env _visitors_c0
7629 | Haccess
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7630 self#on_Haccess env _visitors_c0 _visitors_c1 _visitors_c2
7631 | Hsoft _visitors_c0
-> self#on_Hsoft env _visitors_c0
7632 method on_shape_info env _visitors_this
=
7634 self#on_bool env _visitors_this
.si_allows_unknown_fields
in
7636 self#on_list self#on_shape_field env
7637 _visitors_this
.si_shape_field_list
7640 method on_shape_field env _visitors_this
=
7641 let _visitors_r0 = self#on_bool env _visitors_this
.sf_optional
in
7643 self#on_shape_field_name env _visitors_this
.sf_name
in
7644 let _visitors_r2 = self#on_hint env _visitors_this
.sf_hint
in ()
7645 method on_using_stmt env _visitors_this
=
7647 self#on_bool env _visitors_this
.us_is_block_scoped
in
7648 let _visitors_r1 = self#on_bool env _visitors_this
.us_has_await
in
7649 let _visitors_r2 = self#on_expr env _visitors_this
.us_expr
in
7650 let _visitors_r3 = self#on_block env _visitors_this
.us_block
in ()
7651 method on_stmt env
(_visitors_c0
,_visitors_c1
) =
7652 let _visitors_r0 = self#on_pos env _visitors_c0
in
7653 let _visitors_r1 = self#on_stmt_ env _visitors_c1
in ()
7654 method on_Unsafe env
= ()
7655 method on_Fallthrough env
= ()
7656 method on_Expr env _visitors_c0
=
7657 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7658 method on_Block env _visitors_c0
=
7659 let _visitors_r0 = self#on_block env _visitors_c0
in ()
7660 method on_Break env _visitors_c0
=
7661 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
7663 method on_Continue env _visitors_c0
=
7664 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
7666 method on_Throw env _visitors_c0
=
7667 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7668 method on_Return env _visitors_c0
=
7669 let _visitors_r0 = self#on_option self#on_expr env _visitors_c0
in
7671 method on_GotoLabel env _visitors_c0
=
7672 let _visitors_r0 = self#on_pstring env _visitors_c0
in ()
7673 method on_Goto env _visitors_c0
=
7674 let _visitors_r0 = self#on_pstring env _visitors_c0
in ()
7675 method on_Static_var env _visitors_c0
=
7676 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7678 method on_Global_var env _visitors_c0
=
7679 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7681 method on_If env _visitors_c0 _visitors_c1 _visitors_c2
=
7682 let _visitors_r0 = self#on_expr env _visitors_c0
in
7683 let _visitors_r1 = self#on_block env _visitors_c1
in
7684 let _visitors_r2 = self#on_block env _visitors_c2
in ()
7685 method on_Do env _visitors_c0 _visitors_c1
=
7686 let _visitors_r0 = self#on_block env _visitors_c0
in
7687 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7688 method on_While env _visitors_c0 _visitors_c1
=
7689 let _visitors_r0 = self#on_expr env _visitors_c0
in
7690 let _visitors_r1 = self#on_block env _visitors_c1
in ()
7691 method on_For env _visitors_c0 _visitors_c1 _visitors_c2 _visitors_c3
7693 let _visitors_r0 = self#on_expr env _visitors_c0
in
7694 let _visitors_r1 = self#on_expr env _visitors_c1
in
7695 let _visitors_r2 = self#on_expr env _visitors_c2
in
7696 let _visitors_r3 = self#on_block env _visitors_c3
in ()
7697 method on_Switch env _visitors_c0 _visitors_c1
=
7698 let _visitors_r0 = self#on_expr env _visitors_c0
in
7699 let _visitors_r1 = self#on_list self#on_case env _visitors_c1
in
7701 method on_Foreach env _visitors_c0 _visitors_c1 _visitors_c2
7703 let _visitors_r0 = self#on_expr env _visitors_c0
in
7704 let _visitors_r1 = self#on_option self#on_pos env _visitors_c1
in
7705 let _visitors_r2 = self#on_as_expr env _visitors_c2
in
7706 let _visitors_r3 = self#on_block env _visitors_c3
in ()
7707 method on_Try env _visitors_c0 _visitors_c1 _visitors_c2
=
7708 let _visitors_r0 = self#on_block env _visitors_c0
in
7709 let _visitors_r1 = self#on_list self#on_catch env _visitors_c1
in
7710 let _visitors_r2 = self#on_block env _visitors_c2
in ()
7711 method on_Def_inline env _visitors_c0
=
7712 let _visitors_r0 = self#on_def env _visitors_c0
in ()
7713 method on_Noop env
= ()
7714 method on_Markup env _visitors_c0 _visitors_c1
=
7715 let _visitors_r0 = self#on_pstring env _visitors_c0
in
7716 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
7718 method on_Using env _visitors_c0
=
7719 let _visitors_r0 = self#on_using_stmt env _visitors_c0
in ()
7720 method on_Declare env _visitors_c0 _visitors_c1 _visitors_c2
=
7721 let _visitors_r0 = self#on_bool env _visitors_c0
in
7722 let _visitors_r1 = self#on_expr env _visitors_c1
in
7723 let _visitors_r2 = self#on_block env _visitors_c2
in ()
7724 method on_stmt_ env _visitors_this
=
7725 match _visitors_this
with
7726 | Unsafe
-> self#on_Unsafe env
7727 | Fallthrough
-> self#on_Fallthrough env
7728 | Expr _visitors_c0
-> self#on_Expr env _visitors_c0
7729 | Block _visitors_c0
-> self#on_Block env _visitors_c0
7730 | Break _visitors_c0
-> self#on_Break env _visitors_c0
7731 | Continue _visitors_c0
-> self#on_Continue env _visitors_c0
7732 | Throw _visitors_c0
-> self#on_Throw env _visitors_c0
7733 | Return _visitors_c0
-> self#on_Return env _visitors_c0
7734 | GotoLabel _visitors_c0
-> self#on_GotoLabel env _visitors_c0
7735 | Goto _visitors_c0
-> self#on_Goto env _visitors_c0
7736 | Static_var _visitors_c0
-> self#on_Static_var env _visitors_c0
7737 | Global_var _visitors_c0
-> self#on_Global_var env _visitors_c0
7738 | If
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7739 self#on_If env _visitors_c0 _visitors_c1 _visitors_c2
7740 | Do
(_visitors_c0
,_visitors_c1
) ->
7741 self#on_Do env _visitors_c0 _visitors_c1
7742 | While
(_visitors_c0
,_visitors_c1
) ->
7743 self#on_While env _visitors_c0 _visitors_c1
7744 | For
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
7745 self#on_For env _visitors_c0 _visitors_c1 _visitors_c2
7747 | Switch
(_visitors_c0
,_visitors_c1
) ->
7748 self#on_Switch env _visitors_c0 _visitors_c1
7749 | Foreach
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
7750 self#on_Foreach env _visitors_c0 _visitors_c1 _visitors_c2
7752 | Try
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7753 self#on_Try env _visitors_c0 _visitors_c1 _visitors_c2
7754 | Def_inline _visitors_c0
-> self#on_Def_inline env _visitors_c0
7755 | Noop
-> self#on_Noop env
7756 | Markup
(_visitors_c0
,_visitors_c1
) ->
7757 self#on_Markup env _visitors_c0 _visitors_c1
7758 | Using _visitors_c0
-> self#on_Using env _visitors_c0
7759 | Declare
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7760 self#on_Declare env _visitors_c0 _visitors_c1 _visitors_c2
7761 method on_As_v env _visitors_c0
=
7762 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7763 method on_As_kv env _visitors_c0 _visitors_c1
=
7764 let _visitors_r0 = self#on_expr env _visitors_c0
in
7765 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7766 method on_as_expr env _visitors_this
=
7767 match _visitors_this
with
7768 | As_v _visitors_c0
-> self#on_As_v env _visitors_c0
7769 | As_kv
(_visitors_c0
,_visitors_c1
) ->
7770 self#on_As_kv env _visitors_c0 _visitors_c1
7771 method on_Xhp_simple env _visitors_c0 _visitors_c1
=
7772 let _visitors_r0 = self#on_id env _visitors_c0
in
7773 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7774 method on_Xhp_spread env _visitors_c0
=
7775 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7776 method on_xhp_attribute env _visitors_this
=
7777 match _visitors_this
with
7778 | Xhp_simple
(_visitors_c0
,_visitors_c1
) ->
7779 self#on_Xhp_simple env _visitors_c0 _visitors_c1
7780 | Xhp_spread _visitors_c0
-> self#on_Xhp_spread env _visitors_c0
7781 method on_block env
= self#on_list self#on_stmt env
7782 method on_expr env
(_visitors_c0
,_visitors_c1
) =
7783 let _visitors_r0 = self#on_pos env _visitors_c0
in
7784 let _visitors_r1 = self#on_expr_ env _visitors_c1
in ()
7785 method on_Array env _visitors_c0
=
7786 let _visitors_r0 = self#on_list self#on_afield env _visitors_c0
in
7788 method on_Varray env _visitors_c0
=
7789 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7791 method on_Darray env _visitors_c0
=
7795 fun (_visitors_c0
,_visitors_c1
) ->
7796 let _visitors_r0 = self#on_expr env _visitors_c0
in
7797 let _visitors_r1 = self#on_expr env _visitors_c1
in ())
7801 method on_Shape env _visitors_c0
=
7805 fun (_visitors_c0
,_visitors_c1
) ->
7807 self#on_shape_field_name env _visitors_c0
in
7808 let _visitors_r1 = self#on_expr env _visitors_c1
in ())
7812 method on_Collection env _visitors_c0 _visitors_c1
=
7813 let _visitors_r0 = self#on_id env _visitors_c0
in
7814 let _visitors_r1 = self#on_list self#on_afield env _visitors_c1
in
7816 method on_Null env
= ()
7817 method on_True env
= ()
7818 method on_False env
= ()
7819 method on_Omitted env
= ()
7820 method on_Id env _visitors_c0
=
7821 let _visitors_r0 = self#on_id env _visitors_c0
in ()
7822 method on_Id_type_arguments env _visitors_c0 _visitors_c1
=
7823 let _visitors_r0 = self#on_id env _visitors_c0
in
7824 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
7826 method on_Lvar env _visitors_c0
=
7827 let _visitors_r0 = self#on_id env _visitors_c0
in ()
7828 method on_Dollar env _visitors_c0
=
7829 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7830 method on_Clone env _visitors_c0
=
7831 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7832 method on_Obj_get env _visitors_c0 _visitors_c1 _visitors_c2
=
7833 let _visitors_r0 = self#on_expr env _visitors_c0
in
7834 let _visitors_r1 = self#on_expr env _visitors_c1
in
7835 let _visitors_r2 = self#on_og_null_flavor env _visitors_c2
in ()
7836 method on_Array_get env _visitors_c0 _visitors_c1
=
7837 let _visitors_r0 = self#on_expr env _visitors_c0
in
7838 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
7840 method on_Class_get env _visitors_c0 _visitors_c1
=
7841 let _visitors_r0 = self#on_expr env _visitors_c0
in
7842 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7843 method on_Class_const env _visitors_c0 _visitors_c1
=
7844 let _visitors_r0 = self#on_expr env _visitors_c0
in
7845 let _visitors_r1 = self#on_pstring env _visitors_c1
in ()
7846 method on_Call env _visitors_c0 _visitors_c1 _visitors_c2
7848 let _visitors_r0 = self#on_expr env _visitors_c0
in
7849 let _visitors_r1 = self#on_list self#on_hint env _visitors_c1
in
7850 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
7851 let _visitors_r3 = self#on_list self#on_expr env _visitors_c3
in
7853 method on_Int env _visitors_c0
=
7854 let _visitors_r0 = self#on_pstring env _visitors_c0
in ()
7855 method on_Float env _visitors_c0
=
7856 let _visitors_r0 = self#on_pstring env _visitors_c0
in ()
7857 method on_String env _visitors_c0
=
7858 let _visitors_r0 = self#on_pstring env _visitors_c0
in ()
7859 method on_String2 env _visitors_c0
=
7860 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7862 method on_Yield env _visitors_c0
=
7863 let _visitors_r0 = self#on_afield env _visitors_c0
in ()
7864 method on_Yield_break env
= ()
7865 method on_Yield_from env _visitors_c0
=
7866 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7867 method on_Await env _visitors_c0
=
7868 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7869 method on_Suspend env _visitors_c0
=
7870 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7871 method on_List env _visitors_c0
=
7872 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7874 method on_Expr_list env _visitors_c0
=
7875 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7877 method on_Cast env _visitors_c0 _visitors_c1
=
7878 let _visitors_r0 = self#on_hint env _visitors_c0
in
7879 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7880 method on_Unop env _visitors_c0 _visitors_c1
=
7881 let _visitors_r0 = self#on_uop env _visitors_c0
in
7882 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7883 method on_Binop env _visitors_c0 _visitors_c1 _visitors_c2
=
7884 let _visitors_r0 = self#on_bop env _visitors_c0
in
7885 let _visitors_r1 = self#on_expr env _visitors_c1
in
7886 let _visitors_r2 = self#on_expr env _visitors_c2
in ()
7887 method on_Pipe env _visitors_c0 _visitors_c1
=
7888 let _visitors_r0 = self#on_expr env _visitors_c0
in
7889 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7890 method on_Eif env _visitors_c0 _visitors_c1 _visitors_c2
=
7891 let _visitors_r0 = self#on_expr env _visitors_c0
in
7892 let _visitors_r1 = self#on_option self#on_expr env _visitors_c1
in
7893 let _visitors_r2 = self#on_expr env _visitors_c2
in ()
7894 method on_NullCoalesce env _visitors_c0 _visitors_c1
=
7895 let _visitors_r0 = self#on_expr env _visitors_c0
in
7896 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7897 method on_InstanceOf env _visitors_c0 _visitors_c1
=
7898 let _visitors_r0 = self#on_expr env _visitors_c0
in
7899 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7900 method on_Is env _visitors_c0 _visitors_c1
=
7901 let _visitors_r0 = self#on_expr env _visitors_c0
in
7902 let _visitors_r1 = self#on_hint env _visitors_c1
in ()
7903 method on_BracedExpr env _visitors_c0
=
7904 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7905 method on_ParenthesizedExpr env _visitors_c0
=
7906 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7907 method on_New env _visitors_c0 _visitors_c1 _visitors_c2
=
7908 let _visitors_r0 = self#on_expr env _visitors_c0
in
7909 let _visitors_r1 = self#on_list self#on_expr env _visitors_c1
in
7910 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
7912 method on_NewAnonClass env _visitors_c0 _visitors_c1 _visitors_c2
=
7913 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7914 let _visitors_r1 = self#on_list self#on_expr env _visitors_c1
in
7915 let _visitors_r2 = self#on_class_ env _visitors_c2
in ()
7916 method on_Efun env _visitors_c0 _visitors_c1
=
7917 let _visitors_r0 = self#on_fun_ env _visitors_c0
in
7921 fun (_visitors_c0
,_visitors_c1
) ->
7922 let _visitors_r0 = self#on_id env _visitors_c0
in
7923 let _visitors_r1 = self#on_bool env _visitors_c1
in ())
7927 method on_Lfun env _visitors_c0
=
7928 let _visitors_r0 = self#on_fun_ env _visitors_c0
in ()
7929 method on_Xml env _visitors_c0 _visitors_c1 _visitors_c2
=
7930 let _visitors_r0 = self#on_id env _visitors_c0
in
7932 self#on_list self#on_xhp_attribute env _visitors_c1
in
7933 let _visitors_r2 = self#on_list self#on_expr env _visitors_c2
in
7935 method on_Unsafeexpr env _visitors_c0
=
7936 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
7937 method on_Import env _visitors_c0 _visitors_c1
=
7938 let _visitors_r0 = self#on_import_flavor env _visitors_c0
in
7939 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7940 method on_Callconv env _visitors_c0 _visitors_c1
=
7941 let _visitors_r0 = self#on_param_kind env _visitors_c0
in
7942 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
7943 method on_Execution_operator env _visitors_c0
=
7944 let _visitors_r0 = self#on_list self#on_expr env _visitors_c0
in
7946 method on_expr_ env _visitors_this
=
7947 match _visitors_this
with
7948 | Array _visitors_c0
-> self#on_Array env _visitors_c0
7949 | Varray _visitors_c0
-> self#on_Varray env _visitors_c0
7950 | Darray _visitors_c0
-> self#on_Darray env _visitors_c0
7951 | Shape _visitors_c0
-> self#on_Shape env _visitors_c0
7952 | Collection
(_visitors_c0
,_visitors_c1
) ->
7953 self#on_Collection env _visitors_c0 _visitors_c1
7954 | Null
-> self#on_Null env
7955 | True
-> self#on_True env
7956 | False
-> self#on_False env
7957 | Omitted
-> self#on_Omitted env
7958 | Id _visitors_c0
-> self#on_Id env _visitors_c0
7959 | Id_type_arguments
(_visitors_c0
,_visitors_c1
) ->
7960 self#on_Id_type_arguments env _visitors_c0 _visitors_c1
7961 | Lvar _visitors_c0
-> self#on_Lvar env _visitors_c0
7962 | Dollar _visitors_c0
-> self#on_Dollar env _visitors_c0
7963 | Clone _visitors_c0
-> self#on_Clone env _visitors_c0
7964 | Obj_get
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7965 self#on_Obj_get env _visitors_c0 _visitors_c1 _visitors_c2
7966 | Array_get
(_visitors_c0
,_visitors_c1
) ->
7967 self#on_Array_get env _visitors_c0 _visitors_c1
7968 | Class_get
(_visitors_c0
,_visitors_c1
) ->
7969 self#on_Class_get env _visitors_c0 _visitors_c1
7970 | Class_const
(_visitors_c0
,_visitors_c1
) ->
7971 self#on_Class_const env _visitors_c0 _visitors_c1
7972 | Call
(_visitors_c0
,_visitors_c1
,_visitors_c2
,_visitors_c3
) ->
7973 self#on_Call env _visitors_c0 _visitors_c1 _visitors_c2
7975 | Int _visitors_c0
-> self#on_Int env _visitors_c0
7976 | Float _visitors_c0
-> self#on_Float env _visitors_c0
7977 | String _visitors_c0
-> self#on_String env _visitors_c0
7978 | String2 _visitors_c0
-> self#on_String2 env _visitors_c0
7979 | Yield _visitors_c0
-> self#on_Yield env _visitors_c0
7980 | Yield_break
-> self#on_Yield_break env
7981 | Yield_from _visitors_c0
-> self#on_Yield_from env _visitors_c0
7982 | Await _visitors_c0
-> self#on_Await env _visitors_c0
7983 | Suspend _visitors_c0
-> self#on_Suspend env _visitors_c0
7984 | List _visitors_c0
-> self#on_List env _visitors_c0
7985 | Expr_list _visitors_c0
-> self#on_Expr_list env _visitors_c0
7986 | Cast
(_visitors_c0
,_visitors_c1
) ->
7987 self#on_Cast env _visitors_c0 _visitors_c1
7988 | Unop
(_visitors_c0
,_visitors_c1
) ->
7989 self#on_Unop env _visitors_c0 _visitors_c1
7990 | Binop
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7991 self#on_Binop env _visitors_c0 _visitors_c1 _visitors_c2
7992 | Pipe
(_visitors_c0
,_visitors_c1
) ->
7993 self#on_Pipe env _visitors_c0 _visitors_c1
7994 | Eif
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
7995 self#on_Eif env _visitors_c0 _visitors_c1 _visitors_c2
7996 | NullCoalesce
(_visitors_c0
,_visitors_c1
) ->
7997 self#on_NullCoalesce env _visitors_c0 _visitors_c1
7998 | InstanceOf
(_visitors_c0
,_visitors_c1
) ->
7999 self#on_InstanceOf env _visitors_c0 _visitors_c1
8000 | Is
(_visitors_c0
,_visitors_c1
) ->
8001 self#on_Is env _visitors_c0 _visitors_c1
8002 | BracedExpr _visitors_c0
-> self#on_BracedExpr env _visitors_c0
8003 | ParenthesizedExpr _visitors_c0
->
8004 self#on_ParenthesizedExpr env _visitors_c0
8005 | New
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
8006 self#on_New env _visitors_c0 _visitors_c1 _visitors_c2
8007 | NewAnonClass
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
8008 self#on_NewAnonClass env _visitors_c0 _visitors_c1 _visitors_c2
8009 | Efun
(_visitors_c0
,_visitors_c1
) ->
8010 self#on_Efun env _visitors_c0 _visitors_c1
8011 | Lfun _visitors_c0
-> self#on_Lfun env _visitors_c0
8012 | Xml
(_visitors_c0
,_visitors_c1
,_visitors_c2
) ->
8013 self#on_Xml env _visitors_c0 _visitors_c1 _visitors_c2
8014 | Unsafeexpr _visitors_c0
-> self#on_Unsafeexpr env _visitors_c0
8015 | Import
(_visitors_c0
,_visitors_c1
) ->
8016 self#on_Import env _visitors_c0 _visitors_c1
8017 | Callconv
(_visitors_c0
,_visitors_c1
) ->
8018 self#on_Callconv env _visitors_c0 _visitors_c1
8019 | Execution_operator _visitors_c0
->
8020 self#on_Execution_operator env _visitors_c0
8021 method on_Include env
= ()
8022 method on_Require env
= ()
8023 method on_IncludeOnce env
= ()
8024 method on_RequireOnce env
= ()
8025 method on_import_flavor env _visitors_this
=
8026 match _visitors_this
with
8027 | Include
-> self#on_Include env
8028 | Require
-> self#on_Require env
8029 | IncludeOnce
-> self#on_IncludeOnce env
8030 | RequireOnce
-> self#on_RequireOnce env
8031 method on_AFvalue env _visitors_c0
=
8032 let _visitors_r0 = self#on_expr env _visitors_c0
in ()
8033 method on_AFkvalue env _visitors_c0 _visitors_c1
=
8034 let _visitors_r0 = self#on_expr env _visitors_c0
in
8035 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
8036 method on_afield env _visitors_this
=
8037 match _visitors_this
with
8038 | AFvalue _visitors_c0
-> self#on_AFvalue env _visitors_c0
8039 | AFkvalue
(_visitors_c0
,_visitors_c1
) ->
8040 self#on_AFkvalue env _visitors_c0 _visitors_c1
8041 method on_Default env _visitors_c0
=
8042 let _visitors_r0 = self#on_block env _visitors_c0
in ()
8043 method on_Case env _visitors_c0 _visitors_c1
=
8044 let _visitors_r0 = self#on_expr env _visitors_c0
in
8045 let _visitors_r1 = self#on_block env _visitors_c1
in ()
8046 method on_case env _visitors_this
=
8047 match _visitors_this
with
8048 | Default _visitors_c0
-> self#on_Default env _visitors_c0
8049 | Case
(_visitors_c0
,_visitors_c1
) ->
8050 self#on_Case env _visitors_c0 _visitors_c1
8051 method on_catch env
(_visitors_c0
,_visitors_c1
,_visitors_c2
) =
8052 let _visitors_r0 = self#on_id env _visitors_c0
in
8053 let _visitors_r1 = self#on_id env _visitors_c1
in
8054 let _visitors_r2 = self#on_block env _visitors_c2
in ()
8055 method on_field env
(_visitors_c0
,_visitors_c1
) =
8056 let _visitors_r0 = self#on_expr env _visitors_c0
in
8057 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
8058 method on_attr env
(_visitors_c0
,_visitors_c1
) =
8059 let _visitors_r0 = self#on_id env _visitors_c0
in
8060 let _visitors_r1 = self#on_expr env _visitors_c1
in ()
8069 | AProgram
of program