1 (* @generated from ast_defs.src.ml by hphp/hack/tools/ppx/facebook:generate_ppx *)
2 (* Copyright (c) 2004-present, Facebook, Inc. All rights reserved. *)
3 (* SourceShasum<<d1c8b7bb10a148220cf9d9d912dba33a41672dfe>> *)
5 (* DO NOT EDIT MANUALLY. *)
7 "\n * Copyright (c) 2017, 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 "]
8 include Ast_defs_visitors_ancestors
12 and pos
= ((Pos.t
)[@visitors
.opaque
])
13 and id
= (pos
* string)
14 and pstring
= (pos
* string)
15 and shape_field_name
=
17 | SFclass_const
of id
* pstring
95 | Usilence
[@@deriving
102 visit_prefix
= "on_";
103 ancestors
= ["iter_defs_base"]
110 visit_prefix
= "on_";
111 ancestors
= ["endo_defs_base"]
115 name
= "reduce_defs";
118 visit_prefix
= "on_";
119 ancestors
= ["reduce_defs_base"]
126 visit_prefix
= "on_";
127 ancestors
= ["map_defs_base"]
129 let rec (pp_cst_kind
:
130 Format.formatter
-> cst_kind
-> Ppx_deriving_runtime.unit)
132 ((let open! Ppx_deriving_runtime
in
135 | Cst_define
-> Format.pp_print_string fmt
"Cst_define"
136 | Cst_const
-> Format.pp_print_string fmt
"Cst_const")
137 [@ocaml
.warning
"-A"])
139 and show_cst_kind
: cst_kind
-> Ppx_deriving_runtime.string =
140 fun x
-> Format.asprintf
"%a" pp_cst_kind x
142 and pp_pos
: Format.formatter
-> pos
-> Ppx_deriving_runtime.unit =
143 let __0 () = Pos.pp
in
144 ((let open! Ppx_deriving_runtime
in fun fmt
-> (__0 ()) fmt
)
145 [@ocaml
.warning
"-A"])
147 and show_pos
: pos
-> Ppx_deriving_runtime.string =
148 fun x
-> Format.asprintf
"%a" pp_pos x
150 and pp_id
: Format.formatter
-> id
-> Ppx_deriving_runtime.unit =
151 let __0 () = pp_pos
in
152 ((let open! Ppx_deriving_runtime
in
155 Format.fprintf fmt
"(@[";
157 Format.fprintf fmt
",@ ";
158 (Format.fprintf fmt
"%S") a1
);
159 Format.fprintf fmt
"@])")
160 [@ocaml
.warning
"-A"])
162 and show_id
: id
-> Ppx_deriving_runtime.string =
163 fun x
-> Format.asprintf
"%a" pp_id x
165 and pp_pstring
: Format.formatter
-> pstring
-> Ppx_deriving_runtime.unit =
166 let __0 () = pp_pos
in
167 ((let open! Ppx_deriving_runtime
in
170 Format.fprintf fmt
"(@[";
172 Format.fprintf fmt
",@ ";
173 (Format.fprintf fmt
"%S") a1
);
174 Format.fprintf fmt
"@])")
175 [@ocaml
.warning
"-A"])
177 and show_pstring
: pstring
-> Ppx_deriving_runtime.string =
178 fun x
-> Format.asprintf
"%a" pp_pstring x
180 and pp_shape_field_name
:
181 Format.formatter
-> shape_field_name
-> Ppx_deriving_runtime.unit =
182 let __2 () = pp_pstring
186 and __0 () = pp_pstring
188 ((let open! Ppx_deriving_runtime
in
192 (Format.fprintf fmt
"(@[<2>SFlit@ ";
194 Format.fprintf fmt
"@])")
195 | SFclass_const
(a0
,a1
) ->
196 (Format.fprintf fmt
"(@[<2>SFclass_const (@,";
197 (((__1
()) fmt
) a0
; Format.fprintf fmt
",@ "; ((__2 ()) fmt
) a1
);
198 Format.fprintf fmt
"@,))@]"))
199 [@ocaml
.warning
"-A"])
201 and show_shape_field_name
: shape_field_name
-> Ppx_deriving_runtime.string =
202 fun x
-> Format.asprintf
"%a" pp_shape_field_name x
204 and (pp_variance
: Format.formatter
-> variance
-> Ppx_deriving_runtime.unit)
206 ((let open! Ppx_deriving_runtime
in
209 | Covariant
-> Format.pp_print_string fmt
"Covariant"
210 | Contravariant
-> Format.pp_print_string fmt
"Contravariant"
211 | Invariant
-> Format.pp_print_string fmt
"Invariant")
212 [@ocaml
.warning
"-A"])
214 and show_variance
: variance
-> Ppx_deriving_runtime.string =
215 fun x
-> Format.asprintf
"%a" pp_variance x
217 and (pp_ns_kind
: Format.formatter
-> ns_kind
-> Ppx_deriving_runtime.unit) =
218 ((let open! Ppx_deriving_runtime
in
221 | NSNamespace
-> Format.pp_print_string fmt
"NSNamespace"
222 | NSClass
-> Format.pp_print_string fmt
"NSClass"
223 | NSClassAndNamespace
->
224 Format.pp_print_string fmt
"NSClassAndNamespace"
225 | NSFun
-> Format.pp_print_string fmt
"NSFun"
226 | NSConst
-> Format.pp_print_string fmt
"NSConst")
227 [@ocaml
.warning
"-A"])
229 and show_ns_kind
: ns_kind
-> Ppx_deriving_runtime.string =
230 fun x
-> Format.asprintf
"%a" pp_ns_kind x
232 and (pp_constraint_kind
:
233 Format.formatter
-> constraint_kind
-> Ppx_deriving_runtime.unit)
235 ((let open! Ppx_deriving_runtime
in
238 | Constraint_as
-> Format.pp_print_string fmt
"Constraint_as"
239 | Constraint_eq
-> Format.pp_print_string fmt
"Constraint_eq"
240 | Constraint_super
-> Format.pp_print_string fmt
"Constraint_super")
241 [@ocaml
.warning
"-A"])
243 and show_constraint_kind
: constraint_kind
-> Ppx_deriving_runtime.string =
244 fun x
-> Format.asprintf
"%a" pp_constraint_kind x
247 Format.formatter
-> class_kind
-> Ppx_deriving_runtime.unit)
249 ((let open! Ppx_deriving_runtime
in
252 | Cabstract
-> Format.pp_print_string fmt
"Cabstract"
253 | Cnormal
-> Format.pp_print_string fmt
"Cnormal"
254 | Cinterface
-> Format.pp_print_string fmt
"Cinterface"
255 | Ctrait
-> Format.pp_print_string fmt
"Ctrait"
256 | Cenum
-> Format.pp_print_string fmt
"Cenum")
257 [@ocaml
.warning
"-A"])
259 and show_class_kind
: class_kind
-> Ppx_deriving_runtime.string =
260 fun x
-> Format.asprintf
"%a" pp_class_kind x
262 and (pp_trait_req_kind
:
263 Format.formatter
-> trait_req_kind
-> Ppx_deriving_runtime.unit)
265 ((let open! Ppx_deriving_runtime
in
268 | MustExtend
-> Format.pp_print_string fmt
"MustExtend"
269 | MustImplement
-> Format.pp_print_string fmt
"MustImplement")
270 [@ocaml
.warning
"-A"])
272 and show_trait_req_kind
: trait_req_kind
-> Ppx_deriving_runtime.string =
273 fun x
-> Format.asprintf
"%a" pp_trait_req_kind x
275 and (pp_kind
: Format.formatter
-> kind
-> Ppx_deriving_runtime.unit) =
276 ((let open! Ppx_deriving_runtime
in
279 | Final
-> Format.pp_print_string fmt
"Final"
280 | Static
-> Format.pp_print_string fmt
"Static"
281 | Abstract
-> Format.pp_print_string fmt
"Abstract"
282 | Private
-> Format.pp_print_string fmt
"Private"
283 | Public
-> Format.pp_print_string fmt
"Public"
284 | Protected
-> Format.pp_print_string fmt
"Protected")
285 [@ocaml
.warning
"-A"])
287 and show_kind
: kind
-> Ppx_deriving_runtime.string =
288 fun x
-> Format.asprintf
"%a" pp_kind x
291 Format.formatter
-> param_kind
-> Ppx_deriving_runtime.unit)
293 ((let open! Ppx_deriving_runtime
in
294 fun fmt
-> function | Pinout
-> Format.pp_print_string fmt
"Pinout")
295 [@ocaml
.warning
"-A"])
297 and show_param_kind
: param_kind
-> Ppx_deriving_runtime.string =
298 fun x
-> Format.asprintf
"%a" pp_param_kind x
300 and (pp_og_null_flavor
:
301 Format.formatter
-> og_null_flavor
-> Ppx_deriving_runtime.unit)
303 ((let open! Ppx_deriving_runtime
in
306 | OG_nullthrows
-> Format.pp_print_string fmt
"OG_nullthrows"
307 | OG_nullsafe
-> Format.pp_print_string fmt
"OG_nullsafe")
308 [@ocaml
.warning
"-A"])
310 and show_og_null_flavor
: og_null_flavor
-> Ppx_deriving_runtime.string =
311 fun x
-> Format.asprintf
"%a" pp_og_null_flavor x
313 and (pp_fun_kind
: Format.formatter
-> fun_kind
-> Ppx_deriving_runtime.unit)
315 ((let open! Ppx_deriving_runtime
in
318 | FSync
-> Format.pp_print_string fmt
"FSync"
319 | FAsync
-> Format.pp_print_string fmt
"FAsync"
320 | FGenerator
-> Format.pp_print_string fmt
"FGenerator"
321 | FAsyncGenerator
-> Format.pp_print_string fmt
"FAsyncGenerator"
322 | FCoroutine
-> Format.pp_print_string fmt
"FCoroutine")
323 [@ocaml
.warning
"-A"])
325 and show_fun_kind
: fun_kind
-> Ppx_deriving_runtime.string =
326 fun x
-> Format.asprintf
"%a" pp_fun_kind x
328 and pp_bop
: Format.formatter
-> bop
-> Ppx_deriving_runtime.unit =
329 let __0 () = pp_bop
in
330 ((let open! Ppx_deriving_runtime
in
333 | Plus
-> Format.pp_print_string fmt
"Plus"
334 | Minus
-> Format.pp_print_string fmt
"Minus"
335 | Star
-> Format.pp_print_string fmt
"Star"
336 | Slash
-> Format.pp_print_string fmt
"Slash"
337 | Eqeq
-> Format.pp_print_string fmt
"Eqeq"
338 | EQeqeq
-> Format.pp_print_string fmt
"EQeqeq"
339 | Starstar
-> Format.pp_print_string fmt
"Starstar"
340 | Diff
-> Format.pp_print_string fmt
"Diff"
341 | Diff2
-> Format.pp_print_string fmt
"Diff2"
342 | AMpamp
-> Format.pp_print_string fmt
"AMpamp"
343 | BArbar
-> Format.pp_print_string fmt
"BArbar"
344 | LogXor
-> Format.pp_print_string fmt
"LogXor"
345 | Lt
-> Format.pp_print_string fmt
"Lt"
346 | Lte
-> Format.pp_print_string fmt
"Lte"
347 | Gt
-> Format.pp_print_string fmt
"Gt"
348 | Gte
-> Format.pp_print_string fmt
"Gte"
349 | Dot
-> Format.pp_print_string fmt
"Dot"
350 | Amp
-> Format.pp_print_string fmt
"Amp"
351 | Bar
-> Format.pp_print_string fmt
"Bar"
352 | Ltlt
-> Format.pp_print_string fmt
"Ltlt"
353 | Gtgt
-> Format.pp_print_string fmt
"Gtgt"
354 | Percent
-> Format.pp_print_string fmt
"Percent"
355 | Xor
-> Format.pp_print_string fmt
"Xor"
356 | Cmp
-> Format.pp_print_string fmt
"Cmp"
358 (Format.fprintf fmt
"(@[<2>Eq@ ";
360 | None
-> Format.pp_print_string fmt
"None"
362 (Format.pp_print_string fmt
"(Some ";
364 Format.pp_print_string fmt
")"))) a0
;
365 Format.fprintf fmt
"@])"))
366 [@ocaml
.warning
"-A"])
368 and show_bop
: bop
-> Ppx_deriving_runtime.string =
369 fun x
-> Format.asprintf
"%a" pp_bop x
371 and (pp_uop
: Format.formatter
-> uop
-> Ppx_deriving_runtime.unit) =
372 ((let open! Ppx_deriving_runtime
in
375 | Utild
-> Format.pp_print_string fmt
"Utild"
376 | Unot
-> Format.pp_print_string fmt
"Unot"
377 | Uplus
-> Format.pp_print_string fmt
"Uplus"
378 | Uminus
-> Format.pp_print_string fmt
"Uminus"
379 | Uincr
-> Format.pp_print_string fmt
"Uincr"
380 | Udecr
-> Format.pp_print_string fmt
"Udecr"
381 | Upincr
-> Format.pp_print_string fmt
"Upincr"
382 | Updecr
-> Format.pp_print_string fmt
"Updecr"
383 | Uref
-> Format.pp_print_string fmt
"Uref"
384 | Usilence
-> Format.pp_print_string fmt
"Usilence")
385 [@ocaml
.warning
"-A"])
387 and show_uop
: uop
-> Ppx_deriving_runtime.string =
388 fun x
-> Format.asprintf
"%a" pp_uop x
392 [@@@ocaml
.warning
"-4-26-27"]
394 class virtual ['self
] iter_defs
=
395 object (self
: 'self
)
396 inherit [_
] iter_defs_base
397 method on_Cst_define env
= ()
398 method on_Cst_const env
= ()
399 method on_cst_kind env _visitors_this
=
400 match _visitors_this
with
401 | Cst_define
-> self#on_Cst_define env
402 | Cst_const
-> self#on_Cst_const env
403 method on_pos env _visitors_this
= ()
404 method on_id env
(_visitors_c0
,_visitors_c1
) =
405 let _visitors_r0 = self#on_pos env _visitors_c0
in
406 let _visitors_r1 = self#on_string env _visitors_c1
in ()
407 method on_pstring env
(_visitors_c0
,_visitors_c1
) =
408 let _visitors_r0 = self#on_pos env _visitors_c0
in
409 let _visitors_r1 = self#on_string env _visitors_c1
in ()
410 method on_SFlit env _visitors_c0
=
411 let _visitors_r0 = self#on_pstring env _visitors_c0
in ()
412 method on_SFclass_const env _visitors_c0 _visitors_c1
=
413 let _visitors_r0 = self#on_id env _visitors_c0
in
414 let _visitors_r1 = self#on_pstring env _visitors_c1
in ()
415 method on_shape_field_name env _visitors_this
=
416 match _visitors_this
with
417 | SFlit _visitors_c0
-> self#on_SFlit env _visitors_c0
418 | SFclass_const
(_visitors_c0
,_visitors_c1
) ->
419 self#on_SFclass_const env _visitors_c0 _visitors_c1
420 method on_Covariant env
= ()
421 method on_Contravariant env
= ()
422 method on_Invariant env
= ()
423 method on_variance env _visitors_this
=
424 match _visitors_this
with
425 | Covariant
-> self#on_Covariant env
426 | Contravariant
-> self#on_Contravariant env
427 | Invariant
-> self#on_Invariant env
428 method on_NSNamespace env
= ()
429 method on_NSClass env
= ()
430 method on_NSClassAndNamespace env
= ()
431 method on_NSFun env
= ()
432 method on_NSConst env
= ()
433 method on_ns_kind env _visitors_this
=
434 match _visitors_this
with
435 | NSNamespace
-> self#on_NSNamespace env
436 | NSClass
-> self#on_NSClass env
437 | NSClassAndNamespace
-> self#on_NSClassAndNamespace env
438 | NSFun
-> self#on_NSFun env
439 | NSConst
-> self#on_NSConst env
440 method on_Constraint_as env
= ()
441 method on_Constraint_eq env
= ()
442 method on_Constraint_super env
= ()
443 method on_constraint_kind env _visitors_this
=
444 match _visitors_this
with
445 | Constraint_as
-> self#on_Constraint_as env
446 | Constraint_eq
-> self#on_Constraint_eq env
447 | Constraint_super
-> self#on_Constraint_super env
448 method on_Cabstract env
= ()
449 method on_Cnormal env
= ()
450 method on_Cinterface env
= ()
451 method on_Ctrait env
= ()
452 method on_Cenum env
= ()
453 method on_class_kind env _visitors_this
=
454 match _visitors_this
with
455 | Cabstract
-> self#on_Cabstract env
456 | Cnormal
-> self#on_Cnormal env
457 | Cinterface
-> self#on_Cinterface env
458 | Ctrait
-> self#on_Ctrait env
459 | Cenum
-> self#on_Cenum env
460 method on_MustExtend env
= ()
461 method on_MustImplement env
= ()
462 method on_trait_req_kind env _visitors_this
=
463 match _visitors_this
with
464 | MustExtend
-> self#on_MustExtend env
465 | MustImplement
-> self#on_MustImplement env
466 method on_Final env
= ()
467 method on_Static env
= ()
468 method on_Abstract env
= ()
469 method on_Private env
= ()
470 method on_Public env
= ()
471 method on_Protected env
= ()
472 method on_kind env _visitors_this
=
473 match _visitors_this
with
474 | Final
-> self#on_Final env
475 | Static
-> self#on_Static env
476 | Abstract
-> self#on_Abstract env
477 | Private
-> self#on_Private env
478 | Public
-> self#on_Public env
479 | Protected
-> self#on_Protected env
480 method on_Pinout env
= ()
481 method on_param_kind env _visitors_this
=
482 match _visitors_this
with | Pinout
-> self#on_Pinout env
483 method on_OG_nullthrows env
= ()
484 method on_OG_nullsafe env
= ()
485 method on_og_null_flavor env _visitors_this
=
486 match _visitors_this
with
487 | OG_nullthrows
-> self#on_OG_nullthrows env
488 | OG_nullsafe
-> self#on_OG_nullsafe env
489 method on_FSync env
= ()
490 method on_FAsync env
= ()
491 method on_FGenerator env
= ()
492 method on_FAsyncGenerator env
= ()
493 method on_FCoroutine env
= ()
494 method on_fun_kind env _visitors_this
=
495 match _visitors_this
with
496 | FSync
-> self#on_FSync env
497 | FAsync
-> self#on_FAsync env
498 | FGenerator
-> self#on_FGenerator env
499 | FAsyncGenerator
-> self#on_FAsyncGenerator env
500 | FCoroutine
-> self#on_FCoroutine env
501 method on_Plus env
= ()
502 method on_Minus env
= ()
503 method on_Star env
= ()
504 method on_Slash env
= ()
505 method on_Eqeq env
= ()
506 method on_EQeqeq env
= ()
507 method on_Starstar env
= ()
508 method on_Diff env
= ()
509 method on_Diff2 env
= ()
510 method on_AMpamp env
= ()
511 method on_BArbar env
= ()
512 method on_LogXor env
= ()
513 method on_Lt env
= ()
514 method on_Lte env
= ()
515 method on_Gt env
= ()
516 method on_Gte env
= ()
517 method on_Dot env
= ()
518 method on_Amp env
= ()
519 method on_Bar env
= ()
520 method on_Ltlt env
= ()
521 method on_Gtgt env
= ()
522 method on_Percent env
= ()
523 method on_Xor env
= ()
524 method on_Cmp env
= ()
525 method on_Eq env _visitors_c0
=
526 let _visitors_r0 = self#on_option self#on_bop env _visitors_c0
in
528 method on_bop env _visitors_this
=
529 match _visitors_this
with
530 | Plus
-> self#on_Plus env
531 | Minus
-> self#on_Minus env
532 | Star
-> self#on_Star env
533 | Slash
-> self#on_Slash env
534 | Eqeq
-> self#on_Eqeq env
535 | EQeqeq
-> self#on_EQeqeq env
536 | Starstar
-> self#on_Starstar env
537 | Diff
-> self#on_Diff env
538 | Diff2
-> self#on_Diff2 env
539 | AMpamp
-> self#on_AMpamp env
540 | BArbar
-> self#on_BArbar env
541 | LogXor
-> self#on_LogXor env
542 | Lt
-> self#on_Lt env
543 | Lte
-> self#on_Lte env
544 | Gt
-> self#on_Gt env
545 | Gte
-> self#on_Gte env
546 | Dot
-> self#on_Dot env
547 | Amp
-> self#on_Amp env
548 | Bar
-> self#on_Bar env
549 | Ltlt
-> self#on_Ltlt env
550 | Gtgt
-> self#on_Gtgt env
551 | Percent
-> self#on_Percent env
552 | Xor
-> self#on_Xor env
553 | Cmp
-> self#on_Cmp env
554 | Eq _visitors_c0
-> self#on_Eq env _visitors_c0
555 method on_Utild env
= ()
556 method on_Unot env
= ()
557 method on_Uplus env
= ()
558 method on_Uminus env
= ()
559 method on_Uincr env
= ()
560 method on_Udecr env
= ()
561 method on_Upincr env
= ()
562 method on_Updecr env
= ()
563 method on_Uref env
= ()
564 method on_Usilence env
= ()
565 method on_uop env _visitors_this
=
566 match _visitors_this
with
567 | Utild
-> self#on_Utild env
568 | Unot
-> self#on_Unot env
569 | Uplus
-> self#on_Uplus env
570 | Uminus
-> self#on_Uminus env
571 | Uincr
-> self#on_Uincr env
572 | Udecr
-> self#on_Udecr env
573 | Upincr
-> self#on_Upincr env
574 | Updecr
-> self#on_Updecr env
575 | Uref
-> self#on_Uref env
576 | Usilence
-> self#on_Usilence env
582 [@@@ocaml
.warning
"-4-26-27"]
584 class virtual ['self
] endo_defs
=
585 object (self
: 'self
)
586 inherit [_
] endo_defs_base
587 method on_Cst_define env _visitors_this
=
588 if true then _visitors_this
else Cst_define
589 method on_Cst_const env _visitors_this
=
590 if true then _visitors_this
else Cst_const
591 method on_cst_kind env _visitors_this
=
592 match _visitors_this
with
593 | Cst_define
as _visitors_this
->
594 self#on_Cst_define env _visitors_this
595 | Cst_const
as _visitors_this
->
596 self#on_Cst_const env _visitors_this
597 method on_pos env _visitors_this
= _visitors_this
598 method on_id env
((_visitors_c0
,_visitors_c1
) as _visitors_this
) =
599 let _visitors_r0 = self#on_pos env _visitors_c0
in
600 let _visitors_r1 = self#on_string env _visitors_c1
in
602 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
603 (Pervasives.(==) _visitors_c1
_visitors_r1)
605 else (_visitors_r0, _visitors_r1)
606 method on_pstring env
((_visitors_c0
,_visitors_c1
) as _visitors_this
)
608 let _visitors_r0 = self#on_pos env _visitors_c0
in
609 let _visitors_r1 = self#on_string env _visitors_c1
in
611 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
612 (Pervasives.(==) _visitors_c1
_visitors_r1)
614 else (_visitors_r0, _visitors_r1)
615 method on_SFlit env _visitors_this _visitors_c0
=
616 let _visitors_r0 = self#on_pstring env _visitors_c0
in
617 if Pervasives.(==) _visitors_c0
_visitors_r0
619 else SFlit
_visitors_r0
620 method on_SFclass_const env _visitors_this _visitors_c0 _visitors_c1
622 let _visitors_r0 = self#on_id env _visitors_c0
in
623 let _visitors_r1 = self#on_pstring env _visitors_c1
in
625 Pervasives.(&&) (Pervasives.(==) _visitors_c0
_visitors_r0)
626 (Pervasives.(==) _visitors_c1
_visitors_r1)
628 else SFclass_const
(_visitors_r0, _visitors_r1)
629 method on_shape_field_name env _visitors_this
=
630 match _visitors_this
with
631 | SFlit _visitors_c0
as _visitors_this
->
632 self#on_SFlit env _visitors_this _visitors_c0
633 | SFclass_const
(_visitors_c0
,_visitors_c1
) as _visitors_this
->
634 self#on_SFclass_const env _visitors_this _visitors_c0
636 method on_Covariant env _visitors_this
=
637 if true then _visitors_this
else Covariant
638 method on_Contravariant env _visitors_this
=
639 if true then _visitors_this
else Contravariant
640 method on_Invariant env _visitors_this
=
641 if true then _visitors_this
else Invariant
642 method on_variance env _visitors_this
=
643 match _visitors_this
with
644 | Covariant
as _visitors_this
->
645 self#on_Covariant env _visitors_this
646 | Contravariant
as _visitors_this
->
647 self#on_Contravariant env _visitors_this
648 | Invariant
as _visitors_this
->
649 self#on_Invariant env _visitors_this
650 method on_NSNamespace env _visitors_this
=
651 if true then _visitors_this
else NSNamespace
652 method on_NSClass env _visitors_this
=
653 if true then _visitors_this
else NSClass
654 method on_NSClassAndNamespace env _visitors_this
=
655 if true then _visitors_this
else NSClassAndNamespace
656 method on_NSFun env _visitors_this
=
657 if true then _visitors_this
else NSFun
658 method on_NSConst env _visitors_this
=
659 if true then _visitors_this
else NSConst
660 method on_ns_kind env _visitors_this
=
661 match _visitors_this
with
662 | NSNamespace
as _visitors_this
->
663 self#on_NSNamespace env _visitors_this
664 | NSClass
as _visitors_this
-> self#on_NSClass env _visitors_this
665 | NSClassAndNamespace
as _visitors_this
->
666 self#on_NSClassAndNamespace env _visitors_this
667 | NSFun
as _visitors_this
-> self#on_NSFun env _visitors_this
668 | NSConst
as _visitors_this
-> self#on_NSConst env _visitors_this
669 method on_Constraint_as env _visitors_this
=
670 if true then _visitors_this
else Constraint_as
671 method on_Constraint_eq env _visitors_this
=
672 if true then _visitors_this
else Constraint_eq
673 method on_Constraint_super env _visitors_this
=
674 if true then _visitors_this
else Constraint_super
675 method on_constraint_kind env _visitors_this
=
676 match _visitors_this
with
677 | Constraint_as
as _visitors_this
->
678 self#on_Constraint_as env _visitors_this
679 | Constraint_eq
as _visitors_this
->
680 self#on_Constraint_eq env _visitors_this
681 | Constraint_super
as _visitors_this
->
682 self#on_Constraint_super env _visitors_this
683 method on_Cabstract env _visitors_this
=
684 if true then _visitors_this
else Cabstract
685 method on_Cnormal env _visitors_this
=
686 if true then _visitors_this
else Cnormal
687 method on_Cinterface env _visitors_this
=
688 if true then _visitors_this
else Cinterface
689 method on_Ctrait env _visitors_this
=
690 if true then _visitors_this
else Ctrait
691 method on_Cenum env _visitors_this
=
692 if true then _visitors_this
else Cenum
693 method on_class_kind env _visitors_this
=
694 match _visitors_this
with
695 | Cabstract
as _visitors_this
->
696 self#on_Cabstract env _visitors_this
697 | Cnormal
as _visitors_this
-> self#on_Cnormal env _visitors_this
698 | Cinterface
as _visitors_this
->
699 self#on_Cinterface env _visitors_this
700 | Ctrait
as _visitors_this
-> self#on_Ctrait env _visitors_this
701 | Cenum
as _visitors_this
-> self#on_Cenum env _visitors_this
702 method on_MustExtend env _visitors_this
=
703 if true then _visitors_this
else MustExtend
704 method on_MustImplement env _visitors_this
=
705 if true then _visitors_this
else MustImplement
706 method on_trait_req_kind env _visitors_this
=
707 match _visitors_this
with
708 | MustExtend
as _visitors_this
->
709 self#on_MustExtend env _visitors_this
710 | MustImplement
as _visitors_this
->
711 self#on_MustImplement env _visitors_this
712 method on_Final env _visitors_this
=
713 if true then _visitors_this
else Final
714 method on_Static env _visitors_this
=
715 if true then _visitors_this
else Static
716 method on_Abstract env _visitors_this
=
717 if true then _visitors_this
else Abstract
718 method on_Private env _visitors_this
=
719 if true then _visitors_this
else Private
720 method on_Public env _visitors_this
=
721 if true then _visitors_this
else Public
722 method on_Protected env _visitors_this
=
723 if true then _visitors_this
else Protected
724 method on_kind env _visitors_this
=
725 match _visitors_this
with
726 | Final
as _visitors_this
-> self#on_Final env _visitors_this
727 | Static
as _visitors_this
-> self#on_Static env _visitors_this
728 | Abstract
as _visitors_this
->
729 self#on_Abstract env _visitors_this
730 | Private
as _visitors_this
-> self#on_Private env _visitors_this
731 | Public
as _visitors_this
-> self#on_Public env _visitors_this
732 | Protected
as _visitors_this
->
733 self#on_Protected env _visitors_this
734 method on_Pinout env _visitors_this
=
735 if true then _visitors_this
else Pinout
736 method on_param_kind env _visitors_this
=
737 match _visitors_this
with
738 | Pinout
as _visitors_this
-> self#on_Pinout env _visitors_this
739 method on_OG_nullthrows env _visitors_this
=
740 if true then _visitors_this
else OG_nullthrows
741 method on_OG_nullsafe env _visitors_this
=
742 if true then _visitors_this
else OG_nullsafe
743 method on_og_null_flavor env _visitors_this
=
744 match _visitors_this
with
745 | OG_nullthrows
as _visitors_this
->
746 self#on_OG_nullthrows env _visitors_this
747 | OG_nullsafe
as _visitors_this
->
748 self#on_OG_nullsafe env _visitors_this
749 method on_FSync env _visitors_this
=
750 if true then _visitors_this
else FSync
751 method on_FAsync env _visitors_this
=
752 if true then _visitors_this
else FAsync
753 method on_FGenerator env _visitors_this
=
754 if true then _visitors_this
else FGenerator
755 method on_FAsyncGenerator env _visitors_this
=
756 if true then _visitors_this
else FAsyncGenerator
757 method on_FCoroutine env _visitors_this
=
758 if true then _visitors_this
else FCoroutine
759 method on_fun_kind env _visitors_this
=
760 match _visitors_this
with
761 | FSync
as _visitors_this
-> self#on_FSync env _visitors_this
762 | FAsync
as _visitors_this
-> self#on_FAsync env _visitors_this
763 | FGenerator
as _visitors_this
->
764 self#on_FGenerator env _visitors_this
765 | FAsyncGenerator
as _visitors_this
->
766 self#on_FAsyncGenerator env _visitors_this
767 | FCoroutine
as _visitors_this
->
768 self#on_FCoroutine env _visitors_this
769 method on_Plus env _visitors_this
=
770 if true then _visitors_this
else Plus
771 method on_Minus env _visitors_this
=
772 if true then _visitors_this
else Minus
773 method on_Star env _visitors_this
=
774 if true then _visitors_this
else Star
775 method on_Slash env _visitors_this
=
776 if true then _visitors_this
else Slash
777 method on_Eqeq env _visitors_this
=
778 if true then _visitors_this
else Eqeq
779 method on_EQeqeq env _visitors_this
=
780 if true then _visitors_this
else EQeqeq
781 method on_Starstar env _visitors_this
=
782 if true then _visitors_this
else Starstar
783 method on_Diff env _visitors_this
=
784 if true then _visitors_this
else Diff
785 method on_Diff2 env _visitors_this
=
786 if true then _visitors_this
else Diff2
787 method on_AMpamp env _visitors_this
=
788 if true then _visitors_this
else AMpamp
789 method on_BArbar env _visitors_this
=
790 if true then _visitors_this
else BArbar
791 method on_LogXor env _visitors_this
=
792 if true then _visitors_this
else LogXor
793 method on_Lt env _visitors_this
= if true then _visitors_this
else Lt
794 method on_Lte env _visitors_this
=
795 if true then _visitors_this
else Lte
796 method on_Gt env _visitors_this
= if true then _visitors_this
else Gt
797 method on_Gte env _visitors_this
=
798 if true then _visitors_this
else Gte
799 method on_Dot env _visitors_this
=
800 if true then _visitors_this
else Dot
801 method on_Amp env _visitors_this
=
802 if true then _visitors_this
else Amp
803 method on_Bar env _visitors_this
=
804 if true then _visitors_this
else Bar
805 method on_Ltlt env _visitors_this
=
806 if true then _visitors_this
else Ltlt
807 method on_Gtgt env _visitors_this
=
808 if true then _visitors_this
else Gtgt
809 method on_Percent env _visitors_this
=
810 if true then _visitors_this
else Percent
811 method on_Xor env _visitors_this
=
812 if true then _visitors_this
else Xor
813 method on_Cmp env _visitors_this
=
814 if true then _visitors_this
else Cmp
815 method on_Eq env _visitors_this _visitors_c0
=
816 let _visitors_r0 = self#on_option self#on_bop env _visitors_c0
in
817 if Pervasives.(==) _visitors_c0
_visitors_r0
820 method on_bop env _visitors_this
=
821 match _visitors_this
with
822 | Plus
as _visitors_this
-> self#on_Plus env _visitors_this
823 | Minus
as _visitors_this
-> self#on_Minus env _visitors_this
824 | Star
as _visitors_this
-> self#on_Star env _visitors_this
825 | Slash
as _visitors_this
-> self#on_Slash env _visitors_this
826 | Eqeq
as _visitors_this
-> self#on_Eqeq env _visitors_this
827 | EQeqeq
as _visitors_this
-> self#on_EQeqeq env _visitors_this
828 | Starstar
as _visitors_this
->
829 self#on_Starstar env _visitors_this
830 | Diff
as _visitors_this
-> self#on_Diff env _visitors_this
831 | Diff2
as _visitors_this
-> self#on_Diff2 env _visitors_this
832 | AMpamp
as _visitors_this
-> self#on_AMpamp env _visitors_this
833 | BArbar
as _visitors_this
-> self#on_BArbar env _visitors_this
834 | LogXor
as _visitors_this
-> self#on_LogXor env _visitors_this
835 | Lt
as _visitors_this
-> self#on_Lt env _visitors_this
836 | Lte
as _visitors_this
-> self#on_Lte env _visitors_this
837 | Gt
as _visitors_this
-> self#on_Gt env _visitors_this
838 | Gte
as _visitors_this
-> self#on_Gte env _visitors_this
839 | Dot
as _visitors_this
-> self#on_Dot env _visitors_this
840 | Amp
as _visitors_this
-> self#on_Amp env _visitors_this
841 | Bar
as _visitors_this
-> self#on_Bar env _visitors_this
842 | Ltlt
as _visitors_this
-> self#on_Ltlt env _visitors_this
843 | Gtgt
as _visitors_this
-> self#on_Gtgt env _visitors_this
844 | Percent
as _visitors_this
-> self#on_Percent env _visitors_this
845 | Xor
as _visitors_this
-> self#on_Xor env _visitors_this
846 | Cmp
as _visitors_this
-> self#on_Cmp env _visitors_this
847 | Eq _visitors_c0
as _visitors_this
->
848 self#on_Eq env _visitors_this _visitors_c0
849 method on_Utild env _visitors_this
=
850 if true then _visitors_this
else Utild
851 method on_Unot env _visitors_this
=
852 if true then _visitors_this
else Unot
853 method on_Uplus env _visitors_this
=
854 if true then _visitors_this
else Uplus
855 method on_Uminus env _visitors_this
=
856 if true then _visitors_this
else Uminus
857 method on_Uincr env _visitors_this
=
858 if true then _visitors_this
else Uincr
859 method on_Udecr env _visitors_this
=
860 if true then _visitors_this
else Udecr
861 method on_Upincr env _visitors_this
=
862 if true then _visitors_this
else Upincr
863 method on_Updecr env _visitors_this
=
864 if true then _visitors_this
else Updecr
865 method on_Uref env _visitors_this
=
866 if true then _visitors_this
else Uref
867 method on_Usilence env _visitors_this
=
868 if true then _visitors_this
else Usilence
869 method on_uop env _visitors_this
=
870 match _visitors_this
with
871 | Utild
as _visitors_this
-> self#on_Utild env _visitors_this
872 | Unot
as _visitors_this
-> self#on_Unot env _visitors_this
873 | Uplus
as _visitors_this
-> self#on_Uplus env _visitors_this
874 | Uminus
as _visitors_this
-> self#on_Uminus env _visitors_this
875 | Uincr
as _visitors_this
-> self#on_Uincr env _visitors_this
876 | Udecr
as _visitors_this
-> self#on_Udecr env _visitors_this
877 | Upincr
as _visitors_this
-> self#on_Upincr env _visitors_this
878 | Updecr
as _visitors_this
-> self#on_Updecr env _visitors_this
879 | Uref
as _visitors_this
-> self#on_Uref env _visitors_this
880 | Usilence
as _visitors_this
->
881 self#on_Usilence env _visitors_this
887 [@@@ocaml
.warning
"-4-26-27"]
889 class virtual ['self
] reduce_defs
=
890 object (self
: 'self
)
891 inherit [_
] reduce_defs_base
892 method on_Cst_define env
= self#zero
893 method on_Cst_const env
= self#zero
894 method on_cst_kind env _visitors_this
=
895 match _visitors_this
with
896 | Cst_define
-> self#on_Cst_define env
897 | Cst_const
-> self#on_Cst_const env
898 method on_pos env _visitors_this
= self#zero
899 method on_id env
(_visitors_c0
,_visitors_c1
) =
900 let _visitors_s0 = self#on_pos env _visitors_c0
in
901 let _visitors_s1 = self#on_string env _visitors_c1
in
902 self#plus
_visitors_s0 _visitors_s1
903 method on_pstring env
(_visitors_c0
,_visitors_c1
) =
904 let _visitors_s0 = self#on_pos env _visitors_c0
in
905 let _visitors_s1 = self#on_string env _visitors_c1
in
906 self#plus
_visitors_s0 _visitors_s1
907 method on_SFlit env _visitors_c0
=
908 let _visitors_s0 = self#on_pstring env _visitors_c0
in
910 method on_SFclass_const env _visitors_c0 _visitors_c1
=
911 let _visitors_s0 = self#on_id env _visitors_c0
in
912 let _visitors_s1 = self#on_pstring env _visitors_c1
in
913 self#plus
_visitors_s0 _visitors_s1
914 method on_shape_field_name env _visitors_this
=
915 match _visitors_this
with
916 | SFlit _visitors_c0
-> self#on_SFlit env _visitors_c0
917 | SFclass_const
(_visitors_c0
,_visitors_c1
) ->
918 self#on_SFclass_const env _visitors_c0 _visitors_c1
919 method on_Covariant env
= self#zero
920 method on_Contravariant env
= self#zero
921 method on_Invariant env
= self#zero
922 method on_variance env _visitors_this
=
923 match _visitors_this
with
924 | Covariant
-> self#on_Covariant env
925 | Contravariant
-> self#on_Contravariant env
926 | Invariant
-> self#on_Invariant env
927 method on_NSNamespace env
= self#zero
928 method on_NSClass env
= self#zero
929 method on_NSClassAndNamespace env
= self#zero
930 method on_NSFun env
= self#zero
931 method on_NSConst env
= self#zero
932 method on_ns_kind env _visitors_this
=
933 match _visitors_this
with
934 | NSNamespace
-> self#on_NSNamespace env
935 | NSClass
-> self#on_NSClass env
936 | NSClassAndNamespace
-> self#on_NSClassAndNamespace env
937 | NSFun
-> self#on_NSFun env
938 | NSConst
-> self#on_NSConst env
939 method on_Constraint_as env
= self#zero
940 method on_Constraint_eq env
= self#zero
941 method on_Constraint_super env
= self#zero
942 method on_constraint_kind env _visitors_this
=
943 match _visitors_this
with
944 | Constraint_as
-> self#on_Constraint_as env
945 | Constraint_eq
-> self#on_Constraint_eq env
946 | Constraint_super
-> self#on_Constraint_super env
947 method on_Cabstract env
= self#zero
948 method on_Cnormal env
= self#zero
949 method on_Cinterface env
= self#zero
950 method on_Ctrait env
= self#zero
951 method on_Cenum env
= self#zero
952 method on_class_kind env _visitors_this
=
953 match _visitors_this
with
954 | Cabstract
-> self#on_Cabstract env
955 | Cnormal
-> self#on_Cnormal env
956 | Cinterface
-> self#on_Cinterface env
957 | Ctrait
-> self#on_Ctrait env
958 | Cenum
-> self#on_Cenum env
959 method on_MustExtend env
= self#zero
960 method on_MustImplement env
= self#zero
961 method on_trait_req_kind env _visitors_this
=
962 match _visitors_this
with
963 | MustExtend
-> self#on_MustExtend env
964 | MustImplement
-> self#on_MustImplement env
965 method on_Final env
= self#zero
966 method on_Static env
= self#zero
967 method on_Abstract env
= self#zero
968 method on_Private env
= self#zero
969 method on_Public env
= self#zero
970 method on_Protected env
= self#zero
971 method on_kind env _visitors_this
=
972 match _visitors_this
with
973 | Final
-> self#on_Final env
974 | Static
-> self#on_Static env
975 | Abstract
-> self#on_Abstract env
976 | Private
-> self#on_Private env
977 | Public
-> self#on_Public env
978 | Protected
-> self#on_Protected env
979 method on_Pinout env
= self#zero
980 method on_param_kind env _visitors_this
=
981 match _visitors_this
with | Pinout
-> self#on_Pinout env
982 method on_OG_nullthrows env
= self#zero
983 method on_OG_nullsafe env
= self#zero
984 method on_og_null_flavor env _visitors_this
=
985 match _visitors_this
with
986 | OG_nullthrows
-> self#on_OG_nullthrows env
987 | OG_nullsafe
-> self#on_OG_nullsafe env
988 method on_FSync env
= self#zero
989 method on_FAsync env
= self#zero
990 method on_FGenerator env
= self#zero
991 method on_FAsyncGenerator env
= self#zero
992 method on_FCoroutine env
= self#zero
993 method on_fun_kind env _visitors_this
=
994 match _visitors_this
with
995 | FSync
-> self#on_FSync env
996 | FAsync
-> self#on_FAsync env
997 | FGenerator
-> self#on_FGenerator env
998 | FAsyncGenerator
-> self#on_FAsyncGenerator env
999 | FCoroutine
-> self#on_FCoroutine env
1000 method on_Plus env
= self#zero
1001 method on_Minus env
= self#zero
1002 method on_Star env
= self#zero
1003 method on_Slash env
= self#zero
1004 method on_Eqeq env
= self#zero
1005 method on_EQeqeq env
= self#zero
1006 method on_Starstar env
= self#zero
1007 method on_Diff env
= self#zero
1008 method on_Diff2 env
= self#zero
1009 method on_AMpamp env
= self#zero
1010 method on_BArbar env
= self#zero
1011 method on_LogXor env
= self#zero
1012 method on_Lt env
= self#zero
1013 method on_Lte env
= self#zero
1014 method on_Gt env
= self#zero
1015 method on_Gte env
= self#zero
1016 method on_Dot env
= self#zero
1017 method on_Amp env
= self#zero
1018 method on_Bar env
= self#zero
1019 method on_Ltlt env
= self#zero
1020 method on_Gtgt env
= self#zero
1021 method on_Percent env
= self#zero
1022 method on_Xor env
= self#zero
1023 method on_Cmp env
= self#zero
1024 method on_Eq env _visitors_c0
=
1025 let _visitors_s0 = self#on_option self#on_bop env _visitors_c0
in
1027 method on_bop env _visitors_this
=
1028 match _visitors_this
with
1029 | Plus
-> self#on_Plus env
1030 | Minus
-> self#on_Minus env
1031 | Star
-> self#on_Star env
1032 | Slash
-> self#on_Slash env
1033 | Eqeq
-> self#on_Eqeq env
1034 | EQeqeq
-> self#on_EQeqeq env
1035 | Starstar
-> self#on_Starstar env
1036 | Diff
-> self#on_Diff env
1037 | Diff2
-> self#on_Diff2 env
1038 | AMpamp
-> self#on_AMpamp env
1039 | BArbar
-> self#on_BArbar env
1040 | LogXor
-> self#on_LogXor env
1041 | Lt
-> self#on_Lt env
1042 | Lte
-> self#on_Lte env
1043 | Gt
-> self#on_Gt env
1044 | Gte
-> self#on_Gte env
1045 | Dot
-> self#on_Dot env
1046 | Amp
-> self#on_Amp env
1047 | Bar
-> self#on_Bar env
1048 | Ltlt
-> self#on_Ltlt env
1049 | Gtgt
-> self#on_Gtgt env
1050 | Percent
-> self#on_Percent env
1051 | Xor
-> self#on_Xor env
1052 | Cmp
-> self#on_Cmp env
1053 | Eq _visitors_c0
-> self#on_Eq env _visitors_c0
1054 method on_Utild env
= self#zero
1055 method on_Unot env
= self#zero
1056 method on_Uplus env
= self#zero
1057 method on_Uminus env
= self#zero
1058 method on_Uincr env
= self#zero
1059 method on_Udecr env
= self#zero
1060 method on_Upincr env
= self#zero
1061 method on_Updecr env
= self#zero
1062 method on_Uref env
= self#zero
1063 method on_Usilence env
= self#zero
1064 method on_uop env _visitors_this
=
1065 match _visitors_this
with
1066 | Utild
-> self#on_Utild env
1067 | Unot
-> self#on_Unot env
1068 | Uplus
-> self#on_Uplus env
1069 | Uminus
-> self#on_Uminus env
1070 | Uincr
-> self#on_Uincr env
1071 | Udecr
-> self#on_Udecr env
1072 | Upincr
-> self#on_Upincr env
1073 | Updecr
-> self#on_Updecr env
1074 | Uref
-> self#on_Uref env
1075 | Usilence
-> self#on_Usilence env
1081 [@@@ocaml
.warning
"-4-26-27"]
1082 [@@@VISITORS.BEGIN
]
1083 class virtual ['self
] map_defs
=
1084 object (self
: 'self
)
1085 inherit [_
] map_defs_base
1086 method on_Cst_define env
= Cst_define
1087 method on_Cst_const env
= Cst_const
1088 method on_cst_kind env _visitors_this
=
1089 match _visitors_this
with
1090 | Cst_define
-> self#on_Cst_define env
1091 | Cst_const
-> self#on_Cst_const env
1092 method on_pos env _visitors_this
= _visitors_this
1093 method on_id env
(_visitors_c0
,_visitors_c1
) =
1094 let _visitors_r0 = self#on_pos env _visitors_c0
in
1095 let _visitors_r1 = self#on_string env _visitors_c1
in
1096 (_visitors_r0, _visitors_r1)
1097 method on_pstring env
(_visitors_c0
,_visitors_c1
) =
1098 let _visitors_r0 = self#on_pos env _visitors_c0
in
1099 let _visitors_r1 = self#on_string env _visitors_c1
in
1100 (_visitors_r0, _visitors_r1)
1101 method on_SFlit env _visitors_c0
=
1102 let _visitors_r0 = self#on_pstring env _visitors_c0
in
1104 method on_SFclass_const env _visitors_c0 _visitors_c1
=
1105 let _visitors_r0 = self#on_id env _visitors_c0
in
1106 let _visitors_r1 = self#on_pstring env _visitors_c1
in
1107 SFclass_const
(_visitors_r0, _visitors_r1)
1108 method on_shape_field_name env _visitors_this
=
1109 match _visitors_this
with
1110 | SFlit _visitors_c0
-> self#on_SFlit env _visitors_c0
1111 | SFclass_const
(_visitors_c0
,_visitors_c1
) ->
1112 self#on_SFclass_const env _visitors_c0 _visitors_c1
1113 method on_Covariant env
= Covariant
1114 method on_Contravariant env
= Contravariant
1115 method on_Invariant env
= Invariant
1116 method on_variance env _visitors_this
=
1117 match _visitors_this
with
1118 | Covariant
-> self#on_Covariant env
1119 | Contravariant
-> self#on_Contravariant env
1120 | Invariant
-> self#on_Invariant env
1121 method on_NSNamespace env
= NSNamespace
1122 method on_NSClass env
= NSClass
1123 method on_NSClassAndNamespace env
= NSClassAndNamespace
1124 method on_NSFun env
= NSFun
1125 method on_NSConst env
= NSConst
1126 method on_ns_kind env _visitors_this
=
1127 match _visitors_this
with
1128 | NSNamespace
-> self#on_NSNamespace env
1129 | NSClass
-> self#on_NSClass env
1130 | NSClassAndNamespace
-> self#on_NSClassAndNamespace env
1131 | NSFun
-> self#on_NSFun env
1132 | NSConst
-> self#on_NSConst env
1133 method on_Constraint_as env
= Constraint_as
1134 method on_Constraint_eq env
= Constraint_eq
1135 method on_Constraint_super env
= Constraint_super
1136 method on_constraint_kind env _visitors_this
=
1137 match _visitors_this
with
1138 | Constraint_as
-> self#on_Constraint_as env
1139 | Constraint_eq
-> self#on_Constraint_eq env
1140 | Constraint_super
-> self#on_Constraint_super env
1141 method on_Cabstract env
= Cabstract
1142 method on_Cnormal env
= Cnormal
1143 method on_Cinterface env
= Cinterface
1144 method on_Ctrait env
= Ctrait
1145 method on_Cenum env
= Cenum
1146 method on_class_kind env _visitors_this
=
1147 match _visitors_this
with
1148 | Cabstract
-> self#on_Cabstract env
1149 | Cnormal
-> self#on_Cnormal env
1150 | Cinterface
-> self#on_Cinterface env
1151 | Ctrait
-> self#on_Ctrait env
1152 | Cenum
-> self#on_Cenum env
1153 method on_MustExtend env
= MustExtend
1154 method on_MustImplement env
= MustImplement
1155 method on_trait_req_kind env _visitors_this
=
1156 match _visitors_this
with
1157 | MustExtend
-> self#on_MustExtend env
1158 | MustImplement
-> self#on_MustImplement env
1159 method on_Final env
= Final
1160 method on_Static env
= Static
1161 method on_Abstract env
= Abstract
1162 method on_Private env
= Private
1163 method on_Public env
= Public
1164 method on_Protected env
= Protected
1165 method on_kind env _visitors_this
=
1166 match _visitors_this
with
1167 | Final
-> self#on_Final env
1168 | Static
-> self#on_Static env
1169 | Abstract
-> self#on_Abstract env
1170 | Private
-> self#on_Private env
1171 | Public
-> self#on_Public env
1172 | Protected
-> self#on_Protected env
1173 method on_Pinout env
= Pinout
1174 method on_param_kind env _visitors_this
=
1175 match _visitors_this
with | Pinout
-> self#on_Pinout env
1176 method on_OG_nullthrows env
= OG_nullthrows
1177 method on_OG_nullsafe env
= OG_nullsafe
1178 method on_og_null_flavor env _visitors_this
=
1179 match _visitors_this
with
1180 | OG_nullthrows
-> self#on_OG_nullthrows env
1181 | OG_nullsafe
-> self#on_OG_nullsafe env
1182 method on_FSync env
= FSync
1183 method on_FAsync env
= FAsync
1184 method on_FGenerator env
= FGenerator
1185 method on_FAsyncGenerator env
= FAsyncGenerator
1186 method on_FCoroutine env
= FCoroutine
1187 method on_fun_kind env _visitors_this
=
1188 match _visitors_this
with
1189 | FSync
-> self#on_FSync env
1190 | FAsync
-> self#on_FAsync env
1191 | FGenerator
-> self#on_FGenerator env
1192 | FAsyncGenerator
-> self#on_FAsyncGenerator env
1193 | FCoroutine
-> self#on_FCoroutine env
1194 method on_Plus env
= Plus
1195 method on_Minus env
= Minus
1196 method on_Star env
= Star
1197 method on_Slash env
= Slash
1198 method on_Eqeq env
= Eqeq
1199 method on_EQeqeq env
= EQeqeq
1200 method on_Starstar env
= Starstar
1201 method on_Diff env
= Diff
1202 method on_Diff2 env
= Diff2
1203 method on_AMpamp env
= AMpamp
1204 method on_BArbar env
= BArbar
1205 method on_LogXor env
= LogXor
1206 method on_Lt env
= Lt
1207 method on_Lte env
= Lte
1208 method on_Gt env
= Gt
1209 method on_Gte env
= Gte
1210 method on_Dot env
= Dot
1211 method on_Amp env
= Amp
1212 method on_Bar env
= Bar
1213 method on_Ltlt env
= Ltlt
1214 method on_Gtgt env
= Gtgt
1215 method on_Percent env
= Percent
1216 method on_Xor env
= Xor
1217 method on_Cmp env
= Cmp
1218 method on_Eq env _visitors_c0
=
1219 let _visitors_r0 = self#on_option self#on_bop env _visitors_c0
in
1221 method on_bop env _visitors_this
=
1222 match _visitors_this
with
1223 | Plus
-> self#on_Plus env
1224 | Minus
-> self#on_Minus env
1225 | Star
-> self#on_Star env
1226 | Slash
-> self#on_Slash env
1227 | Eqeq
-> self#on_Eqeq env
1228 | EQeqeq
-> self#on_EQeqeq env
1229 | Starstar
-> self#on_Starstar env
1230 | Diff
-> self#on_Diff env
1231 | Diff2
-> self#on_Diff2 env
1232 | AMpamp
-> self#on_AMpamp env
1233 | BArbar
-> self#on_BArbar env
1234 | LogXor
-> self#on_LogXor env
1235 | Lt
-> self#on_Lt env
1236 | Lte
-> self#on_Lte env
1237 | Gt
-> self#on_Gt env
1238 | Gte
-> self#on_Gte env
1239 | Dot
-> self#on_Dot env
1240 | Amp
-> self#on_Amp env
1241 | Bar
-> self#on_Bar env
1242 | Ltlt
-> self#on_Ltlt env
1243 | Gtgt
-> self#on_Gtgt env
1244 | Percent
-> self#on_Percent env
1245 | Xor
-> self#on_Xor env
1246 | Cmp
-> self#on_Cmp env
1247 | Eq _visitors_c0
-> self#on_Eq env _visitors_c0
1248 method on_Utild env
= Utild
1249 method on_Unot env
= Unot
1250 method on_Uplus env
= Uplus
1251 method on_Uminus env
= Uminus
1252 method on_Uincr env
= Uincr
1253 method on_Udecr env
= Udecr
1254 method on_Upincr env
= Upincr
1255 method on_Updecr env
= Updecr
1256 method on_Uref env
= Uref
1257 method on_Usilence env
= Usilence
1258 method on_uop env _visitors_this
=
1259 match _visitors_this
with
1260 | Utild
-> self#on_Utild env
1261 | Unot
-> self#on_Unot env
1262 | Uplus
-> self#on_Uplus env
1263 | Uminus
-> self#on_Uminus env
1264 | Uincr
-> self#on_Uincr env
1265 | Udecr
-> self#on_Udecr env
1266 | Upincr
-> self#on_Upincr env
1267 | Updecr
-> self#on_Updecr env
1268 | Uref
-> self#on_Uref env
1269 | Usilence
-> self#on_Usilence env
1273 type fun_decl_kind
=
1276 | FDeclCoroutine
[@@deriving show
]
1277 let rec (pp_fun_decl_kind
:
1278 Format.formatter
-> fun_decl_kind
-> Ppx_deriving_runtime.unit)
1280 ((let open! Ppx_deriving_runtime
in
1283 | FDeclAsync
-> Format.pp_print_string fmt
"FDeclAsync"
1284 | FDeclSync
-> Format.pp_print_string fmt
"FDeclSync"
1285 | FDeclCoroutine
-> Format.pp_print_string fmt
"FDeclCoroutine")
1286 [@ocaml
.warning
"-A"])
1288 and show_fun_decl_kind
: fun_decl_kind
-> Ppx_deriving_runtime.string =
1289 fun x
-> Format.asprintf
"%a" pp_fun_decl_kind x
1291 let string_of_class_kind =
1293 | Cabstract
-> "an abstract class"
1294 | Cnormal
-> "a class"
1295 | Cinterface
-> "an interface"
1296 | Ctrait
-> "a trait"
1297 | Cenum
-> "an enum"
1298 let string_of_kind =
1301 | Static
-> "static"
1302 | Abstract
-> "abstract"
1303 | Private
-> "private"
1304 | Public
-> "public"
1305 | Protected
-> "protected"
1306 let string_of_param_kind = function | Pinout
-> "inout"
1309 type t
= shape_field_name
1312 | (SFlit _
,SFclass_const _
) -> (-1)
1313 | (SFclass_const _
,SFlit _
) -> 1
1314 | (SFlit
(_
,s1
),SFlit
(_
,s2
)) -> Pervasives.compare s1 s2
1315 | (SFclass_const
((_
,s1
),(_
,s1'
)),SFclass_const
((_
,s2
),(_
,s2'
))) ->
1316 Pervasives.compare (s1
, s1'
) (s2
, s2'
)
1321 include (MyMap.Make
)(ShapeField
)
1322 let map_and_rekey m f1 f2
=
1323 fold
(fun k
-> fun v
-> fun acc
-> add
(f1 k
) (f2 v
) acc
) m empty
1324 let pp _ fmt _
= Format.pp_print_string fmt
"[ShapeMap]"