luaur_analysis/methods/
ast_json_encoder_ast_visitor.rs1use crate::records::ast_json_encoder::AstJsonEncoder;
3use luaur_ast::records::ast_visitor::AstVisitor;
4
5impl AstVisitor for AstJsonEncoder {
11 fn visit_type_group(&mut self, node: *mut core::ffi::c_void) -> bool {
12 self.visit_ast_type_group(node as *mut luaur_ast::records::ast_type_group::AstTypeGroup)
13 }
14
15 fn visit_type_singleton_bool(&mut self, node: *mut core::ffi::c_void) -> bool {
16 self.visit_ast_type_singleton_bool(
17 node as *mut luaur_ast::records::ast_type_singleton_bool::AstTypeSingletonBool,
18 )
19 }
20
21 fn visit_type_singleton_string(&mut self, node: *mut core::ffi::c_void) -> bool {
22 self.visit_ast_type_singleton_string(
23 node as *mut luaur_ast::records::ast_type_singleton_string::AstTypeSingletonString,
24 )
25 }
26
27 fn visit_expr_group(&mut self, node: *mut core::ffi::c_void) -> bool {
28 self.visit_ast_expr_group(node as *mut luaur_ast::records::ast_expr_group::AstExprGroup)
29 }
30
31 fn visit_expr_constant_nil(&mut self, node: *mut core::ffi::c_void) -> bool {
32 self.visit_ast_expr_constant_nil(
33 node as *mut luaur_ast::records::ast_expr_constant_nil::AstExprConstantNil,
34 )
35 }
36
37 fn visit_expr_constant_bool(&mut self, node: *mut core::ffi::c_void) -> bool {
38 self.visit_ast_expr_constant_bool(
39 node as *mut luaur_ast::records::ast_expr_constant_bool::AstExprConstantBool,
40 )
41 }
42
43 fn visit_expr_constant_number(&mut self, node: *mut core::ffi::c_void) -> bool {
44 self.visit_ast_expr_constant_number(
45 node as *mut luaur_ast::records::ast_expr_constant_number::AstExprConstantNumber,
46 )
47 }
48
49 fn visit_expr_constant_string(&mut self, node: *mut core::ffi::c_void) -> bool {
50 self.visit_ast_expr_constant_string(
51 node as *mut luaur_ast::records::ast_expr_constant_string::AstExprConstantString,
52 )
53 }
54
55 fn visit_expr_if_else(&mut self, node: *mut core::ffi::c_void) -> bool {
56 self.visit_ast_expr_if_else(
57 node as *mut luaur_ast::records::ast_expr_if_else::AstExprIfElse,
58 )
59 }
60
61 fn visit_expr_interp_string(&mut self, node: *mut core::ffi::c_void) -> bool {
62 self.visit_ast_expr_interp_string(
63 node as *mut luaur_ast::records::ast_expr_interp_string::AstExprInterpString,
64 )
65 }
66
67 fn visit_expr_local(&mut self, node: *mut core::ffi::c_void) -> bool {
68 self.visit_ast_expr_local(node as *mut luaur_ast::records::ast_expr_local::AstExprLocal)
69 }
70
71 fn visit_expr_global(&mut self, node: *mut core::ffi::c_void) -> bool {
72 self.visit_ast_expr_global(node as *mut luaur_ast::records::ast_expr_global::AstExprGlobal)
73 }
74
75 fn visit_expr_varargs(&mut self, node: *mut core::ffi::c_void) -> bool {
76 self.visit_ast_expr_varargs(
77 node as *mut luaur_ast::records::ast_expr_varargs::AstExprVarargs,
78 )
79 }
80
81 fn visit_expr_call(&mut self, node: *mut core::ffi::c_void) -> bool {
82 self.visit_ast_expr_call(node as *mut luaur_ast::records::ast_expr_call::AstExprCall)
83 }
84
85 fn visit_expr_index_name(&mut self, node: *mut core::ffi::c_void) -> bool {
86 self.visit_ast_expr_index_name(
87 node as *mut luaur_ast::records::ast_expr_index_name::AstExprIndexName,
88 )
89 }
90
91 fn visit_expr_index_expr(&mut self, node: *mut core::ffi::c_void) -> bool {
92 self.visit_ast_expr_index_expr(
93 node as *mut luaur_ast::records::ast_expr_index_expr::AstExprIndexExpr,
94 )
95 }
96
97 fn visit_expr_function(&mut self, node: *mut core::ffi::c_void) -> bool {
98 self.visit_ast_expr_function(
99 node as *mut luaur_ast::records::ast_expr_function::AstExprFunction,
100 )
101 }
102
103 fn visit_expr_table(&mut self, node: *mut core::ffi::c_void) -> bool {
104 self.visit_ast_expr_table(node as *mut luaur_ast::records::ast_expr_table::AstExprTable)
105 }
106
107 fn visit_expr_unary(&mut self, node: *mut core::ffi::c_void) -> bool {
108 self.visit_ast_expr_unary(node as *mut luaur_ast::records::ast_expr_unary::AstExprUnary)
109 }
110
111 fn visit_expr_binary(&mut self, node: *mut core::ffi::c_void) -> bool {
112 self.visit_ast_expr_binary(node as *mut luaur_ast::records::ast_expr_binary::AstExprBinary)
113 }
114
115 fn visit_expr_type_assertion(&mut self, node: *mut core::ffi::c_void) -> bool {
116 self.visit_ast_expr_type_assertion(
117 node as *mut luaur_ast::records::ast_expr_type_assertion::AstExprTypeAssertion,
118 )
119 }
120
121 fn visit_expr_error(&mut self, node: *mut core::ffi::c_void) -> bool {
122 self.visit_ast_expr_error(node as *mut luaur_ast::records::ast_expr_error::AstExprError)
123 }
124
125 fn visit_stat_block(&mut self, node: *mut core::ffi::c_void) -> bool {
126 self.visit_ast_stat_block(node as *mut luaur_ast::records::ast_stat_block::AstStatBlock)
127 }
128
129 fn visit_stat_if(&mut self, node: *mut core::ffi::c_void) -> bool {
130 self.visit_ast_stat_if(node as *mut luaur_ast::records::ast_stat_if::AstStatIf)
131 }
132
133 fn visit_stat_while(&mut self, node: *mut core::ffi::c_void) -> bool {
134 self.visit_ast_stat_while(node as *mut luaur_ast::records::ast_stat_while::AstStatWhile)
135 }
136
137 fn visit_stat_repeat(&mut self, node: *mut core::ffi::c_void) -> bool {
138 self.visit_ast_stat_repeat(node as *mut luaur_ast::records::ast_stat_repeat::AstStatRepeat)
139 }
140
141 fn visit_stat_break(&mut self, node: *mut core::ffi::c_void) -> bool {
142 self.visit_ast_stat_break(node as *mut luaur_ast::records::ast_stat_break::AstStatBreak)
143 }
144
145 fn visit_stat_continue(&mut self, node: *mut core::ffi::c_void) -> bool {
146 self.visit_ast_stat_continue(
147 node as *mut luaur_ast::records::ast_stat_continue::AstStatContinue,
148 )
149 }
150
151 fn visit_stat_return(&mut self, node: *mut core::ffi::c_void) -> bool {
152 self.visit_ast_stat_return(node as *mut luaur_ast::records::ast_stat_return::AstStatReturn)
153 }
154
155 fn visit_stat_expr(&mut self, node: *mut core::ffi::c_void) -> bool {
156 self.visit_ast_stat_expr(node as *mut luaur_ast::records::ast_stat_expr::AstStatExpr)
157 }
158
159 fn visit_stat_local(&mut self, node: *mut core::ffi::c_void) -> bool {
160 self.visit_ast_stat_local(node as *mut luaur_ast::records::ast_stat_local::AstStatLocal)
161 }
162
163 fn visit_stat_for(&mut self, node: *mut core::ffi::c_void) -> bool {
164 self.visit_ast_stat_for(node as *mut luaur_ast::records::ast_stat_for::AstStatFor)
165 }
166
167 fn visit_stat_for_in(&mut self, node: *mut core::ffi::c_void) -> bool {
168 self.visit_ast_stat_for_in(node as *mut luaur_ast::records::ast_stat_for_in::AstStatForIn)
169 }
170
171 fn visit_stat_assign(&mut self, node: *mut core::ffi::c_void) -> bool {
172 self.visit_ast_stat_assign(node as *mut luaur_ast::records::ast_stat_assign::AstStatAssign)
173 }
174
175 fn visit_stat_compound_assign(&mut self, node: *mut core::ffi::c_void) -> bool {
176 self.visit_ast_stat_compound_assign(
177 node as *mut luaur_ast::records::ast_stat_compound_assign::AstStatCompoundAssign,
178 )
179 }
180
181 fn visit_stat_function(&mut self, node: *mut core::ffi::c_void) -> bool {
182 self.visit_ast_stat_function(
183 node as *mut luaur_ast::records::ast_stat_function::AstStatFunction,
184 )
185 }
186
187 fn visit_stat_local_function(&mut self, node: *mut core::ffi::c_void) -> bool {
188 self.visit_ast_stat_local_function(
189 node as *mut luaur_ast::records::ast_stat_local_function::AstStatLocalFunction,
190 )
191 }
192
193 fn visit_stat_type_alias(&mut self, node: *mut core::ffi::c_void) -> bool {
194 self.visit_ast_stat_type_alias(
195 node as *mut luaur_ast::records::ast_stat_type_alias::AstStatTypeAlias,
196 )
197 }
198
199 fn visit_stat_declare_function(&mut self, node: *mut core::ffi::c_void) -> bool {
200 self.visit_ast_stat_declare_function(
201 node as *mut luaur_ast::records::ast_stat_declare_function::AstStatDeclareFunction,
202 )
203 }
204
205 fn visit_stat_declare_global(&mut self, node: *mut core::ffi::c_void) -> bool {
206 self.visit_ast_stat_declare_global(
207 node as *mut luaur_ast::records::ast_stat_declare_global::AstStatDeclareGlobal,
208 )
209 }
210
211 fn visit_stat_declare_extern_type(&mut self, node: *mut core::ffi::c_void) -> bool {
212 self.visit_ast_stat_declare_extern_type(
213 node as *mut luaur_ast::records::ast_stat_declare_extern_type::AstStatDeclareExternType,
214 )
215 }
216
217 fn visit_stat_error(&mut self, node: *mut core::ffi::c_void) -> bool {
218 self.visit_ast_stat_error(node as *mut luaur_ast::records::ast_stat_error::AstStatError)
219 }
220
221 fn visit_type_reference(&mut self, node: *mut core::ffi::c_void) -> bool {
222 self.visit_ast_type_reference(
223 node as *mut luaur_ast::records::ast_type_reference::AstTypeReference,
224 )
225 }
226
227 fn visit_type_table(&mut self, node: *mut core::ffi::c_void) -> bool {
228 self.visit_ast_type_table(node as *mut luaur_ast::records::ast_type_table::AstTypeTable)
229 }
230
231 fn visit_type_function(&mut self, node: *mut core::ffi::c_void) -> bool {
232 self.visit_ast_type_function(
233 node as *mut luaur_ast::records::ast_type_function::AstTypeFunction,
234 )
235 }
236
237 fn visit_type_typeof(&mut self, node: *mut core::ffi::c_void) -> bool {
238 self.visit_ast_type_typeof(node as *mut luaur_ast::records::ast_type_typeof::AstTypeTypeof)
239 }
240
241 fn visit_type_optional(&mut self, node: *mut core::ffi::c_void) -> bool {
242 self.visit_ast_type_optional(
243 node as *mut luaur_ast::records::ast_type_optional::AstTypeOptional,
244 )
245 }
246
247 fn visit_type_union(&mut self, node: *mut core::ffi::c_void) -> bool {
248 self.visit_ast_type_union(node as *mut luaur_ast::records::ast_type_union::AstTypeUnion)
249 }
250
251 fn visit_type_intersection(&mut self, node: *mut core::ffi::c_void) -> bool {
252 self.visit_ast_type_intersection(
253 node as *mut luaur_ast::records::ast_type_intersection::AstTypeIntersection,
254 )
255 }
256
257 fn visit_type_error(&mut self, node: *mut core::ffi::c_void) -> bool {
258 self.visit_ast_type_error(node as *mut luaur_ast::records::ast_type_error::AstTypeError)
259 }
260
261 fn visit_type_pack(&mut self, node: *mut core::ffi::c_void) -> bool {
262 self.visit_ast_type_pack(node as *mut luaur_ast::records::ast_type_pack::AstTypePack)
263 }
264
265 fn visit_type_pack_explicit(&mut self, node: *mut core::ffi::c_void) -> bool {
266 self.visit_ast_type_pack_explicit(
267 node as *mut luaur_ast::records::ast_type_pack_explicit::AstTypePackExplicit,
268 )
269 }
270
271 fn visit_type_pack_variadic(&mut self, node: *mut core::ffi::c_void) -> bool {
272 self.visit_ast_type_pack_variadic(
273 node as *mut luaur_ast::records::ast_type_pack_variadic::AstTypePackVariadic,
274 )
275 }
276
277 fn visit_type_pack_generic(&mut self, node: *mut core::ffi::c_void) -> bool {
278 self.visit_ast_type_pack_generic(
279 node as *mut luaur_ast::records::ast_type_pack_generic::AstTypePackGeneric,
280 )
281 }
282}