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<<d524dc4fa1b2e57cb44ce212116cbae3>>
8 // To regenerate this file, run:
9 // hphp/hack/src/oxidized_regen.sh
11 #![allow(unused_variables)]
12 use super::node::Node;
14 aast_defs::*, ast_defs::*, direct_decl_parser::*, shallow_decl_defs::*, t_shape_map::*,
15 typing_defs::*, typing_defs_core::*, typing_reason::*,
17 pub trait Visitor<'a> {
18 fn object(&mut self) -> &mut dyn Visitor<'a>;
19 fn visit_abstract_typeconst(&mut self, p: &'a AbstractTypeconst<'a>) {
20 p.recurse(self.object())
22 fn visit_arg_position(&mut self, p: &'a ArgPosition) {
23 p.recurse(self.object())
25 fn visit_blame(&mut self, p: &'a Blame<'a>) {
26 p.recurse(self.object())
28 fn visit_blame_source(&mut self, p: &'a BlameSource) {
29 p.recurse(self.object())
31 fn visit_capability(&mut self, p: &'a Capability<'a>) {
32 p.recurse(self.object())
34 fn visit_class_const_from(&mut self, p: &'a ClassConstFrom<'a>) {
35 p.recurse(self.object())
37 fn visit_class_const_kind(&mut self, p: &'a ClassConstKind) {
38 p.recurse(self.object())
40 fn visit_class_const_ref(&mut self, p: &'a ClassConstRef<'a>) {
41 p.recurse(self.object())
43 fn visit_classish_kind(&mut self, p: &'a ClassishKind) {
44 p.recurse(self.object())
46 fn visit_collection_style(&mut self, p: &'a CollectionStyle) {
47 p.recurse(self.object())
49 fn visit_concrete_typeconst(&mut self, p: &'a ConcreteTypeconst<'a>) {
50 p.recurse(self.object())
52 fn visit_const_decl(&mut self, p: &'a ConstDecl<'a>) {
53 p.recurse(self.object())
55 fn visit_constraint_kind(&mut self, p: &'a ConstraintKind) {
56 p.recurse(self.object())
58 fn visit_decl(&mut self, p: &'a Decl<'a>) {
59 p.recurse(self.object())
61 fn visit_decls(&mut self, p: &'a Decls<'a>) {
62 p.recurse(self.object())
64 fn visit_dependent_type(&mut self, p: &'a DependentType) {
65 p.recurse(self.object())
67 fn visit_enforcement(&mut self, p: &'a Enforcement<'a>) {
68 p.recurse(self.object())
70 fn visit_enum_type(&mut self, p: &'a EnumType<'a>) {
71 p.recurse(self.object())
73 fn visit_exact(&mut self, p: &'a Exact) {
74 p.recurse(self.object())
76 fn visit_expr_dep_type_reason(&mut self, p: &'a ExprDepTypeReason<'a>) {
77 p.recurse(self.object())
79 fn visit_fun_arity(&mut self, p: &'a FunArity<'a>) {
80 p.recurse(self.object())
82 fn visit_fun_elt(&mut self, p: &'a FunElt<'a>) {
83 p.recurse(self.object())
85 fn visit_fun_implicit_params(&mut self, p: &'a FunImplicitParams<'a>) {
86 p.recurse(self.object())
88 fn visit_fun_kind(&mut self, p: &'a FunKind) {
89 p.recurse(self.object())
91 fn visit_fun_param(&mut self, p: &'a FunParam<'a>) {
92 p.recurse(self.object())
94 fn visit_fun_type(&mut self, p: &'a FunType<'a>) {
95 p.recurse(self.object())
97 fn visit_ifc_fun_decl(&mut self, p: &'a IfcFunDecl<'a>) {
98 p.recurse(self.object())
100 fn visit_neg_type(&mut self, p: &'a NegType<'a>) {
101 p.recurse(self.object())
103 fn visit_partially_abstract_typeconst(&mut self, p: &'a PartiallyAbstractTypeconst<'a>) {
104 p.recurse(self.object())
106 fn visit_pos_byte_string(&mut self, p: &'a PosByteString<'a>) {
107 p.recurse(self.object())
109 fn visit_pos_string(&mut self, p: &'a PosString<'a>) {
110 p.recurse(self.object())
112 fn visit_possibly_enforced_ty(&mut self, p: &'a PossiblyEnforcedTy<'a>) {
113 p.recurse(self.object())
115 fn visit_record_def_type(&mut self, p: &'a RecordDefType<'a>) {
116 p.recurse(self.object())
118 fn visit_record_field_req(&mut self, p: &'a RecordFieldReq) {
119 p.recurse(self.object())
121 fn visit_reify_kind(&mut self, p: &'a ReifyKind) {
122 p.recurse(self.object())
124 fn visit_shallow_class(&mut self, p: &'a ShallowClass<'a>) {
125 p.recurse(self.object())
127 fn visit_shallow_class_const(&mut self, p: &'a ShallowClassConst<'a>) {
128 p.recurse(self.object())
130 fn visit_shallow_method(&mut self, p: &'a ShallowMethod<'a>) {
131 p.recurse(self.object())
133 fn visit_shallow_prop(&mut self, p: &'a ShallowProp<'a>) {
134 p.recurse(self.object())
136 fn visit_shallow_typeconst(&mut self, p: &'a ShallowTypeconst<'a>) {
137 p.recurse(self.object())
139 fn visit_shape_field_type(&mut self, p: &'a ShapeFieldType<'a>) {
140 p.recurse(self.object())
142 fn visit_shape_kind(&mut self, p: &'a ShapeKind) {
143 p.recurse(self.object())
145 fn visit_tshape_field(&mut self, p: &'a TShapeField<'a>) {
146 p.recurse(self.object())
148 fn visit_t_(&mut self, p: &'a T_<'a>) {
149 p.recurse(self.object())
151 fn visit_taccess_type(&mut self, p: &'a TaccessType<'a>) {
152 p.recurse(self.object())
154 fn visit_tparam(&mut self, p: &'a Tparam<'a>) {
155 p.recurse(self.object())
157 fn visit_tprim(&mut self, p: &'a Tprim) {
158 p.recurse(self.object())
160 fn visit_tshape_field_name(&mut self, p: &'a TshapeFieldName<'a>) {
161 p.recurse(self.object())
163 fn visit_ty(&mut self, p: &'a Ty<'a>) {
164 p.recurse(self.object())
166 fn visit_ty_(&mut self, p: &'a Ty_<'a>) {
167 p.recurse(self.object())
169 fn visit_typeconst(&mut self, p: &'a Typeconst<'a>) {
170 p.recurse(self.object())
172 fn visit_typedef_type(&mut self, p: &'a TypedefType<'a>) {
173 p.recurse(self.object())
175 fn visit_typedef_visibility(&mut self, p: &'a TypedefVisibility) {
176 p.recurse(self.object())
178 fn visit_user_attribute(&mut self, p: &'a UserAttribute<'a>) {
179 p.recurse(self.object())
181 fn visit_variance(&mut self, p: &'a Variance) {
182 p.recurse(self.object())
184 fn visit_visibility(&mut self, p: &'a Visibility) {
185 p.recurse(self.object())
187 fn visit_where_constraint(&mut self, p: &'a WhereConstraint<'a>) {
188 p.recurse(self.object())
190 fn visit_xhp_attr(&mut self, p: &'a XhpAttr) {
191 p.recurse(self.object())
193 fn visit_xhp_attr_tag(&mut self, p: &'a XhpAttrTag) {
194 p.recurse(self.object())
196 fn visit_xhp_enum_value(&mut self, p: &'a XhpEnumValue<'a>) {
197 p.recurse(self.object())