oxc_ast/generated/
derive_get_span_mut.rs

1// Auto-generated code, DO NOT EDIT DIRECTLY!
2// To edit this generated file you have to edit `tasks/ast_tools/src/derives/get_span.rs`.
3
4#![expect(clippy::match_same_arms)]
5
6use oxc_span::{GetSpanMut, Span};
7
8use crate::ast::js::*;
9use crate::ast::jsx::*;
10use crate::ast::literal::*;
11use crate::ast::ts::*;
12
13impl GetSpanMut for Program<'_> {
14    #[inline]
15    fn span_mut(&mut self) -> &mut Span {
16        &mut self.span
17    }
18}
19
20impl GetSpanMut for Expression<'_> {
21    fn span_mut(&mut self) -> &mut Span {
22        match self {
23            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
24            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
25            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
26            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
27            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
28            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
29            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
30            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
31            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
32            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
33            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
34            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
35            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
36            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
37            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
38            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
39            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
40            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
41            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
42            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
43            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
44            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
45            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
46            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
47            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
48            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
49            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
50            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
51            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
52            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
53            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
54            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
55            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
56            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
57            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
58            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
59            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
60            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
61            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
62            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
63            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
64            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
65            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
66        }
67    }
68}
69
70impl GetSpanMut for IdentifierName<'_> {
71    #[inline]
72    fn span_mut(&mut self) -> &mut Span {
73        &mut self.span
74    }
75}
76
77impl GetSpanMut for IdentifierReference<'_> {
78    #[inline]
79    fn span_mut(&mut self) -> &mut Span {
80        &mut self.span
81    }
82}
83
84impl GetSpanMut for BindingIdentifier<'_> {
85    #[inline]
86    fn span_mut(&mut self) -> &mut Span {
87        &mut self.span
88    }
89}
90
91impl GetSpanMut for LabelIdentifier<'_> {
92    #[inline]
93    fn span_mut(&mut self) -> &mut Span {
94        &mut self.span
95    }
96}
97
98impl GetSpanMut for ThisExpression {
99    #[inline]
100    fn span_mut(&mut self) -> &mut Span {
101        &mut self.span
102    }
103}
104
105impl GetSpanMut for ArrayExpression<'_> {
106    #[inline]
107    fn span_mut(&mut self) -> &mut Span {
108        &mut self.span
109    }
110}
111
112impl GetSpanMut for ArrayExpressionElement<'_> {
113    fn span_mut(&mut self) -> &mut Span {
114        match self {
115            Self::SpreadElement(it) => GetSpanMut::span_mut(&mut **it),
116            Self::Elision(it) => GetSpanMut::span_mut(it),
117            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
118            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
119            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
120            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
121            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
122            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
123            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
124            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
125            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
126            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
127            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
128            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
129            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
130            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
131            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
132            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
133            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
134            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
135            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
136            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
137            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
138            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
139            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
140            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
141            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
142            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
143            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
144            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
145            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
146            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
147            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
148            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
149            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
150            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
151            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
152            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
153            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
154            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
155            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
156            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
157            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
158            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
159            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
160        }
161    }
162}
163
164impl GetSpanMut for Elision {
165    #[inline]
166    fn span_mut(&mut self) -> &mut Span {
167        &mut self.span
168    }
169}
170
171impl GetSpanMut for ObjectExpression<'_> {
172    #[inline]
173    fn span_mut(&mut self) -> &mut Span {
174        &mut self.span
175    }
176}
177
178impl GetSpanMut for ObjectPropertyKind<'_> {
179    fn span_mut(&mut self) -> &mut Span {
180        match self {
181            Self::ObjectProperty(it) => GetSpanMut::span_mut(&mut **it),
182            Self::SpreadProperty(it) => GetSpanMut::span_mut(&mut **it),
183        }
184    }
185}
186
187impl GetSpanMut for ObjectProperty<'_> {
188    #[inline]
189    fn span_mut(&mut self) -> &mut Span {
190        &mut self.span
191    }
192}
193
194impl GetSpanMut for PropertyKey<'_> {
195    fn span_mut(&mut self) -> &mut Span {
196        match self {
197            Self::StaticIdentifier(it) => GetSpanMut::span_mut(&mut **it),
198            Self::PrivateIdentifier(it) => GetSpanMut::span_mut(&mut **it),
199            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
200            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
201            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
202            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
203            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
204            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
205            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
206            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
207            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
208            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
209            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
210            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
211            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
212            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
213            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
214            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
215            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
216            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
217            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
218            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
219            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
220            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
221            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
222            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
223            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
224            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
225            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
226            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
227            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
228            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
229            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
230            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
231            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
232            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
233            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
234            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
235            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
236            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
237            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
238            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
239            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
240            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
241            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
242        }
243    }
244}
245
246impl GetSpanMut for TemplateLiteral<'_> {
247    #[inline]
248    fn span_mut(&mut self) -> &mut Span {
249        &mut self.span
250    }
251}
252
253impl GetSpanMut for TaggedTemplateExpression<'_> {
254    #[inline]
255    fn span_mut(&mut self) -> &mut Span {
256        &mut self.span
257    }
258}
259
260impl GetSpanMut for TemplateElement<'_> {
261    #[inline]
262    fn span_mut(&mut self) -> &mut Span {
263        &mut self.span
264    }
265}
266
267impl GetSpanMut for MemberExpression<'_> {
268    fn span_mut(&mut self) -> &mut Span {
269        match self {
270            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
271            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
272            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
273        }
274    }
275}
276
277impl GetSpanMut for ComputedMemberExpression<'_> {
278    #[inline]
279    fn span_mut(&mut self) -> &mut Span {
280        &mut self.span
281    }
282}
283
284impl GetSpanMut for StaticMemberExpression<'_> {
285    #[inline]
286    fn span_mut(&mut self) -> &mut Span {
287        &mut self.span
288    }
289}
290
291impl GetSpanMut for PrivateFieldExpression<'_> {
292    #[inline]
293    fn span_mut(&mut self) -> &mut Span {
294        &mut self.span
295    }
296}
297
298impl GetSpanMut for CallExpression<'_> {
299    #[inline]
300    fn span_mut(&mut self) -> &mut Span {
301        &mut self.span
302    }
303}
304
305impl GetSpanMut for NewExpression<'_> {
306    #[inline]
307    fn span_mut(&mut self) -> &mut Span {
308        &mut self.span
309    }
310}
311
312impl GetSpanMut for MetaProperty<'_> {
313    #[inline]
314    fn span_mut(&mut self) -> &mut Span {
315        &mut self.span
316    }
317}
318
319impl GetSpanMut for SpreadElement<'_> {
320    #[inline]
321    fn span_mut(&mut self) -> &mut Span {
322        &mut self.span
323    }
324}
325
326impl GetSpanMut for Argument<'_> {
327    fn span_mut(&mut self) -> &mut Span {
328        match self {
329            Self::SpreadElement(it) => GetSpanMut::span_mut(&mut **it),
330            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
331            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
332            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
333            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
334            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
335            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
336            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
337            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
338            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
339            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
340            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
341            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
342            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
343            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
344            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
345            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
346            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
347            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
348            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
349            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
350            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
351            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
352            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
353            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
354            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
355            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
356            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
357            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
358            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
359            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
360            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
361            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
362            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
363            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
364            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
365            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
366            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
367            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
368            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
369            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
370            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
371            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
372            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
373        }
374    }
375}
376
377impl GetSpanMut for UpdateExpression<'_> {
378    #[inline]
379    fn span_mut(&mut self) -> &mut Span {
380        &mut self.span
381    }
382}
383
384impl GetSpanMut for UnaryExpression<'_> {
385    #[inline]
386    fn span_mut(&mut self) -> &mut Span {
387        &mut self.span
388    }
389}
390
391impl GetSpanMut for BinaryExpression<'_> {
392    #[inline]
393    fn span_mut(&mut self) -> &mut Span {
394        &mut self.span
395    }
396}
397
398impl GetSpanMut for PrivateInExpression<'_> {
399    #[inline]
400    fn span_mut(&mut self) -> &mut Span {
401        &mut self.span
402    }
403}
404
405impl GetSpanMut for LogicalExpression<'_> {
406    #[inline]
407    fn span_mut(&mut self) -> &mut Span {
408        &mut self.span
409    }
410}
411
412impl GetSpanMut for ConditionalExpression<'_> {
413    #[inline]
414    fn span_mut(&mut self) -> &mut Span {
415        &mut self.span
416    }
417}
418
419impl GetSpanMut for AssignmentExpression<'_> {
420    #[inline]
421    fn span_mut(&mut self) -> &mut Span {
422        &mut self.span
423    }
424}
425
426impl GetSpanMut for AssignmentTarget<'_> {
427    fn span_mut(&mut self) -> &mut Span {
428        match self {
429            Self::AssignmentTargetIdentifier(it) => GetSpanMut::span_mut(&mut **it),
430            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
431            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
432            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
433            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
434            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
435            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
436            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
437            Self::ArrayAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
438            Self::ObjectAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
439        }
440    }
441}
442
443impl GetSpanMut for SimpleAssignmentTarget<'_> {
444    fn span_mut(&mut self) -> &mut Span {
445        match self {
446            Self::AssignmentTargetIdentifier(it) => GetSpanMut::span_mut(&mut **it),
447            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
448            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
449            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
450            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
451            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
452            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
453            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
454        }
455    }
456}
457
458impl GetSpanMut for AssignmentTargetPattern<'_> {
459    fn span_mut(&mut self) -> &mut Span {
460        match self {
461            Self::ArrayAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
462            Self::ObjectAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
463        }
464    }
465}
466
467impl GetSpanMut for ArrayAssignmentTarget<'_> {
468    #[inline]
469    fn span_mut(&mut self) -> &mut Span {
470        &mut self.span
471    }
472}
473
474impl GetSpanMut for ObjectAssignmentTarget<'_> {
475    #[inline]
476    fn span_mut(&mut self) -> &mut Span {
477        &mut self.span
478    }
479}
480
481impl GetSpanMut for AssignmentTargetRest<'_> {
482    #[inline]
483    fn span_mut(&mut self) -> &mut Span {
484        &mut self.span
485    }
486}
487
488impl GetSpanMut for AssignmentTargetMaybeDefault<'_> {
489    fn span_mut(&mut self) -> &mut Span {
490        match self {
491            Self::AssignmentTargetWithDefault(it) => GetSpanMut::span_mut(&mut **it),
492            Self::AssignmentTargetIdentifier(it) => GetSpanMut::span_mut(&mut **it),
493            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
494            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
495            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
496            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
497            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
498            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
499            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
500            Self::ArrayAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
501            Self::ObjectAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
502        }
503    }
504}
505
506impl GetSpanMut for AssignmentTargetWithDefault<'_> {
507    #[inline]
508    fn span_mut(&mut self) -> &mut Span {
509        &mut self.span
510    }
511}
512
513impl GetSpanMut for AssignmentTargetProperty<'_> {
514    fn span_mut(&mut self) -> &mut Span {
515        match self {
516            Self::AssignmentTargetPropertyIdentifier(it) => GetSpanMut::span_mut(&mut **it),
517            Self::AssignmentTargetPropertyProperty(it) => GetSpanMut::span_mut(&mut **it),
518        }
519    }
520}
521
522impl GetSpanMut for AssignmentTargetPropertyIdentifier<'_> {
523    #[inline]
524    fn span_mut(&mut self) -> &mut Span {
525        &mut self.span
526    }
527}
528
529impl GetSpanMut for AssignmentTargetPropertyProperty<'_> {
530    #[inline]
531    fn span_mut(&mut self) -> &mut Span {
532        &mut self.span
533    }
534}
535
536impl GetSpanMut for SequenceExpression<'_> {
537    #[inline]
538    fn span_mut(&mut self) -> &mut Span {
539        &mut self.span
540    }
541}
542
543impl GetSpanMut for Super {
544    #[inline]
545    fn span_mut(&mut self) -> &mut Span {
546        &mut self.span
547    }
548}
549
550impl GetSpanMut for AwaitExpression<'_> {
551    #[inline]
552    fn span_mut(&mut self) -> &mut Span {
553        &mut self.span
554    }
555}
556
557impl GetSpanMut for ChainExpression<'_> {
558    #[inline]
559    fn span_mut(&mut self) -> &mut Span {
560        &mut self.span
561    }
562}
563
564impl GetSpanMut for ChainElement<'_> {
565    fn span_mut(&mut self) -> &mut Span {
566        match self {
567            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
568            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
569            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
570            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
571            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
572        }
573    }
574}
575
576impl GetSpanMut for ParenthesizedExpression<'_> {
577    #[inline]
578    fn span_mut(&mut self) -> &mut Span {
579        &mut self.span
580    }
581}
582
583impl GetSpanMut for Statement<'_> {
584    fn span_mut(&mut self) -> &mut Span {
585        match self {
586            Self::BlockStatement(it) => GetSpanMut::span_mut(&mut **it),
587            Self::BreakStatement(it) => GetSpanMut::span_mut(&mut **it),
588            Self::ContinueStatement(it) => GetSpanMut::span_mut(&mut **it),
589            Self::DebuggerStatement(it) => GetSpanMut::span_mut(&mut **it),
590            Self::DoWhileStatement(it) => GetSpanMut::span_mut(&mut **it),
591            Self::EmptyStatement(it) => GetSpanMut::span_mut(&mut **it),
592            Self::ExpressionStatement(it) => GetSpanMut::span_mut(&mut **it),
593            Self::ForInStatement(it) => GetSpanMut::span_mut(&mut **it),
594            Self::ForOfStatement(it) => GetSpanMut::span_mut(&mut **it),
595            Self::ForStatement(it) => GetSpanMut::span_mut(&mut **it),
596            Self::IfStatement(it) => GetSpanMut::span_mut(&mut **it),
597            Self::LabeledStatement(it) => GetSpanMut::span_mut(&mut **it),
598            Self::ReturnStatement(it) => GetSpanMut::span_mut(&mut **it),
599            Self::SwitchStatement(it) => GetSpanMut::span_mut(&mut **it),
600            Self::ThrowStatement(it) => GetSpanMut::span_mut(&mut **it),
601            Self::TryStatement(it) => GetSpanMut::span_mut(&mut **it),
602            Self::WhileStatement(it) => GetSpanMut::span_mut(&mut **it),
603            Self::WithStatement(it) => GetSpanMut::span_mut(&mut **it),
604            Self::VariableDeclaration(it) => GetSpanMut::span_mut(&mut **it),
605            Self::FunctionDeclaration(it) => GetSpanMut::span_mut(&mut **it),
606            Self::ClassDeclaration(it) => GetSpanMut::span_mut(&mut **it),
607            Self::TSTypeAliasDeclaration(it) => GetSpanMut::span_mut(&mut **it),
608            Self::TSInterfaceDeclaration(it) => GetSpanMut::span_mut(&mut **it),
609            Self::TSEnumDeclaration(it) => GetSpanMut::span_mut(&mut **it),
610            Self::TSModuleDeclaration(it) => GetSpanMut::span_mut(&mut **it),
611            Self::TSGlobalDeclaration(it) => GetSpanMut::span_mut(&mut **it),
612            Self::TSImportEqualsDeclaration(it) => GetSpanMut::span_mut(&mut **it),
613            Self::ImportDeclaration(it) => GetSpanMut::span_mut(&mut **it),
614            Self::ExportAllDeclaration(it) => GetSpanMut::span_mut(&mut **it),
615            Self::ExportDefaultDeclaration(it) => GetSpanMut::span_mut(&mut **it),
616            Self::ExportNamedDeclaration(it) => GetSpanMut::span_mut(&mut **it),
617            Self::TSExportAssignment(it) => GetSpanMut::span_mut(&mut **it),
618            Self::TSNamespaceExportDeclaration(it) => GetSpanMut::span_mut(&mut **it),
619        }
620    }
621}
622
623impl GetSpanMut for Directive<'_> {
624    #[inline]
625    fn span_mut(&mut self) -> &mut Span {
626        &mut self.span
627    }
628}
629
630impl GetSpanMut for Hashbang<'_> {
631    #[inline]
632    fn span_mut(&mut self) -> &mut Span {
633        &mut self.span
634    }
635}
636
637impl GetSpanMut for BlockStatement<'_> {
638    #[inline]
639    fn span_mut(&mut self) -> &mut Span {
640        &mut self.span
641    }
642}
643
644impl GetSpanMut for Declaration<'_> {
645    fn span_mut(&mut self) -> &mut Span {
646        match self {
647            Self::VariableDeclaration(it) => GetSpanMut::span_mut(&mut **it),
648            Self::FunctionDeclaration(it) => GetSpanMut::span_mut(&mut **it),
649            Self::ClassDeclaration(it) => GetSpanMut::span_mut(&mut **it),
650            Self::TSTypeAliasDeclaration(it) => GetSpanMut::span_mut(&mut **it),
651            Self::TSInterfaceDeclaration(it) => GetSpanMut::span_mut(&mut **it),
652            Self::TSEnumDeclaration(it) => GetSpanMut::span_mut(&mut **it),
653            Self::TSModuleDeclaration(it) => GetSpanMut::span_mut(&mut **it),
654            Self::TSGlobalDeclaration(it) => GetSpanMut::span_mut(&mut **it),
655            Self::TSImportEqualsDeclaration(it) => GetSpanMut::span_mut(&mut **it),
656        }
657    }
658}
659
660impl GetSpanMut for VariableDeclaration<'_> {
661    #[inline]
662    fn span_mut(&mut self) -> &mut Span {
663        &mut self.span
664    }
665}
666
667impl GetSpanMut for VariableDeclarator<'_> {
668    #[inline]
669    fn span_mut(&mut self) -> &mut Span {
670        &mut self.span
671    }
672}
673
674impl GetSpanMut for EmptyStatement {
675    #[inline]
676    fn span_mut(&mut self) -> &mut Span {
677        &mut self.span
678    }
679}
680
681impl GetSpanMut for ExpressionStatement<'_> {
682    #[inline]
683    fn span_mut(&mut self) -> &mut Span {
684        &mut self.span
685    }
686}
687
688impl GetSpanMut for IfStatement<'_> {
689    #[inline]
690    fn span_mut(&mut self) -> &mut Span {
691        &mut self.span
692    }
693}
694
695impl GetSpanMut for DoWhileStatement<'_> {
696    #[inline]
697    fn span_mut(&mut self) -> &mut Span {
698        &mut self.span
699    }
700}
701
702impl GetSpanMut for WhileStatement<'_> {
703    #[inline]
704    fn span_mut(&mut self) -> &mut Span {
705        &mut self.span
706    }
707}
708
709impl GetSpanMut for ForStatement<'_> {
710    #[inline]
711    fn span_mut(&mut self) -> &mut Span {
712        &mut self.span
713    }
714}
715
716impl GetSpanMut for ForStatementInit<'_> {
717    fn span_mut(&mut self) -> &mut Span {
718        match self {
719            Self::VariableDeclaration(it) => GetSpanMut::span_mut(&mut **it),
720            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
721            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
722            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
723            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
724            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
725            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
726            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
727            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
728            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
729            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
730            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
731            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
732            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
733            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
734            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
735            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
736            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
737            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
738            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
739            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
740            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
741            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
742            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
743            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
744            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
745            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
746            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
747            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
748            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
749            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
750            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
751            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
752            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
753            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
754            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
755            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
756            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
757            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
758            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
759            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
760            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
761            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
762            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
763        }
764    }
765}
766
767impl GetSpanMut for ForInStatement<'_> {
768    #[inline]
769    fn span_mut(&mut self) -> &mut Span {
770        &mut self.span
771    }
772}
773
774impl GetSpanMut for ForStatementLeft<'_> {
775    fn span_mut(&mut self) -> &mut Span {
776        match self {
777            Self::VariableDeclaration(it) => GetSpanMut::span_mut(&mut **it),
778            Self::AssignmentTargetIdentifier(it) => GetSpanMut::span_mut(&mut **it),
779            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
780            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
781            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
782            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
783            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
784            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
785            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
786            Self::ArrayAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
787            Self::ObjectAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
788        }
789    }
790}
791
792impl GetSpanMut for ForOfStatement<'_> {
793    #[inline]
794    fn span_mut(&mut self) -> &mut Span {
795        &mut self.span
796    }
797}
798
799impl GetSpanMut for ContinueStatement<'_> {
800    #[inline]
801    fn span_mut(&mut self) -> &mut Span {
802        &mut self.span
803    }
804}
805
806impl GetSpanMut for BreakStatement<'_> {
807    #[inline]
808    fn span_mut(&mut self) -> &mut Span {
809        &mut self.span
810    }
811}
812
813impl GetSpanMut for ReturnStatement<'_> {
814    #[inline]
815    fn span_mut(&mut self) -> &mut Span {
816        &mut self.span
817    }
818}
819
820impl GetSpanMut for WithStatement<'_> {
821    #[inline]
822    fn span_mut(&mut self) -> &mut Span {
823        &mut self.span
824    }
825}
826
827impl GetSpanMut for SwitchStatement<'_> {
828    #[inline]
829    fn span_mut(&mut self) -> &mut Span {
830        &mut self.span
831    }
832}
833
834impl GetSpanMut for SwitchCase<'_> {
835    #[inline]
836    fn span_mut(&mut self) -> &mut Span {
837        &mut self.span
838    }
839}
840
841impl GetSpanMut for LabeledStatement<'_> {
842    #[inline]
843    fn span_mut(&mut self) -> &mut Span {
844        &mut self.span
845    }
846}
847
848impl GetSpanMut for ThrowStatement<'_> {
849    #[inline]
850    fn span_mut(&mut self) -> &mut Span {
851        &mut self.span
852    }
853}
854
855impl GetSpanMut for TryStatement<'_> {
856    #[inline]
857    fn span_mut(&mut self) -> &mut Span {
858        &mut self.span
859    }
860}
861
862impl GetSpanMut for CatchClause<'_> {
863    #[inline]
864    fn span_mut(&mut self) -> &mut Span {
865        &mut self.span
866    }
867}
868
869impl GetSpanMut for CatchParameter<'_> {
870    #[inline]
871    fn span_mut(&mut self) -> &mut Span {
872        &mut self.span
873    }
874}
875
876impl GetSpanMut for DebuggerStatement {
877    #[inline]
878    fn span_mut(&mut self) -> &mut Span {
879        &mut self.span
880    }
881}
882
883impl GetSpanMut for BindingPattern<'_> {
884    #[inline]
885    fn span_mut(&mut self) -> &mut Span {
886        GetSpanMut::span_mut(&mut self.kind)
887    }
888}
889
890impl GetSpanMut for BindingPatternKind<'_> {
891    fn span_mut(&mut self) -> &mut Span {
892        match self {
893            Self::BindingIdentifier(it) => GetSpanMut::span_mut(&mut **it),
894            Self::ObjectPattern(it) => GetSpanMut::span_mut(&mut **it),
895            Self::ArrayPattern(it) => GetSpanMut::span_mut(&mut **it),
896            Self::AssignmentPattern(it) => GetSpanMut::span_mut(&mut **it),
897        }
898    }
899}
900
901impl GetSpanMut for AssignmentPattern<'_> {
902    #[inline]
903    fn span_mut(&mut self) -> &mut Span {
904        &mut self.span
905    }
906}
907
908impl GetSpanMut for ObjectPattern<'_> {
909    #[inline]
910    fn span_mut(&mut self) -> &mut Span {
911        &mut self.span
912    }
913}
914
915impl GetSpanMut for BindingProperty<'_> {
916    #[inline]
917    fn span_mut(&mut self) -> &mut Span {
918        &mut self.span
919    }
920}
921
922impl GetSpanMut for ArrayPattern<'_> {
923    #[inline]
924    fn span_mut(&mut self) -> &mut Span {
925        &mut self.span
926    }
927}
928
929impl GetSpanMut for BindingRestElement<'_> {
930    #[inline]
931    fn span_mut(&mut self) -> &mut Span {
932        &mut self.span
933    }
934}
935
936impl GetSpanMut for Function<'_> {
937    #[inline]
938    fn span_mut(&mut self) -> &mut Span {
939        &mut self.span
940    }
941}
942
943impl GetSpanMut for FormalParameters<'_> {
944    #[inline]
945    fn span_mut(&mut self) -> &mut Span {
946        &mut self.span
947    }
948}
949
950impl GetSpanMut for FormalParameter<'_> {
951    #[inline]
952    fn span_mut(&mut self) -> &mut Span {
953        &mut self.span
954    }
955}
956
957impl GetSpanMut for FunctionBody<'_> {
958    #[inline]
959    fn span_mut(&mut self) -> &mut Span {
960        &mut self.span
961    }
962}
963
964impl GetSpanMut for ArrowFunctionExpression<'_> {
965    #[inline]
966    fn span_mut(&mut self) -> &mut Span {
967        &mut self.span
968    }
969}
970
971impl GetSpanMut for YieldExpression<'_> {
972    #[inline]
973    fn span_mut(&mut self) -> &mut Span {
974        &mut self.span
975    }
976}
977
978impl GetSpanMut for Class<'_> {
979    #[inline]
980    fn span_mut(&mut self) -> &mut Span {
981        &mut self.span
982    }
983}
984
985impl GetSpanMut for ClassBody<'_> {
986    #[inline]
987    fn span_mut(&mut self) -> &mut Span {
988        &mut self.span
989    }
990}
991
992impl GetSpanMut for ClassElement<'_> {
993    fn span_mut(&mut self) -> &mut Span {
994        match self {
995            Self::StaticBlock(it) => GetSpanMut::span_mut(&mut **it),
996            Self::MethodDefinition(it) => GetSpanMut::span_mut(&mut **it),
997            Self::PropertyDefinition(it) => GetSpanMut::span_mut(&mut **it),
998            Self::AccessorProperty(it) => GetSpanMut::span_mut(&mut **it),
999            Self::TSIndexSignature(it) => GetSpanMut::span_mut(&mut **it),
1000        }
1001    }
1002}
1003
1004impl GetSpanMut for MethodDefinition<'_> {
1005    #[inline]
1006    fn span_mut(&mut self) -> &mut Span {
1007        &mut self.span
1008    }
1009}
1010
1011impl GetSpanMut for PropertyDefinition<'_> {
1012    #[inline]
1013    fn span_mut(&mut self) -> &mut Span {
1014        &mut self.span
1015    }
1016}
1017
1018impl GetSpanMut for PrivateIdentifier<'_> {
1019    #[inline]
1020    fn span_mut(&mut self) -> &mut Span {
1021        &mut self.span
1022    }
1023}
1024
1025impl GetSpanMut for StaticBlock<'_> {
1026    #[inline]
1027    fn span_mut(&mut self) -> &mut Span {
1028        &mut self.span
1029    }
1030}
1031
1032impl GetSpanMut for ModuleDeclaration<'_> {
1033    fn span_mut(&mut self) -> &mut Span {
1034        match self {
1035            Self::ImportDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1036            Self::ExportAllDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1037            Self::ExportDefaultDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1038            Self::ExportNamedDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1039            Self::TSExportAssignment(it) => GetSpanMut::span_mut(&mut **it),
1040            Self::TSNamespaceExportDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1041        }
1042    }
1043}
1044
1045impl GetSpanMut for AccessorProperty<'_> {
1046    #[inline]
1047    fn span_mut(&mut self) -> &mut Span {
1048        &mut self.span
1049    }
1050}
1051
1052impl GetSpanMut for ImportExpression<'_> {
1053    #[inline]
1054    fn span_mut(&mut self) -> &mut Span {
1055        &mut self.span
1056    }
1057}
1058
1059impl GetSpanMut for ImportDeclaration<'_> {
1060    #[inline]
1061    fn span_mut(&mut self) -> &mut Span {
1062        &mut self.span
1063    }
1064}
1065
1066impl GetSpanMut for ImportDeclarationSpecifier<'_> {
1067    fn span_mut(&mut self) -> &mut Span {
1068        match self {
1069            Self::ImportSpecifier(it) => GetSpanMut::span_mut(&mut **it),
1070            Self::ImportDefaultSpecifier(it) => GetSpanMut::span_mut(&mut **it),
1071            Self::ImportNamespaceSpecifier(it) => GetSpanMut::span_mut(&mut **it),
1072        }
1073    }
1074}
1075
1076impl GetSpanMut for ImportSpecifier<'_> {
1077    #[inline]
1078    fn span_mut(&mut self) -> &mut Span {
1079        &mut self.span
1080    }
1081}
1082
1083impl GetSpanMut for ImportDefaultSpecifier<'_> {
1084    #[inline]
1085    fn span_mut(&mut self) -> &mut Span {
1086        &mut self.span
1087    }
1088}
1089
1090impl GetSpanMut for ImportNamespaceSpecifier<'_> {
1091    #[inline]
1092    fn span_mut(&mut self) -> &mut Span {
1093        &mut self.span
1094    }
1095}
1096
1097impl GetSpanMut for WithClause<'_> {
1098    #[inline]
1099    fn span_mut(&mut self) -> &mut Span {
1100        &mut self.span
1101    }
1102}
1103
1104impl GetSpanMut for ImportAttribute<'_> {
1105    #[inline]
1106    fn span_mut(&mut self) -> &mut Span {
1107        &mut self.span
1108    }
1109}
1110
1111impl GetSpanMut for ImportAttributeKey<'_> {
1112    fn span_mut(&mut self) -> &mut Span {
1113        match self {
1114            Self::Identifier(it) => GetSpanMut::span_mut(it),
1115            Self::StringLiteral(it) => GetSpanMut::span_mut(it),
1116        }
1117    }
1118}
1119
1120impl GetSpanMut for ExportNamedDeclaration<'_> {
1121    #[inline]
1122    fn span_mut(&mut self) -> &mut Span {
1123        &mut self.span
1124    }
1125}
1126
1127impl GetSpanMut for ExportDefaultDeclaration<'_> {
1128    #[inline]
1129    fn span_mut(&mut self) -> &mut Span {
1130        &mut self.span
1131    }
1132}
1133
1134impl GetSpanMut for ExportAllDeclaration<'_> {
1135    #[inline]
1136    fn span_mut(&mut self) -> &mut Span {
1137        &mut self.span
1138    }
1139}
1140
1141impl GetSpanMut for ExportSpecifier<'_> {
1142    #[inline]
1143    fn span_mut(&mut self) -> &mut Span {
1144        &mut self.span
1145    }
1146}
1147
1148impl GetSpanMut for ExportDefaultDeclarationKind<'_> {
1149    fn span_mut(&mut self) -> &mut Span {
1150        match self {
1151            Self::FunctionDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1152            Self::ClassDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1153            Self::TSInterfaceDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1154            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
1155            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
1156            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
1157            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
1158            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
1159            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
1160            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
1161            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1162            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
1163            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
1164            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
1165            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
1166            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
1167            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
1168            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1169            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
1170            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
1171            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
1172            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
1173            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
1174            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
1175            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
1176            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
1177            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
1178            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
1179            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
1180            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
1181            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1182            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1183            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
1184            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
1185            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
1186            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
1187            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
1188            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
1189            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
1190            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
1191            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
1192            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
1193            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
1194            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1195            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1196            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
1197        }
1198    }
1199}
1200
1201impl GetSpanMut for ModuleExportName<'_> {
1202    fn span_mut(&mut self) -> &mut Span {
1203        match self {
1204            Self::IdentifierName(it) => GetSpanMut::span_mut(it),
1205            Self::IdentifierReference(it) => GetSpanMut::span_mut(it),
1206            Self::StringLiteral(it) => GetSpanMut::span_mut(it),
1207        }
1208    }
1209}
1210
1211impl GetSpanMut for V8IntrinsicExpression<'_> {
1212    #[inline]
1213    fn span_mut(&mut self) -> &mut Span {
1214        &mut self.span
1215    }
1216}
1217
1218impl GetSpanMut for BooleanLiteral {
1219    #[inline]
1220    fn span_mut(&mut self) -> &mut Span {
1221        &mut self.span
1222    }
1223}
1224
1225impl GetSpanMut for NullLiteral {
1226    #[inline]
1227    fn span_mut(&mut self) -> &mut Span {
1228        &mut self.span
1229    }
1230}
1231
1232impl GetSpanMut for NumericLiteral<'_> {
1233    #[inline]
1234    fn span_mut(&mut self) -> &mut Span {
1235        &mut self.span
1236    }
1237}
1238
1239impl GetSpanMut for StringLiteral<'_> {
1240    #[inline]
1241    fn span_mut(&mut self) -> &mut Span {
1242        &mut self.span
1243    }
1244}
1245
1246impl GetSpanMut for BigIntLiteral<'_> {
1247    #[inline]
1248    fn span_mut(&mut self) -> &mut Span {
1249        &mut self.span
1250    }
1251}
1252
1253impl GetSpanMut for RegExpLiteral<'_> {
1254    #[inline]
1255    fn span_mut(&mut self) -> &mut Span {
1256        &mut self.span
1257    }
1258}
1259
1260impl GetSpanMut for JSXElement<'_> {
1261    #[inline]
1262    fn span_mut(&mut self) -> &mut Span {
1263        &mut self.span
1264    }
1265}
1266
1267impl GetSpanMut for JSXOpeningElement<'_> {
1268    #[inline]
1269    fn span_mut(&mut self) -> &mut Span {
1270        &mut self.span
1271    }
1272}
1273
1274impl GetSpanMut for JSXClosingElement<'_> {
1275    #[inline]
1276    fn span_mut(&mut self) -> &mut Span {
1277        &mut self.span
1278    }
1279}
1280
1281impl GetSpanMut for JSXFragment<'_> {
1282    #[inline]
1283    fn span_mut(&mut self) -> &mut Span {
1284        &mut self.span
1285    }
1286}
1287
1288impl GetSpanMut for JSXOpeningFragment {
1289    #[inline]
1290    fn span_mut(&mut self) -> &mut Span {
1291        &mut self.span
1292    }
1293}
1294
1295impl GetSpanMut for JSXClosingFragment {
1296    #[inline]
1297    fn span_mut(&mut self) -> &mut Span {
1298        &mut self.span
1299    }
1300}
1301
1302impl GetSpanMut for JSXElementName<'_> {
1303    fn span_mut(&mut self) -> &mut Span {
1304        match self {
1305            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1306            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
1307            Self::NamespacedName(it) => GetSpanMut::span_mut(&mut **it),
1308            Self::MemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1309            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1310        }
1311    }
1312}
1313
1314impl GetSpanMut for JSXNamespacedName<'_> {
1315    #[inline]
1316    fn span_mut(&mut self) -> &mut Span {
1317        &mut self.span
1318    }
1319}
1320
1321impl GetSpanMut for JSXMemberExpression<'_> {
1322    #[inline]
1323    fn span_mut(&mut self) -> &mut Span {
1324        &mut self.span
1325    }
1326}
1327
1328impl GetSpanMut for JSXMemberExpressionObject<'_> {
1329    fn span_mut(&mut self) -> &mut Span {
1330        match self {
1331            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
1332            Self::MemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1333            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1334        }
1335    }
1336}
1337
1338impl GetSpanMut for JSXExpressionContainer<'_> {
1339    #[inline]
1340    fn span_mut(&mut self) -> &mut Span {
1341        &mut self.span
1342    }
1343}
1344
1345impl GetSpanMut for JSXExpression<'_> {
1346    fn span_mut(&mut self) -> &mut Span {
1347        match self {
1348            Self::EmptyExpression(it) => GetSpanMut::span_mut(it),
1349            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
1350            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
1351            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
1352            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
1353            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
1354            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
1355            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
1356            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1357            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
1358            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
1359            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
1360            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
1361            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
1362            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
1363            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1364            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
1365            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
1366            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
1367            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
1368            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
1369            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
1370            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
1371            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
1372            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
1373            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
1374            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
1375            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
1376            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1377            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1378            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
1379            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
1380            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
1381            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
1382            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
1383            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
1384            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
1385            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
1386            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
1387            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
1388            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
1389            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1390            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1391            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
1392        }
1393    }
1394}
1395
1396impl GetSpanMut for JSXEmptyExpression {
1397    #[inline]
1398    fn span_mut(&mut self) -> &mut Span {
1399        &mut self.span
1400    }
1401}
1402
1403impl GetSpanMut for JSXAttributeItem<'_> {
1404    fn span_mut(&mut self) -> &mut Span {
1405        match self {
1406            Self::Attribute(it) => GetSpanMut::span_mut(&mut **it),
1407            Self::SpreadAttribute(it) => GetSpanMut::span_mut(&mut **it),
1408        }
1409    }
1410}
1411
1412impl GetSpanMut for JSXAttribute<'_> {
1413    #[inline]
1414    fn span_mut(&mut self) -> &mut Span {
1415        &mut self.span
1416    }
1417}
1418
1419impl GetSpanMut for JSXSpreadAttribute<'_> {
1420    #[inline]
1421    fn span_mut(&mut self) -> &mut Span {
1422        &mut self.span
1423    }
1424}
1425
1426impl GetSpanMut for JSXAttributeName<'_> {
1427    fn span_mut(&mut self) -> &mut Span {
1428        match self {
1429            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1430            Self::NamespacedName(it) => GetSpanMut::span_mut(&mut **it),
1431        }
1432    }
1433}
1434
1435impl GetSpanMut for JSXAttributeValue<'_> {
1436    fn span_mut(&mut self) -> &mut Span {
1437        match self {
1438            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
1439            Self::ExpressionContainer(it) => GetSpanMut::span_mut(&mut **it),
1440            Self::Element(it) => GetSpanMut::span_mut(&mut **it),
1441            Self::Fragment(it) => GetSpanMut::span_mut(&mut **it),
1442        }
1443    }
1444}
1445
1446impl GetSpanMut for JSXIdentifier<'_> {
1447    #[inline]
1448    fn span_mut(&mut self) -> &mut Span {
1449        &mut self.span
1450    }
1451}
1452
1453impl GetSpanMut for JSXChild<'_> {
1454    fn span_mut(&mut self) -> &mut Span {
1455        match self {
1456            Self::Text(it) => GetSpanMut::span_mut(&mut **it),
1457            Self::Element(it) => GetSpanMut::span_mut(&mut **it),
1458            Self::Fragment(it) => GetSpanMut::span_mut(&mut **it),
1459            Self::ExpressionContainer(it) => GetSpanMut::span_mut(&mut **it),
1460            Self::Spread(it) => GetSpanMut::span_mut(&mut **it),
1461        }
1462    }
1463}
1464
1465impl GetSpanMut for JSXSpreadChild<'_> {
1466    #[inline]
1467    fn span_mut(&mut self) -> &mut Span {
1468        &mut self.span
1469    }
1470}
1471
1472impl GetSpanMut for JSXText<'_> {
1473    #[inline]
1474    fn span_mut(&mut self) -> &mut Span {
1475        &mut self.span
1476    }
1477}
1478
1479impl GetSpanMut for TSThisParameter<'_> {
1480    #[inline]
1481    fn span_mut(&mut self) -> &mut Span {
1482        &mut self.span
1483    }
1484}
1485
1486impl GetSpanMut for TSEnumDeclaration<'_> {
1487    #[inline]
1488    fn span_mut(&mut self) -> &mut Span {
1489        &mut self.span
1490    }
1491}
1492
1493impl GetSpanMut for TSEnumBody<'_> {
1494    #[inline]
1495    fn span_mut(&mut self) -> &mut Span {
1496        &mut self.span
1497    }
1498}
1499
1500impl GetSpanMut for TSEnumMember<'_> {
1501    #[inline]
1502    fn span_mut(&mut self) -> &mut Span {
1503        &mut self.span
1504    }
1505}
1506
1507impl GetSpanMut for TSEnumMemberName<'_> {
1508    fn span_mut(&mut self) -> &mut Span {
1509        match self {
1510            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1511            Self::String(it) => GetSpanMut::span_mut(&mut **it),
1512            Self::ComputedString(it) => GetSpanMut::span_mut(&mut **it),
1513            Self::ComputedTemplateString(it) => GetSpanMut::span_mut(&mut **it),
1514        }
1515    }
1516}
1517
1518impl GetSpanMut for TSTypeAnnotation<'_> {
1519    #[inline]
1520    fn span_mut(&mut self) -> &mut Span {
1521        &mut self.span
1522    }
1523}
1524
1525impl GetSpanMut for TSLiteralType<'_> {
1526    #[inline]
1527    fn span_mut(&mut self) -> &mut Span {
1528        &mut self.span
1529    }
1530}
1531
1532impl GetSpanMut for TSLiteral<'_> {
1533    fn span_mut(&mut self) -> &mut Span {
1534        match self {
1535            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
1536            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
1537            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
1538            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
1539            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
1540            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1541        }
1542    }
1543}
1544
1545impl GetSpanMut for TSType<'_> {
1546    fn span_mut(&mut self) -> &mut Span {
1547        match self {
1548            Self::TSAnyKeyword(it) => GetSpanMut::span_mut(&mut **it),
1549            Self::TSBigIntKeyword(it) => GetSpanMut::span_mut(&mut **it),
1550            Self::TSBooleanKeyword(it) => GetSpanMut::span_mut(&mut **it),
1551            Self::TSIntrinsicKeyword(it) => GetSpanMut::span_mut(&mut **it),
1552            Self::TSNeverKeyword(it) => GetSpanMut::span_mut(&mut **it),
1553            Self::TSNullKeyword(it) => GetSpanMut::span_mut(&mut **it),
1554            Self::TSNumberKeyword(it) => GetSpanMut::span_mut(&mut **it),
1555            Self::TSObjectKeyword(it) => GetSpanMut::span_mut(&mut **it),
1556            Self::TSStringKeyword(it) => GetSpanMut::span_mut(&mut **it),
1557            Self::TSSymbolKeyword(it) => GetSpanMut::span_mut(&mut **it),
1558            Self::TSUndefinedKeyword(it) => GetSpanMut::span_mut(&mut **it),
1559            Self::TSUnknownKeyword(it) => GetSpanMut::span_mut(&mut **it),
1560            Self::TSVoidKeyword(it) => GetSpanMut::span_mut(&mut **it),
1561            Self::TSArrayType(it) => GetSpanMut::span_mut(&mut **it),
1562            Self::TSConditionalType(it) => GetSpanMut::span_mut(&mut **it),
1563            Self::TSConstructorType(it) => GetSpanMut::span_mut(&mut **it),
1564            Self::TSFunctionType(it) => GetSpanMut::span_mut(&mut **it),
1565            Self::TSImportType(it) => GetSpanMut::span_mut(&mut **it),
1566            Self::TSIndexedAccessType(it) => GetSpanMut::span_mut(&mut **it),
1567            Self::TSInferType(it) => GetSpanMut::span_mut(&mut **it),
1568            Self::TSIntersectionType(it) => GetSpanMut::span_mut(&mut **it),
1569            Self::TSLiteralType(it) => GetSpanMut::span_mut(&mut **it),
1570            Self::TSMappedType(it) => GetSpanMut::span_mut(&mut **it),
1571            Self::TSNamedTupleMember(it) => GetSpanMut::span_mut(&mut **it),
1572            Self::TSTemplateLiteralType(it) => GetSpanMut::span_mut(&mut **it),
1573            Self::TSThisType(it) => GetSpanMut::span_mut(&mut **it),
1574            Self::TSTupleType(it) => GetSpanMut::span_mut(&mut **it),
1575            Self::TSTypeLiteral(it) => GetSpanMut::span_mut(&mut **it),
1576            Self::TSTypeOperatorType(it) => GetSpanMut::span_mut(&mut **it),
1577            Self::TSTypePredicate(it) => GetSpanMut::span_mut(&mut **it),
1578            Self::TSTypeQuery(it) => GetSpanMut::span_mut(&mut **it),
1579            Self::TSTypeReference(it) => GetSpanMut::span_mut(&mut **it),
1580            Self::TSUnionType(it) => GetSpanMut::span_mut(&mut **it),
1581            Self::TSParenthesizedType(it) => GetSpanMut::span_mut(&mut **it),
1582            Self::JSDocNullableType(it) => GetSpanMut::span_mut(&mut **it),
1583            Self::JSDocNonNullableType(it) => GetSpanMut::span_mut(&mut **it),
1584            Self::JSDocUnknownType(it) => GetSpanMut::span_mut(&mut **it),
1585        }
1586    }
1587}
1588
1589impl GetSpanMut for TSConditionalType<'_> {
1590    #[inline]
1591    fn span_mut(&mut self) -> &mut Span {
1592        &mut self.span
1593    }
1594}
1595
1596impl GetSpanMut for TSUnionType<'_> {
1597    #[inline]
1598    fn span_mut(&mut self) -> &mut Span {
1599        &mut self.span
1600    }
1601}
1602
1603impl GetSpanMut for TSIntersectionType<'_> {
1604    #[inline]
1605    fn span_mut(&mut self) -> &mut Span {
1606        &mut self.span
1607    }
1608}
1609
1610impl GetSpanMut for TSParenthesizedType<'_> {
1611    #[inline]
1612    fn span_mut(&mut self) -> &mut Span {
1613        &mut self.span
1614    }
1615}
1616
1617impl GetSpanMut for TSTypeOperator<'_> {
1618    #[inline]
1619    fn span_mut(&mut self) -> &mut Span {
1620        &mut self.span
1621    }
1622}
1623
1624impl GetSpanMut for TSArrayType<'_> {
1625    #[inline]
1626    fn span_mut(&mut self) -> &mut Span {
1627        &mut self.span
1628    }
1629}
1630
1631impl GetSpanMut for TSIndexedAccessType<'_> {
1632    #[inline]
1633    fn span_mut(&mut self) -> &mut Span {
1634        &mut self.span
1635    }
1636}
1637
1638impl GetSpanMut for TSTupleType<'_> {
1639    #[inline]
1640    fn span_mut(&mut self) -> &mut Span {
1641        &mut self.span
1642    }
1643}
1644
1645impl GetSpanMut for TSNamedTupleMember<'_> {
1646    #[inline]
1647    fn span_mut(&mut self) -> &mut Span {
1648        &mut self.span
1649    }
1650}
1651
1652impl GetSpanMut for TSOptionalType<'_> {
1653    #[inline]
1654    fn span_mut(&mut self) -> &mut Span {
1655        &mut self.span
1656    }
1657}
1658
1659impl GetSpanMut for TSRestType<'_> {
1660    #[inline]
1661    fn span_mut(&mut self) -> &mut Span {
1662        &mut self.span
1663    }
1664}
1665
1666impl GetSpanMut for TSTupleElement<'_> {
1667    fn span_mut(&mut self) -> &mut Span {
1668        match self {
1669            Self::TSOptionalType(it) => GetSpanMut::span_mut(&mut **it),
1670            Self::TSRestType(it) => GetSpanMut::span_mut(&mut **it),
1671            Self::TSAnyKeyword(it) => GetSpanMut::span_mut(&mut **it),
1672            Self::TSBigIntKeyword(it) => GetSpanMut::span_mut(&mut **it),
1673            Self::TSBooleanKeyword(it) => GetSpanMut::span_mut(&mut **it),
1674            Self::TSIntrinsicKeyword(it) => GetSpanMut::span_mut(&mut **it),
1675            Self::TSNeverKeyword(it) => GetSpanMut::span_mut(&mut **it),
1676            Self::TSNullKeyword(it) => GetSpanMut::span_mut(&mut **it),
1677            Self::TSNumberKeyword(it) => GetSpanMut::span_mut(&mut **it),
1678            Self::TSObjectKeyword(it) => GetSpanMut::span_mut(&mut **it),
1679            Self::TSStringKeyword(it) => GetSpanMut::span_mut(&mut **it),
1680            Self::TSSymbolKeyword(it) => GetSpanMut::span_mut(&mut **it),
1681            Self::TSUndefinedKeyword(it) => GetSpanMut::span_mut(&mut **it),
1682            Self::TSUnknownKeyword(it) => GetSpanMut::span_mut(&mut **it),
1683            Self::TSVoidKeyword(it) => GetSpanMut::span_mut(&mut **it),
1684            Self::TSArrayType(it) => GetSpanMut::span_mut(&mut **it),
1685            Self::TSConditionalType(it) => GetSpanMut::span_mut(&mut **it),
1686            Self::TSConstructorType(it) => GetSpanMut::span_mut(&mut **it),
1687            Self::TSFunctionType(it) => GetSpanMut::span_mut(&mut **it),
1688            Self::TSImportType(it) => GetSpanMut::span_mut(&mut **it),
1689            Self::TSIndexedAccessType(it) => GetSpanMut::span_mut(&mut **it),
1690            Self::TSInferType(it) => GetSpanMut::span_mut(&mut **it),
1691            Self::TSIntersectionType(it) => GetSpanMut::span_mut(&mut **it),
1692            Self::TSLiteralType(it) => GetSpanMut::span_mut(&mut **it),
1693            Self::TSMappedType(it) => GetSpanMut::span_mut(&mut **it),
1694            Self::TSNamedTupleMember(it) => GetSpanMut::span_mut(&mut **it),
1695            Self::TSTemplateLiteralType(it) => GetSpanMut::span_mut(&mut **it),
1696            Self::TSThisType(it) => GetSpanMut::span_mut(&mut **it),
1697            Self::TSTupleType(it) => GetSpanMut::span_mut(&mut **it),
1698            Self::TSTypeLiteral(it) => GetSpanMut::span_mut(&mut **it),
1699            Self::TSTypeOperatorType(it) => GetSpanMut::span_mut(&mut **it),
1700            Self::TSTypePredicate(it) => GetSpanMut::span_mut(&mut **it),
1701            Self::TSTypeQuery(it) => GetSpanMut::span_mut(&mut **it),
1702            Self::TSTypeReference(it) => GetSpanMut::span_mut(&mut **it),
1703            Self::TSUnionType(it) => GetSpanMut::span_mut(&mut **it),
1704            Self::TSParenthesizedType(it) => GetSpanMut::span_mut(&mut **it),
1705            Self::JSDocNullableType(it) => GetSpanMut::span_mut(&mut **it),
1706            Self::JSDocNonNullableType(it) => GetSpanMut::span_mut(&mut **it),
1707            Self::JSDocUnknownType(it) => GetSpanMut::span_mut(&mut **it),
1708        }
1709    }
1710}
1711
1712impl GetSpanMut for TSAnyKeyword {
1713    #[inline]
1714    fn span_mut(&mut self) -> &mut Span {
1715        &mut self.span
1716    }
1717}
1718
1719impl GetSpanMut for TSStringKeyword {
1720    #[inline]
1721    fn span_mut(&mut self) -> &mut Span {
1722        &mut self.span
1723    }
1724}
1725
1726impl GetSpanMut for TSBooleanKeyword {
1727    #[inline]
1728    fn span_mut(&mut self) -> &mut Span {
1729        &mut self.span
1730    }
1731}
1732
1733impl GetSpanMut for TSNumberKeyword {
1734    #[inline]
1735    fn span_mut(&mut self) -> &mut Span {
1736        &mut self.span
1737    }
1738}
1739
1740impl GetSpanMut for TSNeverKeyword {
1741    #[inline]
1742    fn span_mut(&mut self) -> &mut Span {
1743        &mut self.span
1744    }
1745}
1746
1747impl GetSpanMut for TSIntrinsicKeyword {
1748    #[inline]
1749    fn span_mut(&mut self) -> &mut Span {
1750        &mut self.span
1751    }
1752}
1753
1754impl GetSpanMut for TSUnknownKeyword {
1755    #[inline]
1756    fn span_mut(&mut self) -> &mut Span {
1757        &mut self.span
1758    }
1759}
1760
1761impl GetSpanMut for TSNullKeyword {
1762    #[inline]
1763    fn span_mut(&mut self) -> &mut Span {
1764        &mut self.span
1765    }
1766}
1767
1768impl GetSpanMut for TSUndefinedKeyword {
1769    #[inline]
1770    fn span_mut(&mut self) -> &mut Span {
1771        &mut self.span
1772    }
1773}
1774
1775impl GetSpanMut for TSVoidKeyword {
1776    #[inline]
1777    fn span_mut(&mut self) -> &mut Span {
1778        &mut self.span
1779    }
1780}
1781
1782impl GetSpanMut for TSSymbolKeyword {
1783    #[inline]
1784    fn span_mut(&mut self) -> &mut Span {
1785        &mut self.span
1786    }
1787}
1788
1789impl GetSpanMut for TSThisType {
1790    #[inline]
1791    fn span_mut(&mut self) -> &mut Span {
1792        &mut self.span
1793    }
1794}
1795
1796impl GetSpanMut for TSObjectKeyword {
1797    #[inline]
1798    fn span_mut(&mut self) -> &mut Span {
1799        &mut self.span
1800    }
1801}
1802
1803impl GetSpanMut for TSBigIntKeyword {
1804    #[inline]
1805    fn span_mut(&mut self) -> &mut Span {
1806        &mut self.span
1807    }
1808}
1809
1810impl GetSpanMut for TSTypeReference<'_> {
1811    #[inline]
1812    fn span_mut(&mut self) -> &mut Span {
1813        &mut self.span
1814    }
1815}
1816
1817impl GetSpanMut for TSTypeName<'_> {
1818    fn span_mut(&mut self) -> &mut Span {
1819        match self {
1820            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
1821            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
1822            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1823        }
1824    }
1825}
1826
1827impl GetSpanMut for TSQualifiedName<'_> {
1828    #[inline]
1829    fn span_mut(&mut self) -> &mut Span {
1830        &mut self.span
1831    }
1832}
1833
1834impl GetSpanMut for TSTypeParameterInstantiation<'_> {
1835    #[inline]
1836    fn span_mut(&mut self) -> &mut Span {
1837        &mut self.span
1838    }
1839}
1840
1841impl GetSpanMut for TSTypeParameter<'_> {
1842    #[inline]
1843    fn span_mut(&mut self) -> &mut Span {
1844        &mut self.span
1845    }
1846}
1847
1848impl GetSpanMut for TSTypeParameterDeclaration<'_> {
1849    #[inline]
1850    fn span_mut(&mut self) -> &mut Span {
1851        &mut self.span
1852    }
1853}
1854
1855impl GetSpanMut for TSTypeAliasDeclaration<'_> {
1856    #[inline]
1857    fn span_mut(&mut self) -> &mut Span {
1858        &mut self.span
1859    }
1860}
1861
1862impl GetSpanMut for TSClassImplements<'_> {
1863    #[inline]
1864    fn span_mut(&mut self) -> &mut Span {
1865        &mut self.span
1866    }
1867}
1868
1869impl GetSpanMut for TSInterfaceDeclaration<'_> {
1870    #[inline]
1871    fn span_mut(&mut self) -> &mut Span {
1872        &mut self.span
1873    }
1874}
1875
1876impl GetSpanMut for TSInterfaceBody<'_> {
1877    #[inline]
1878    fn span_mut(&mut self) -> &mut Span {
1879        &mut self.span
1880    }
1881}
1882
1883impl GetSpanMut for TSPropertySignature<'_> {
1884    #[inline]
1885    fn span_mut(&mut self) -> &mut Span {
1886        &mut self.span
1887    }
1888}
1889
1890impl GetSpanMut for TSSignature<'_> {
1891    fn span_mut(&mut self) -> &mut Span {
1892        match self {
1893            Self::TSIndexSignature(it) => GetSpanMut::span_mut(&mut **it),
1894            Self::TSPropertySignature(it) => GetSpanMut::span_mut(&mut **it),
1895            Self::TSCallSignatureDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1896            Self::TSConstructSignatureDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1897            Self::TSMethodSignature(it) => GetSpanMut::span_mut(&mut **it),
1898        }
1899    }
1900}
1901
1902impl GetSpanMut for TSIndexSignature<'_> {
1903    #[inline]
1904    fn span_mut(&mut self) -> &mut Span {
1905        &mut self.span
1906    }
1907}
1908
1909impl GetSpanMut for TSCallSignatureDeclaration<'_> {
1910    #[inline]
1911    fn span_mut(&mut self) -> &mut Span {
1912        &mut self.span
1913    }
1914}
1915
1916impl GetSpanMut for TSMethodSignature<'_> {
1917    #[inline]
1918    fn span_mut(&mut self) -> &mut Span {
1919        &mut self.span
1920    }
1921}
1922
1923impl GetSpanMut for TSConstructSignatureDeclaration<'_> {
1924    #[inline]
1925    fn span_mut(&mut self) -> &mut Span {
1926        &mut self.span
1927    }
1928}
1929
1930impl GetSpanMut for TSIndexSignatureName<'_> {
1931    #[inline]
1932    fn span_mut(&mut self) -> &mut Span {
1933        &mut self.span
1934    }
1935}
1936
1937impl GetSpanMut for TSInterfaceHeritage<'_> {
1938    #[inline]
1939    fn span_mut(&mut self) -> &mut Span {
1940        &mut self.span
1941    }
1942}
1943
1944impl GetSpanMut for TSTypePredicate<'_> {
1945    #[inline]
1946    fn span_mut(&mut self) -> &mut Span {
1947        &mut self.span
1948    }
1949}
1950
1951impl GetSpanMut for TSTypePredicateName<'_> {
1952    fn span_mut(&mut self) -> &mut Span {
1953        match self {
1954            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1955            Self::This(it) => GetSpanMut::span_mut(it),
1956        }
1957    }
1958}
1959
1960impl GetSpanMut for TSModuleDeclaration<'_> {
1961    #[inline]
1962    fn span_mut(&mut self) -> &mut Span {
1963        &mut self.span
1964    }
1965}
1966
1967impl GetSpanMut for TSModuleDeclarationName<'_> {
1968    fn span_mut(&mut self) -> &mut Span {
1969        match self {
1970            Self::Identifier(it) => GetSpanMut::span_mut(it),
1971            Self::StringLiteral(it) => GetSpanMut::span_mut(it),
1972        }
1973    }
1974}
1975
1976impl GetSpanMut for TSModuleDeclarationBody<'_> {
1977    fn span_mut(&mut self) -> &mut Span {
1978        match self {
1979            Self::TSModuleDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1980            Self::TSModuleBlock(it) => GetSpanMut::span_mut(&mut **it),
1981        }
1982    }
1983}
1984
1985impl GetSpanMut for TSGlobalDeclaration<'_> {
1986    #[inline]
1987    fn span_mut(&mut self) -> &mut Span {
1988        &mut self.span
1989    }
1990}
1991
1992impl GetSpanMut for TSModuleBlock<'_> {
1993    #[inline]
1994    fn span_mut(&mut self) -> &mut Span {
1995        &mut self.span
1996    }
1997}
1998
1999impl GetSpanMut for TSTypeLiteral<'_> {
2000    #[inline]
2001    fn span_mut(&mut self) -> &mut Span {
2002        &mut self.span
2003    }
2004}
2005
2006impl GetSpanMut for TSInferType<'_> {
2007    #[inline]
2008    fn span_mut(&mut self) -> &mut Span {
2009        &mut self.span
2010    }
2011}
2012
2013impl GetSpanMut for TSTypeQuery<'_> {
2014    #[inline]
2015    fn span_mut(&mut self) -> &mut Span {
2016        &mut self.span
2017    }
2018}
2019
2020impl GetSpanMut for TSTypeQueryExprName<'_> {
2021    fn span_mut(&mut self) -> &mut Span {
2022        match self {
2023            Self::TSImportType(it) => GetSpanMut::span_mut(&mut **it),
2024            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
2025            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
2026            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
2027        }
2028    }
2029}
2030
2031impl GetSpanMut for TSImportType<'_> {
2032    #[inline]
2033    fn span_mut(&mut self) -> &mut Span {
2034        &mut self.span
2035    }
2036}
2037
2038impl GetSpanMut for TSImportTypeQualifier<'_> {
2039    fn span_mut(&mut self) -> &mut Span {
2040        match self {
2041            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
2042            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
2043        }
2044    }
2045}
2046
2047impl GetSpanMut for TSImportTypeQualifiedName<'_> {
2048    #[inline]
2049    fn span_mut(&mut self) -> &mut Span {
2050        &mut self.span
2051    }
2052}
2053
2054impl GetSpanMut for TSFunctionType<'_> {
2055    #[inline]
2056    fn span_mut(&mut self) -> &mut Span {
2057        &mut self.span
2058    }
2059}
2060
2061impl GetSpanMut for TSConstructorType<'_> {
2062    #[inline]
2063    fn span_mut(&mut self) -> &mut Span {
2064        &mut self.span
2065    }
2066}
2067
2068impl GetSpanMut for TSMappedType<'_> {
2069    #[inline]
2070    fn span_mut(&mut self) -> &mut Span {
2071        &mut self.span
2072    }
2073}
2074
2075impl GetSpanMut for TSTemplateLiteralType<'_> {
2076    #[inline]
2077    fn span_mut(&mut self) -> &mut Span {
2078        &mut self.span
2079    }
2080}
2081
2082impl GetSpanMut for TSAsExpression<'_> {
2083    #[inline]
2084    fn span_mut(&mut self) -> &mut Span {
2085        &mut self.span
2086    }
2087}
2088
2089impl GetSpanMut for TSSatisfiesExpression<'_> {
2090    #[inline]
2091    fn span_mut(&mut self) -> &mut Span {
2092        &mut self.span
2093    }
2094}
2095
2096impl GetSpanMut for TSTypeAssertion<'_> {
2097    #[inline]
2098    fn span_mut(&mut self) -> &mut Span {
2099        &mut self.span
2100    }
2101}
2102
2103impl GetSpanMut for TSImportEqualsDeclaration<'_> {
2104    #[inline]
2105    fn span_mut(&mut self) -> &mut Span {
2106        &mut self.span
2107    }
2108}
2109
2110impl GetSpanMut for TSModuleReference<'_> {
2111    fn span_mut(&mut self) -> &mut Span {
2112        match self {
2113            Self::ExternalModuleReference(it) => GetSpanMut::span_mut(&mut **it),
2114            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
2115            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
2116            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
2117        }
2118    }
2119}
2120
2121impl GetSpanMut for TSExternalModuleReference<'_> {
2122    #[inline]
2123    fn span_mut(&mut self) -> &mut Span {
2124        &mut self.span
2125    }
2126}
2127
2128impl GetSpanMut for TSNonNullExpression<'_> {
2129    #[inline]
2130    fn span_mut(&mut self) -> &mut Span {
2131        &mut self.span
2132    }
2133}
2134
2135impl GetSpanMut for Decorator<'_> {
2136    #[inline]
2137    fn span_mut(&mut self) -> &mut Span {
2138        &mut self.span
2139    }
2140}
2141
2142impl GetSpanMut for TSExportAssignment<'_> {
2143    #[inline]
2144    fn span_mut(&mut self) -> &mut Span {
2145        &mut self.span
2146    }
2147}
2148
2149impl GetSpanMut for TSNamespaceExportDeclaration<'_> {
2150    #[inline]
2151    fn span_mut(&mut self) -> &mut Span {
2152        &mut self.span
2153    }
2154}
2155
2156impl GetSpanMut for TSInstantiationExpression<'_> {
2157    #[inline]
2158    fn span_mut(&mut self) -> &mut Span {
2159        &mut self.span
2160    }
2161}
2162
2163impl GetSpanMut for JSDocNullableType<'_> {
2164    #[inline]
2165    fn span_mut(&mut self) -> &mut Span {
2166        &mut self.span
2167    }
2168}
2169
2170impl GetSpanMut for JSDocNonNullableType<'_> {
2171    #[inline]
2172    fn span_mut(&mut self) -> &mut Span {
2173        &mut self.span
2174    }
2175}
2176
2177impl GetSpanMut for JSDocUnknownType {
2178    #[inline]
2179    fn span_mut(&mut self) -> &mut Span {
2180        &mut self.span
2181    }
2182}