1 // Copyright (c) Facebook, Inc. and its affiliates.
3 // This source code is licensed under the MIT license found in the
4 // LICENSE file in the "hack" directory of this source tree.
6 // @generated SignedSource<<a73c5ab47fb26bd64b2239d7b8acd475>>
8 // To regenerate this file, run:
9 // hphp/hack/src/oxidized/regen.sh
11 #![allow(unused_variables)]
12 use super::node::Node;
13 use super::visitor::Visitor;
14 use crate::{aast::*, aast_defs::*, ast_defs::*, doc_comment::*};
15 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
16 for Afield<Ex, Fb, En, Hi>
21 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
22 ) -> Result<(), Error> {
23 v.visit_afield(c, self)
28 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
29 ) -> Result<(), Error> {
31 Afield::AFvalue(a0) => {
35 Afield::AFkvalue(a0, a1) => {
43 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
44 for AsExpr<Ex, Fb, En, Hi>
49 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
50 ) -> Result<(), Error> {
51 v.visit_as_expr(c, self)
56 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
57 ) -> Result<(), Error> {
63 AsExpr::AsKv(a0, a1) => {
68 AsExpr::AwaitAsV(a0, a1) => {
73 AsExpr::AwaitAsKv(a0, a1, a2) => {
82 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
83 for AssertExpr<Ex, Fb, En, Hi>
88 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
89 ) -> Result<(), Error> {
90 v.visit_assert_expr(c, self)
95 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
96 ) -> Result<(), Error> {
98 AssertExpr::AEAssert(a0) => {
105 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Bop {
109 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
110 ) -> Result<(), Error> {
116 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
117 ) -> Result<(), Error> {
120 Bop::Minus => Ok(()),
122 Bop::Slash => Ok(()),
124 Bop::Eqeqeq => Ok(()),
125 Bop::Starstar => Ok(()),
127 Bop::Diff2 => Ok(()),
128 Bop::Ampamp => Ok(()),
129 Bop::Barbar => Ok(()),
130 Bop::LogXor => Ok(()),
140 Bop::Percent => Ok(()),
143 Bop::QuestionQuestion => Ok(()),
151 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
152 for CaField<Ex, Fb, En, Hi>
157 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
158 ) -> Result<(), Error> {
159 v.visit_ca_field(c, self)
164 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
165 ) -> Result<(), Error> {
166 self.type_.accept(c, v)?;
167 self.id.accept(c, v)?;
168 self.value.accept(c, v)?;
169 self.required.accept(c, v)?;
173 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for CaType {
177 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
178 ) -> Result<(), Error> {
179 v.visit_ca_type(c, self)
184 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
185 ) -> Result<(), Error> {
187 CaType::CAHint(a0) => {
191 CaType::CAEnum(a0) => {
198 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for CallType {
202 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
203 ) -> Result<(), Error> {
204 v.visit_call_type(c, self)
209 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
210 ) -> Result<(), Error> {
212 CallType::Cnormal => Ok(()),
213 CallType::CuserFunc => Ok(()),
217 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Case<Ex, Fb, En, Hi> {
221 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
222 ) -> Result<(), Error> {
223 v.visit_case(c, self)
228 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
229 ) -> Result<(), Error> {
231 Case::Default(a0, a1) => {
236 Case::Case(a0, a1) => {
244 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
245 for Catch<Ex, Fb, En, Hi>
250 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
251 ) -> Result<(), Error> {
252 v.visit_catch(c, self)
257 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
258 ) -> Result<(), Error> {
259 self.0.accept(c, v)?;
260 self.1.accept(c, v)?;
261 self.2.accept(c, v)?;
265 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
266 for ClassAttr<Ex, Fb, En, Hi>
271 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
272 ) -> Result<(), Error> {
273 v.visit_class_attr(c, self)
278 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
279 ) -> Result<(), Error> {
281 ClassAttr::CAName(a0) => {
285 ClassAttr::CAField(a0) => {
292 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
293 for ClassConst<Ex, Fb, En, Hi>
298 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
299 ) -> Result<(), Error> {
300 v.visit_class_const(c, self)
305 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
306 ) -> Result<(), Error> {
307 self.type_.accept(c, v)?;
308 self.id.accept(c, v)?;
309 self.expr.accept(c, v)?;
310 self.doc_comment.accept(c, v)?;
314 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
315 for ClassGetExpr<Ex, Fb, En, Hi>
320 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
321 ) -> Result<(), Error> {
322 v.visit_class_get_expr(c, self)
327 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
328 ) -> Result<(), Error> {
330 ClassGetExpr::CGstring(a0) => {
334 ClassGetExpr::CGexpr(a0) => {
341 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
342 for ClassId<Ex, Fb, En, Hi>
347 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
348 ) -> Result<(), Error> {
349 v.visit_class_id(c, self)
354 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
355 ) -> Result<(), Error> {
356 v.visit_ex(c, &self.0)?;
357 self.1.accept(c, v)?;
361 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
362 for ClassId_<Ex, Fb, En, Hi>
367 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
368 ) -> Result<(), Error> {
369 v.visit_class_id_(c, self)
374 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
375 ) -> Result<(), Error> {
377 ClassId_::CIparent => Ok(()),
378 ClassId_::CIself => Ok(()),
379 ClassId_::CIstatic => Ok(()),
380 ClassId_::CIexpr(a0) => {
384 ClassId_::CI(a0) => {
391 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for ClassKind {
395 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
396 ) -> Result<(), Error> {
397 v.visit_class_kind(c, self)
402 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
403 ) -> Result<(), Error> {
405 ClassKind::Cabstract => Ok(()),
406 ClassKind::Cnormal => Ok(()),
407 ClassKind::Cinterface => Ok(()),
408 ClassKind::Ctrait => Ok(()),
409 ClassKind::Cenum => Ok(()),
413 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
414 for ClassTparams<Ex, Fb, En, Hi>
419 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
420 ) -> Result<(), Error> {
421 v.visit_class_tparams(c, self)
426 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
427 ) -> Result<(), Error> {
428 self.list.accept(c, v)?;
429 self.constraints.accept(c, v)?;
433 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
434 for ClassTypeconst<Ex, Fb, En, Hi>
439 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
440 ) -> Result<(), Error> {
441 v.visit_class_typeconst(c, self)
446 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
447 ) -> Result<(), Error> {
448 self.abstract_.accept(c, v)?;
449 self.name.accept(c, v)?;
450 self.constraint.accept(c, v)?;
451 self.type_.accept(c, v)?;
452 self.user_attributes.accept(c, v)?;
453 self.span.accept(c, v)?;
454 self.doc_comment.accept(c, v)?;
458 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
459 for ClassVar<Ex, Fb, En, Hi>
464 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
465 ) -> Result<(), Error> {
466 v.visit_class_var(c, self)
471 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
472 ) -> Result<(), Error> {
473 self.final_.accept(c, v)?;
474 self.xhp_attr.accept(c, v)?;
475 self.abstract_.accept(c, v)?;
476 self.visibility.accept(c, v)?;
477 self.type_.accept(c, v)?;
478 self.id.accept(c, v)?;
479 self.expr.accept(c, v)?;
480 self.user_attributes.accept(c, v)?;
481 self.doc_comment.accept(c, v)?;
482 self.is_promoted_variadic.accept(c, v)?;
483 self.is_static.accept(c, v)?;
484 self.span.accept(c, v)?;
488 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
489 for Class_<Ex, Fb, En, Hi>
494 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
495 ) -> Result<(), Error> {
496 v.visit_class_(c, self)
501 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
502 ) -> Result<(), Error> {
503 self.span.accept(c, v)?;
504 v.visit_en(c, &self.annotation)?;
505 self.mode.accept(c, v)?;
506 self.final_.accept(c, v)?;
507 self.is_xhp.accept(c, v)?;
508 self.has_xhp_keyword.accept(c, v)?;
509 self.kind.accept(c, v)?;
510 self.name.accept(c, v)?;
511 self.tparams.accept(c, v)?;
512 self.extends.accept(c, v)?;
513 self.uses.accept(c, v)?;
514 self.use_as_alias.accept(c, v)?;
515 self.insteadof_alias.accept(c, v)?;
516 self.method_redeclarations.accept(c, v)?;
517 self.xhp_attr_uses.accept(c, v)?;
518 self.xhp_category.accept(c, v)?;
519 self.reqs.accept(c, v)?;
520 self.implements.accept(c, v)?;
521 self.where_constraints.accept(c, v)?;
522 self.consts.accept(c, v)?;
523 self.typeconsts.accept(c, v)?;
524 self.vars.accept(c, v)?;
525 self.methods.accept(c, v)?;
526 self.attributes.accept(c, v)?;
527 self.xhp_children.accept(c, v)?;
528 self.xhp_attrs.accept(c, v)?;
529 self.namespace.accept(c, v)?;
530 self.user_attributes.accept(c, v)?;
531 self.file_attributes.accept(c, v)?;
532 self.enum_.accept(c, v)?;
533 self.pu_enums.accept(c, v)?;
534 self.doc_comment.accept(c, v)?;
538 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for CollectionTarg<Hi> {
542 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
543 ) -> Result<(), Error> {
544 v.visit_collection_targ(c, self)
549 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
550 ) -> Result<(), Error> {
552 CollectionTarg::CollectionTV(a0) => {
556 CollectionTarg::CollectionTKV(a0, a1) => {
564 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for ConstraintKind {
568 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
569 ) -> Result<(), Error> {
570 v.visit_constraint_kind(c, self)
575 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
576 ) -> Result<(), Error> {
578 ConstraintKind::ConstraintAs => Ok(()),
579 ConstraintKind::ConstraintEq => Ok(()),
580 ConstraintKind::ConstraintSuper => Ok(()),
584 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Def<Ex, Fb, En, Hi> {
588 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
589 ) -> Result<(), Error> {
595 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
596 ) -> Result<(), Error> {
606 Def::RecordDef(a0) => {
614 Def::Typedef(a0) => {
618 Def::Constant(a0) => {
622 Def::Namespace(a) => {
627 Def::NamespaceUse(a0) => {
631 Def::SetNamespaceEnv(a0) => {
635 Def::FileAttributes(a0) => {
642 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for DocComment {
646 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
647 ) -> Result<(), Error> {
648 v.visit_doc_comment(c, self)
653 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
654 ) -> Result<(), Error> {
655 self.0.accept(c, v)?;
659 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Enum_ {
663 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
664 ) -> Result<(), Error> {
665 v.visit_enum_(c, self)
670 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
671 ) -> Result<(), Error> {
672 self.base.accept(c, v)?;
673 self.constraint.accept(c, v)?;
677 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Expr<Ex, Fb, En, Hi> {
681 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
682 ) -> Result<(), Error> {
683 v.visit_expr(c, self)
688 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
689 ) -> Result<(), Error> {
690 v.visit_ex(c, &self.0)?;
691 self.1.accept(c, v)?;
695 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
696 for Expr_<Ex, Fb, En, Hi>
701 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
702 ) -> Result<(), Error> {
703 v.visit_expr_(c, self)
708 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
709 ) -> Result<(), Error> {
711 Expr_::Array(a0) => {
715 Expr_::Darray(a) => {
720 Expr_::Varray(a) => {
725 Expr_::Shape(a0) => {
729 Expr_::ValCollection(a) => {
735 Expr_::KeyValCollection(a) => {
741 Expr_::Null => Ok(()),
742 Expr_::This => Ok(()),
743 Expr_::True => Ok(()),
744 Expr_::False => Ok(()),
745 Expr_::Omitted => Ok(()),
754 Expr_::Dollardollar(a0) => {
758 Expr_::Clone(a0) => {
762 Expr_::ObjGet(a) => {
768 Expr_::ArrayGet(a) => {
773 Expr_::ClassGet(a) => {
778 Expr_::ClassConst(a) => {
791 Expr_::FunctionPointer(a) => {
800 Expr_::Float(a0) => {
804 Expr_::String(a0) => {
808 Expr_::String2(a0) => {
812 Expr_::PrefixedString(a) => {
817 Expr_::Yield(a0) => {
821 Expr_::YieldBreak => Ok(()),
822 Expr_::YieldFrom(a0) => {
826 Expr_::Await(a0) => {
830 Expr_::Suspend(a0) => {
838 Expr_::ExprList(a0) => {
886 v.visit_ex(c, &a.4)?;
889 Expr_::Record(a) => {
911 Expr_::Callconv(a) => {
916 Expr_::Import(a) => {
921 Expr_::Collection(a) => {
927 Expr_::BracedExpr(a0) => {
931 Expr_::ParenthesizedExpr(a0) => {
935 Expr_::Lplaceholder(a0) => {
939 Expr_::FunId(a0) => {
943 Expr_::MethodId(a) => {
948 Expr_::MethodCaller(a) => {
953 Expr_::SmethodId(a) => {
963 Expr_::Assert(a0) => {
967 Expr_::Typename(a0) => {
971 Expr_::PUAtom(a0) => {
975 Expr_::PUIdentifier(a) => {
981 Expr_::Any => Ok(()),
985 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
986 for Field<Ex, Fb, En, Hi>
991 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
992 ) -> Result<(), Error> {
993 v.visit_field(c, self)
998 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
999 ) -> Result<(), Error> {
1000 self.0.accept(c, v)?;
1001 self.1.accept(c, v)?;
1005 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1006 for FileAttribute<Ex, Fb, En, Hi>
1011 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1012 ) -> Result<(), Error> {
1013 v.visit_file_attribute(c, self)
1018 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1019 ) -> Result<(), Error> {
1020 self.user_attributes.accept(c, v)?;
1021 self.namespace.accept(c, v)?;
1025 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for FunKind {
1029 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1030 ) -> Result<(), Error> {
1031 v.visit_fun_kind(c, self)
1036 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1037 ) -> Result<(), Error> {
1039 FunKind::FSync => Ok(()),
1040 FunKind::FAsync => Ok(()),
1041 FunKind::FGenerator => Ok(()),
1042 FunKind::FAsyncGenerator => Ok(()),
1043 FunKind::FCoroutine => Ok(()),
1047 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1048 for FunParam<Ex, Fb, En, Hi>
1053 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1054 ) -> Result<(), Error> {
1055 v.visit_fun_param(c, self)
1060 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1061 ) -> Result<(), Error> {
1062 v.visit_ex(c, &self.annotation)?;
1063 self.type_hint.accept(c, v)?;
1064 self.is_variadic.accept(c, v)?;
1065 self.pos.accept(c, v)?;
1066 self.name.accept(c, v)?;
1067 self.expr.accept(c, v)?;
1068 self.callconv.accept(c, v)?;
1069 self.user_attributes.accept(c, v)?;
1070 self.visibility.accept(c, v)?;
1074 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1075 for FunVariadicity<Ex, Fb, En, Hi>
1080 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1081 ) -> Result<(), Error> {
1082 v.visit_fun_variadicity(c, self)
1087 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1088 ) -> Result<(), Error> {
1090 FunVariadicity::FVvariadicArg(a0) => {
1094 FunVariadicity::FVellipsis(a0) => {
1098 FunVariadicity::FVnonVariadic => Ok(()),
1102 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Fun_<Ex, Fb, En, Hi> {
1106 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1107 ) -> Result<(), Error> {
1108 v.visit_fun_(c, self)
1113 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1114 ) -> Result<(), Error> {
1115 self.span.accept(c, v)?;
1116 v.visit_en(c, &self.annotation)?;
1117 self.mode.accept(c, v)?;
1118 self.ret.accept(c, v)?;
1119 self.name.accept(c, v)?;
1120 self.tparams.accept(c, v)?;
1121 self.where_constraints.accept(c, v)?;
1122 self.variadic.accept(c, v)?;
1123 self.params.accept(c, v)?;
1124 self.body.accept(c, v)?;
1125 self.fun_kind.accept(c, v)?;
1126 self.user_attributes.accept(c, v)?;
1127 self.file_attributes.accept(c, v)?;
1128 self.external.accept(c, v)?;
1129 self.namespace.accept(c, v)?;
1130 self.doc_comment.accept(c, v)?;
1131 self.static_.accept(c, v)?;
1135 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1136 for FuncBody<Ex, Fb, En, Hi>
1141 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1142 ) -> Result<(), Error> {
1143 v.visit_func_body(c, self)
1148 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1149 ) -> Result<(), Error> {
1150 self.ast.accept(c, v)?;
1151 v.visit_fb(c, &self.annotation)?;
1155 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for FuncReactive {
1159 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1160 ) -> Result<(), Error> {
1161 v.visit_func_reactive(c, self)
1166 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1167 ) -> Result<(), Error> {
1169 FuncReactive::FReactive => Ok(()),
1170 FuncReactive::FLocal => Ok(()),
1171 FuncReactive::FShallow => Ok(()),
1172 FuncReactive::FNonreactive => Ok(()),
1176 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1177 for Gconst<Ex, Fb, En, Hi>
1182 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1183 ) -> Result<(), Error> {
1184 v.visit_gconst(c, self)
1189 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1190 ) -> Result<(), Error> {
1191 v.visit_en(c, &self.annotation)?;
1192 self.mode.accept(c, v)?;
1193 self.name.accept(c, v)?;
1194 self.type_.accept(c, v)?;
1195 self.value.accept(c, v)?;
1196 self.namespace.accept(c, v)?;
1197 self.span.accept(c, v)?;
1201 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Hint {
1205 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1206 ) -> Result<(), Error> {
1207 v.visit_hint(c, self)
1212 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1213 ) -> Result<(), Error> {
1214 self.0.accept(c, v)?;
1215 self.1.accept(c, v)?;
1219 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for HintFun {
1223 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1224 ) -> Result<(), Error> {
1225 v.visit_hint_fun(c, self)
1230 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1231 ) -> Result<(), Error> {
1232 self.reactive_kind.accept(c, v)?;
1233 self.is_coroutine.accept(c, v)?;
1234 self.param_tys.accept(c, v)?;
1235 self.param_kinds.accept(c, v)?;
1236 self.param_mutability.accept(c, v)?;
1237 self.variadic_ty.accept(c, v)?;
1238 self.return_ty.accept(c, v)?;
1239 self.is_mutable_return.accept(c, v)?;
1243 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Hint_ {
1247 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1248 ) -> Result<(), Error> {
1249 v.visit_hint_(c, self)
1254 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1255 ) -> Result<(), Error> {
1257 Hint_::Hoption(a0) => {
1261 Hint_::Hlike(a0) => {
1265 Hint_::Hfun(a0) => {
1269 Hint_::Htuple(a0) => {
1273 Hint_::Happly(a0, a1) => {
1278 Hint_::Hshape(a0) => {
1282 Hint_::Haccess(a0, a1) => {
1287 Hint_::Hsoft(a0) => {
1291 Hint_::Hany => Ok(()),
1292 Hint_::Herr => Ok(()),
1293 Hint_::Hmixed => Ok(()),
1294 Hint_::Hnonnull => Ok(()),
1295 Hint_::Habstr(a0) => {
1299 Hint_::Harray(a0, a1) => {
1304 Hint_::Hdarray(a0, a1) => {
1309 Hint_::Hvarray(a0) => {
1313 Hint_::HvarrayOrDarray(a0, a1) => {
1318 Hint_::Hprim(a0) => {
1322 Hint_::Hthis => Ok(()),
1323 Hint_::Hdynamic => Ok(()),
1324 Hint_::Hnothing => Ok(()),
1325 Hint_::HpuAccess(a0, a1, a2) => {
1331 Hint_::Hunion(a0) => {
1335 Hint_::Hintersection(a0) => {
1342 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Id {
1346 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1347 ) -> Result<(), Error> {
1353 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1354 ) -> Result<(), Error> {
1355 self.0.accept(c, v)?;
1356 self.1.accept(c, v)?;
1360 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for ImportFlavor {
1364 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1365 ) -> Result<(), Error> {
1366 v.visit_import_flavor(c, self)
1371 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1372 ) -> Result<(), Error> {
1374 ImportFlavor::Include => Ok(()),
1375 ImportFlavor::Require => Ok(()),
1376 ImportFlavor::IncludeOnce => Ok(()),
1377 ImportFlavor::RequireOnce => Ok(()),
1381 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for InsteadofAlias {
1385 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1386 ) -> Result<(), Error> {
1387 v.visit_insteadof_alias(c, self)
1392 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1393 ) -> Result<(), Error> {
1394 self.0.accept(c, v)?;
1395 self.1.accept(c, v)?;
1396 self.2.accept(c, v)?;
1400 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for KvcKind {
1404 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1405 ) -> Result<(), Error> {
1406 v.visit_kvc_kind(c, self)
1411 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1412 ) -> Result<(), Error> {
1414 KvcKind::Map => Ok(()),
1415 KvcKind::ImmMap => Ok(()),
1416 KvcKind::Dict => Ok(()),
1420 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Lid {
1424 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1425 ) -> Result<(), Error> {
1426 v.visit_lid(c, self)
1431 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1432 ) -> Result<(), Error> {
1433 self.0.accept(c, v)?;
1434 self.1.accept(c, v)?;
1438 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1439 for MethodRedeclaration<Ex, Fb, En, Hi>
1444 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1445 ) -> Result<(), Error> {
1446 v.visit_method_redeclaration(c, self)
1451 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1452 ) -> Result<(), Error> {
1453 self.final_.accept(c, v)?;
1454 self.abstract_.accept(c, v)?;
1455 self.static_.accept(c, v)?;
1456 self.visibility.accept(c, v)?;
1457 self.name.accept(c, v)?;
1458 self.tparams.accept(c, v)?;
1459 self.where_constraints.accept(c, v)?;
1460 self.variadic.accept(c, v)?;
1461 self.params.accept(c, v)?;
1462 self.fun_kind.accept(c, v)?;
1463 self.ret.accept(c, v)?;
1464 self.trait_.accept(c, v)?;
1465 self.method.accept(c, v)?;
1466 self.user_attributes.accept(c, v)?;
1470 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1471 for Method_<Ex, Fb, En, Hi>
1476 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1477 ) -> Result<(), Error> {
1478 v.visit_method_(c, self)
1483 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1484 ) -> Result<(), Error> {
1485 self.span.accept(c, v)?;
1486 v.visit_en(c, &self.annotation)?;
1487 self.final_.accept(c, v)?;
1488 self.abstract_.accept(c, v)?;
1489 self.static_.accept(c, v)?;
1490 self.visibility.accept(c, v)?;
1491 self.name.accept(c, v)?;
1492 self.tparams.accept(c, v)?;
1493 self.where_constraints.accept(c, v)?;
1494 self.variadic.accept(c, v)?;
1495 self.params.accept(c, v)?;
1496 self.body.accept(c, v)?;
1497 self.fun_kind.accept(c, v)?;
1498 self.user_attributes.accept(c, v)?;
1499 self.ret.accept(c, v)?;
1500 self.external.accept(c, v)?;
1501 self.doc_comment.accept(c, v)?;
1505 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for NastShapeInfo {
1509 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1510 ) -> Result<(), Error> {
1511 v.visit_nast_shape_info(c, self)
1516 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1517 ) -> Result<(), Error> {
1518 self.allows_unknown_fields.accept(c, v)?;
1519 self.field_map.accept(c, v)?;
1523 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for NsKind {
1527 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1528 ) -> Result<(), Error> {
1529 v.visit_ns_kind(c, self)
1534 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1535 ) -> Result<(), Error> {
1537 NsKind::NSNamespace => Ok(()),
1538 NsKind::NSClass => Ok(()),
1539 NsKind::NSClassAndNamespace => Ok(()),
1540 NsKind::NSFun => Ok(()),
1541 NsKind::NSConst => Ok(()),
1545 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for OgNullFlavor {
1549 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1550 ) -> Result<(), Error> {
1551 v.visit_og_null_flavor(c, self)
1556 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1557 ) -> Result<(), Error> {
1559 OgNullFlavor::OGNullthrows => Ok(()),
1560 OgNullFlavor::OGNullsafe => Ok(()),
1564 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for ParamKind {
1568 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1569 ) -> Result<(), Error> {
1570 v.visit_param_kind(c, self)
1575 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1576 ) -> Result<(), Error> {
1578 ParamKind::Pinout => Ok(()),
1582 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for ParamMutability {
1586 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1587 ) -> Result<(), Error> {
1588 v.visit_param_mutability(c, self)
1593 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1594 ) -> Result<(), Error> {
1596 ParamMutability::PMutable => Ok(()),
1597 ParamMutability::POwnedMutable => Ok(()),
1598 ParamMutability::PMaybeMutable => Ok(()),
1602 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1603 for PuEnum<Ex, Fb, En, Hi>
1608 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1609 ) -> Result<(), Error> {
1610 v.visit_pu_enum(c, self)
1615 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1616 ) -> Result<(), Error> {
1617 v.visit_en(c, &self.annotation)?;
1618 self.name.accept(c, v)?;
1619 self.is_final.accept(c, v)?;
1620 self.case_types.accept(c, v)?;
1621 self.case_values.accept(c, v)?;
1622 self.members.accept(c, v)?;
1626 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for PuLoc {
1630 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1631 ) -> Result<(), Error> {
1632 v.visit_pu_loc(c, self)
1637 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1638 ) -> Result<(), Error> {
1640 PuLoc::Unknown => Ok(()),
1641 PuLoc::TypeParameter => Ok(()),
1642 PuLoc::Atom => Ok(()),
1646 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1647 for PuMember<Ex, Fb, En, Hi>
1652 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1653 ) -> Result<(), Error> {
1654 v.visit_pu_member(c, self)
1659 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1660 ) -> Result<(), Error> {
1661 self.atom.accept(c, v)?;
1662 self.types.accept(c, v)?;
1663 self.exprs.accept(c, v)?;
1667 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1668 for RecordDef<Ex, Fb, En, Hi>
1673 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1674 ) -> Result<(), Error> {
1675 v.visit_record_def(c, self)
1680 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1681 ) -> Result<(), Error> {
1682 v.visit_en(c, &self.annotation)?;
1683 self.name.accept(c, v)?;
1684 self.extends.accept(c, v)?;
1685 self.abstract_.accept(c, v)?;
1686 self.fields.accept(c, v)?;
1687 self.user_attributes.accept(c, v)?;
1688 self.namespace.accept(c, v)?;
1689 self.span.accept(c, v)?;
1690 self.doc_comment.accept(c, v)?;
1694 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for ReifyKind {
1698 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1699 ) -> Result<(), Error> {
1700 v.visit_reify_kind(c, self)
1705 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1706 ) -> Result<(), Error> {
1708 ReifyKind::Erased => Ok(()),
1709 ReifyKind::SoftReified => Ok(()),
1710 ReifyKind::Reified => Ok(()),
1714 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for ShapeFieldInfo {
1718 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1719 ) -> Result<(), Error> {
1720 v.visit_shape_field_info(c, self)
1725 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1726 ) -> Result<(), Error> {
1727 self.optional.accept(c, v)?;
1728 self.hint.accept(c, v)?;
1729 self.name.accept(c, v)?;
1733 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for ShapeFieldName {
1737 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1738 ) -> Result<(), Error> {
1739 v.visit_shape_field_name(c, self)
1744 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1745 ) -> Result<(), Error> {
1747 ShapeFieldName::SFlitInt(a0) => {
1751 ShapeFieldName::SFlitStr(a0) => {
1755 ShapeFieldName::SFclassConst(a0, a1) => {
1763 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Stmt<Ex, Fb, En, Hi> {
1767 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1768 ) -> Result<(), Error> {
1769 v.visit_stmt(c, self)
1774 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1775 ) -> Result<(), Error> {
1776 self.0.accept(c, v)?;
1777 self.1.accept(c, v)?;
1781 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1782 for Stmt_<Ex, Fb, En, Hi>
1787 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1788 ) -> Result<(), Error> {
1789 v.visit_stmt_(c, self)
1794 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1795 ) -> Result<(), Error> {
1797 Stmt_::Fallthrough => Ok(()),
1798 Stmt_::Expr(a0) => {
1802 Stmt_::Break => Ok(()),
1803 Stmt_::Continue => Ok(()),
1804 Stmt_::Throw(a0) => {
1808 Stmt_::Return(a0) => {
1812 Stmt_::GotoLabel(a0) => {
1816 Stmt_::Goto(a0) => {
1820 Stmt_::Awaitall(a) => {
1836 Stmt_::While(a) => {
1841 Stmt_::Using(a0) => {
1852 Stmt_::Switch(a) => {
1857 Stmt_::Foreach(a) => {
1869 Stmt_::DefInline(a0) => {
1873 Stmt_::Noop => Ok(()),
1874 Stmt_::Block(a0) => {
1878 Stmt_::Markup(a) => {
1886 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Targ<Hi> {
1890 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1891 ) -> Result<(), Error> {
1892 v.visit_targ(c, self)
1897 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1898 ) -> Result<(), Error> {
1899 v.visit_hi(c, &self.0)?;
1900 self.1.accept(c, v)?;
1904 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1905 for Tparam<Ex, Fb, En, Hi>
1910 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1911 ) -> Result<(), Error> {
1912 v.visit_tparam(c, self)
1917 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1918 ) -> Result<(), Error> {
1919 self.variance.accept(c, v)?;
1920 self.name.accept(c, v)?;
1921 self.constraints.accept(c, v)?;
1922 self.reified.accept(c, v)?;
1923 self.user_attributes.accept(c, v)?;
1927 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Tprim {
1931 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1932 ) -> Result<(), Error> {
1933 v.visit_tprim(c, self)
1938 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1939 ) -> Result<(), Error> {
1941 Tprim::Tnull => Ok(()),
1942 Tprim::Tvoid => Ok(()),
1943 Tprim::Tint => Ok(()),
1944 Tprim::Tbool => Ok(()),
1945 Tprim::Tfloat => Ok(()),
1946 Tprim::Tstring => Ok(()),
1947 Tprim::Tresource => Ok(()),
1948 Tprim::Tnum => Ok(()),
1949 Tprim::Tarraykey => Ok(()),
1950 Tprim::Tnoreturn => Ok(()),
1951 Tprim::Tatom(a0) => {
1958 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for TypeHint<Hi> {
1962 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1963 ) -> Result<(), Error> {
1964 v.visit_type_hint(c, self)
1969 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1970 ) -> Result<(), Error> {
1971 v.visit_hi(c, &self.0)?;
1972 self.1.accept(c, v)?;
1976 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
1977 for TypeconstAbstractKind
1982 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1983 ) -> Result<(), Error> {
1984 v.visit_typeconst_abstract_kind(c, self)
1989 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
1990 ) -> Result<(), Error> {
1992 TypeconstAbstractKind::TCAbstract(a0) => {
1996 TypeconstAbstractKind::TCPartiallyAbstract => Ok(()),
1997 TypeconstAbstractKind::TCConcrete => Ok(()),
2001 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
2002 for Typedef<Ex, Fb, En, Hi>
2007 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2008 ) -> Result<(), Error> {
2009 v.visit_typedef(c, self)
2014 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2015 ) -> Result<(), Error> {
2016 v.visit_en(c, &self.annotation)?;
2017 self.name.accept(c, v)?;
2018 self.tparams.accept(c, v)?;
2019 self.constraint.accept(c, v)?;
2020 self.kind.accept(c, v)?;
2021 self.user_attributes.accept(c, v)?;
2022 self.mode.accept(c, v)?;
2023 self.vis.accept(c, v)?;
2024 self.namespace.accept(c, v)?;
2028 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for TypedefVisibility {
2032 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2033 ) -> Result<(), Error> {
2034 v.visit_typedef_visibility(c, self)
2039 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2040 ) -> Result<(), Error> {
2042 TypedefVisibility::Transparent => Ok(()),
2043 TypedefVisibility::Opaque => Ok(()),
2047 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Uop {
2051 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2052 ) -> Result<(), Error> {
2053 v.visit_uop(c, self)
2058 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2059 ) -> Result<(), Error> {
2061 Uop::Utild => Ok(()),
2062 Uop::Unot => Ok(()),
2063 Uop::Uplus => Ok(()),
2064 Uop::Uminus => Ok(()),
2065 Uop::Uincr => Ok(()),
2066 Uop::Udecr => Ok(()),
2067 Uop::Upincr => Ok(()),
2068 Uop::Updecr => Ok(()),
2069 Uop::Usilence => Ok(()),
2073 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for UseAsAlias {
2077 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2078 ) -> Result<(), Error> {
2079 v.visit_use_as_alias(c, self)
2084 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2085 ) -> Result<(), Error> {
2086 self.0.accept(c, v)?;
2087 self.1.accept(c, v)?;
2088 self.2.accept(c, v)?;
2089 self.3.accept(c, v)?;
2093 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for UseAsVisibility {
2097 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2098 ) -> Result<(), Error> {
2099 v.visit_use_as_visibility(c, self)
2104 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2105 ) -> Result<(), Error> {
2107 UseAsVisibility::UseAsPublic => Ok(()),
2108 UseAsVisibility::UseAsPrivate => Ok(()),
2109 UseAsVisibility::UseAsProtected => Ok(()),
2110 UseAsVisibility::UseAsFinal => Ok(()),
2114 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
2115 for UserAttribute<Ex, Fb, En, Hi>
2120 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2121 ) -> Result<(), Error> {
2122 v.visit_user_attribute(c, self)
2127 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2128 ) -> Result<(), Error> {
2129 self.name.accept(c, v)?;
2130 self.params.accept(c, v)?;
2134 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
2135 for UsingStmt<Ex, Fb, En, Hi>
2140 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2141 ) -> Result<(), Error> {
2142 v.visit_using_stmt(c, self)
2147 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2148 ) -> Result<(), Error> {
2149 self.is_block_scoped.accept(c, v)?;
2150 self.has_await.accept(c, v)?;
2151 self.expr.accept(c, v)?;
2152 self.block.accept(c, v)?;
2156 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Variance {
2160 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2161 ) -> Result<(), Error> {
2162 v.visit_variance(c, self)
2167 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2168 ) -> Result<(), Error> {
2170 Variance::Covariant => Ok(()),
2171 Variance::Contravariant => Ok(()),
2172 Variance::Invariant => Ok(()),
2176 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for VcKind {
2180 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2181 ) -> Result<(), Error> {
2182 v.visit_vc_kind(c, self)
2187 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2188 ) -> Result<(), Error> {
2190 VcKind::Vector => Ok(()),
2191 VcKind::ImmVector => Ok(()),
2192 VcKind::Vec => Ok(()),
2193 VcKind::Set => Ok(()),
2194 VcKind::ImmSet => Ok(()),
2195 VcKind::Pair_ => Ok(()),
2196 VcKind::Keyset => Ok(()),
2200 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for Visibility {
2204 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2205 ) -> Result<(), Error> {
2206 v.visit_visibility(c, self)
2211 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2212 ) -> Result<(), Error> {
2214 Visibility::Private => Ok(()),
2215 Visibility::Public => Ok(()),
2216 Visibility::Protected => Ok(()),
2220 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for WhereConstraint {
2224 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2225 ) -> Result<(), Error> {
2226 v.visit_where_constraint(c, self)
2231 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2232 ) -> Result<(), Error> {
2233 self.0.accept(c, v)?;
2234 self.1.accept(c, v)?;
2235 self.2.accept(c, v)?;
2239 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
2240 for XhpAttr<Ex, Fb, En, Hi>
2245 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2246 ) -> Result<(), Error> {
2247 v.visit_xhp_attr(c, self)
2252 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2253 ) -> Result<(), Error> {
2254 self.0.accept(c, v)?;
2255 self.1.accept(c, v)?;
2256 self.2.accept(c, v)?;
2257 self.3.accept(c, v)?;
2261 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for XhpAttrInfo {
2265 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2266 ) -> Result<(), Error> {
2267 v.visit_xhp_attr_info(c, self)
2272 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2273 ) -> Result<(), Error> {
2274 self.xai_tag.accept(c, v)?;
2278 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for XhpAttrTag {
2282 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2283 ) -> Result<(), Error> {
2284 v.visit_xhp_attr_tag(c, self)
2289 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2290 ) -> Result<(), Error> {
2292 XhpAttrTag::Required => Ok(()),
2293 XhpAttrTag::LateInit => Ok(()),
2297 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi>
2298 for XhpAttribute<Ex, Fb, En, Hi>
2303 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2304 ) -> Result<(), Error> {
2305 v.visit_xhp_attribute(c, self)
2310 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2311 ) -> Result<(), Error> {
2313 XhpAttribute::XhpSimple(a0, a1) => {
2318 XhpAttribute::XhpSpread(a0) => {
2325 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for XhpChild {
2329 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2330 ) -> Result<(), Error> {
2331 v.visit_xhp_child(c, self)
2336 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2337 ) -> Result<(), Error> {
2339 XhpChild::ChildName(a0) => {
2343 XhpChild::ChildList(a0) => {
2347 XhpChild::ChildUnary(a0, a1) => {
2352 XhpChild::ChildBinary(a0, a1) => {
2360 impl<Context, Error, Ex, Fb, En, Hi> Node<Context, Error, Ex, Fb, En, Hi> for XhpChildOp {
2364 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2365 ) -> Result<(), Error> {
2366 v.visit_xhp_child_op(c, self)
2371 v: &mut dyn Visitor<Context = Context, Error = Error, Ex = Ex, Fb = Fb, En = En, Hi = Hi>,
2372 ) -> Result<(), Error> {
2374 XhpChildOp::ChildStar => Ok(()),
2375 XhpChildOp::ChildPlus => Ok(()),
2376 XhpChildOp::ChildQuestion => Ok(()),