in hphp/hack/src/oxidized/aast_visitor/node_mut_impl_gen.rs [707:1080]
fn recurse<'node>(
&'node mut self,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
#[inline]
fn helper0<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(
Option<(Targ<Ex>, Targ<Ex>)>,
Vec<(Expr<Ex, En>, Expr<Ex, En>)>,
)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper1<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Option<Targ<Ex>>, Vec<Expr<Ex, En>>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper2<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(VcKind, Option<Targ<Ex>>, Vec<Expr<Ex, En>>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper3<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(KvcKind, Option<(Targ<Ex>, Targ<Ex>)>, Vec<Field<Ex, En>>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper4<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Expr<Ex, En>, Option<Expr<Ex, En>>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper5<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Expr<Ex, En>, Expr<Ex, En>, OgNullFlavor, PropOrMethod)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)?;
a.3.accept(c, v)
}
#[inline]
fn helper6<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ClassId<Ex, En>, ClassGetExpr<Ex, En>, PropOrMethod)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper7<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ClassId<Ex, En>, Pstring)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper8<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(
Expr<Ex, En>,
Vec<Targ<Ex>>,
Vec<(ast_defs::ParamKind, Expr<Ex, En>)>,
Option<Expr<Ex, En>>,
)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)?;
a.3.accept(c, v)
}
#[inline]
fn helper9<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(FunctionPtrId<Ex, En>, Vec<Targ<Ex>>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper10<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(String, Expr<Ex, En>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper11<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Hint, Expr<Ex, En>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper12<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ast_defs::Uop, Expr<Ex, En>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper13<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ast_defs::Bop, Expr<Ex, En>, Expr<Ex, En>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper14<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Lid, Expr<Ex, En>, Expr<Ex, En>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper15<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Expr<Ex, En>, Option<Expr<Ex, En>>, Expr<Ex, En>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper16<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Expr<Ex, En>, Hint)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper17<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Expr<Ex, En>, Hint, bool)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper18<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Expr<Ex, En>, Hint)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper19<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(
ClassId<Ex, En>,
Vec<Targ<Ex>>,
Vec<Expr<Ex, En>>,
Option<Expr<Ex, En>>,
Ex,
)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)?;
a.3.accept(c, v)?;
v.visit_ex(c, &mut a.4)
}
#[inline]
fn helper20<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Fun_<Ex, En>, Vec<Lid>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper21<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Fun_<Ex, En>, Vec<Lid>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper22<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ClassName, Vec<XhpAttribute<Ex, En>>, Vec<Expr<Ex, En>>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper23<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ImportFlavor, Expr<Ex, En>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper24<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ClassName, Option<CollectionTarg<Ex>>, Vec<Afield<Ex, En>>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper25<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Expr<Ex, En>, Pstring)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper26<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ClassName, Pstring)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper27<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(ClassId<Ex, En>, Pstring)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper28<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Option<(Targ<Ex>, Targ<Ex>)>, Expr<Ex, En>, Expr<Ex, En>)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)?;
a.2.accept(c, v)
}
#[inline]
fn helper29<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Option<ClassName>, String)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
a.1.accept(c, v)
}
#[inline]
fn helper30<'node, P: Params + Params<Ex = Ex> + Params<En = En>, Ex, En>(
a: &'node mut Box<(Expr<Ex, En>, Ex, Ex, HoleSource)>,
c: &mut P::Context,
v: &mut dyn VisitorMut<'node, Params = P>,
) -> Result<(), P::Error> {
a.0.accept(c, v)?;
v.visit_ex(c, &mut a.1)?;
v.visit_ex(c, &mut a.2)?;
a.3.accept(c, v)
}
match self {
Expr_::Darray(a) => helper0(a, c, v),
Expr_::Varray(a) => helper1(a, c, v),
Expr_::Shape(a0) => a0.accept(c, v),
Expr_::ValCollection(a) => helper2(a, c, v),
Expr_::KeyValCollection(a) => helper3(a, c, v),
Expr_::Null => Ok(()),
Expr_::This => Ok(()),
Expr_::True => Ok(()),
Expr_::False => Ok(()),
Expr_::Omitted => Ok(()),
Expr_::Id(a0) => a0.accept(c, v),
Expr_::Lvar(a0) => a0.accept(c, v),
Expr_::Dollardollar(a0) => a0.accept(c, v),
Expr_::Clone(a0) => a0.accept(c, v),
Expr_::ArrayGet(a) => helper4(a, c, v),
Expr_::ObjGet(a) => helper5(a, c, v),
Expr_::ClassGet(a) => helper6(a, c, v),
Expr_::ClassConst(a) => helper7(a, c, v),
Expr_::Call(a) => helper8(a, c, v),
Expr_::FunctionPointer(a) => helper9(a, c, v),
Expr_::Int(a0) => a0.accept(c, v),
Expr_::Float(a0) => a0.accept(c, v),
Expr_::String(a0) => a0.accept(c, v),
Expr_::String2(a0) => a0.accept(c, v),
Expr_::PrefixedString(a) => helper10(a, c, v),
Expr_::Yield(a0) => a0.accept(c, v),
Expr_::Await(a0) => a0.accept(c, v),
Expr_::ReadonlyExpr(a0) => a0.accept(c, v),
Expr_::Tuple(a0) => a0.accept(c, v),
Expr_::List(a0) => a0.accept(c, v),
Expr_::Cast(a) => helper11(a, c, v),
Expr_::Unop(a) => helper12(a, c, v),
Expr_::Binop(a) => helper13(a, c, v),
Expr_::Pipe(a) => helper14(a, c, v),
Expr_::Eif(a) => helper15(a, c, v),
Expr_::Is(a) => helper16(a, c, v),
Expr_::As(a) => helper17(a, c, v),
Expr_::Upcast(a) => helper18(a, c, v),
Expr_::New(a) => helper19(a, c, v),
Expr_::Efun(a) => helper20(a, c, v),
Expr_::Lfun(a) => helper21(a, c, v),
Expr_::Xml(a) => helper22(a, c, v),
Expr_::Import(a) => helper23(a, c, v),
Expr_::Collection(a) => helper24(a, c, v),
Expr_::ExpressionTree(a0) => a0.accept(c, v),
Expr_::Lplaceholder(a0) => a0.accept(c, v),
Expr_::FunId(a0) => a0.accept(c, v),
Expr_::MethodId(a) => helper25(a, c, v),
Expr_::MethodCaller(a) => helper26(a, c, v),
Expr_::SmethodId(a) => helper27(a, c, v),
Expr_::Pair(a) => helper28(a, c, v),
Expr_::ETSplice(a0) => a0.accept(c, v),
Expr_::EnumClassLabel(a) => helper29(a, c, v),
Expr_::Hole(a) => helper30(a, c, v),
}
}