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::TSImportEqualsDeclaration(it) => GetSpanMut::span_mut(&mut **it),
612            Self::ImportDeclaration(it) => GetSpanMut::span_mut(&mut **it),
613            Self::ExportAllDeclaration(it) => GetSpanMut::span_mut(&mut **it),
614            Self::ExportDefaultDeclaration(it) => GetSpanMut::span_mut(&mut **it),
615            Self::ExportNamedDeclaration(it) => GetSpanMut::span_mut(&mut **it),
616            Self::TSExportAssignment(it) => GetSpanMut::span_mut(&mut **it),
617            Self::TSNamespaceExportDeclaration(it) => GetSpanMut::span_mut(&mut **it),
618        }
619    }
620}
621
622impl GetSpanMut for Directive<'_> {
623    #[inline]
624    fn span_mut(&mut self) -> &mut Span {
625        &mut self.span
626    }
627}
628
629impl GetSpanMut for Hashbang<'_> {
630    #[inline]
631    fn span_mut(&mut self) -> &mut Span {
632        &mut self.span
633    }
634}
635
636impl GetSpanMut for BlockStatement<'_> {
637    #[inline]
638    fn span_mut(&mut self) -> &mut Span {
639        &mut self.span
640    }
641}
642
643impl GetSpanMut for Declaration<'_> {
644    fn span_mut(&mut self) -> &mut Span {
645        match self {
646            Self::VariableDeclaration(it) => GetSpanMut::span_mut(&mut **it),
647            Self::FunctionDeclaration(it) => GetSpanMut::span_mut(&mut **it),
648            Self::ClassDeclaration(it) => GetSpanMut::span_mut(&mut **it),
649            Self::TSTypeAliasDeclaration(it) => GetSpanMut::span_mut(&mut **it),
650            Self::TSInterfaceDeclaration(it) => GetSpanMut::span_mut(&mut **it),
651            Self::TSEnumDeclaration(it) => GetSpanMut::span_mut(&mut **it),
652            Self::TSModuleDeclaration(it) => GetSpanMut::span_mut(&mut **it),
653            Self::TSImportEqualsDeclaration(it) => GetSpanMut::span_mut(&mut **it),
654        }
655    }
656}
657
658impl GetSpanMut for VariableDeclaration<'_> {
659    #[inline]
660    fn span_mut(&mut self) -> &mut Span {
661        &mut self.span
662    }
663}
664
665impl GetSpanMut for VariableDeclarator<'_> {
666    #[inline]
667    fn span_mut(&mut self) -> &mut Span {
668        &mut self.span
669    }
670}
671
672impl GetSpanMut for EmptyStatement {
673    #[inline]
674    fn span_mut(&mut self) -> &mut Span {
675        &mut self.span
676    }
677}
678
679impl GetSpanMut for ExpressionStatement<'_> {
680    #[inline]
681    fn span_mut(&mut self) -> &mut Span {
682        &mut self.span
683    }
684}
685
686impl GetSpanMut for IfStatement<'_> {
687    #[inline]
688    fn span_mut(&mut self) -> &mut Span {
689        &mut self.span
690    }
691}
692
693impl GetSpanMut for DoWhileStatement<'_> {
694    #[inline]
695    fn span_mut(&mut self) -> &mut Span {
696        &mut self.span
697    }
698}
699
700impl GetSpanMut for WhileStatement<'_> {
701    #[inline]
702    fn span_mut(&mut self) -> &mut Span {
703        &mut self.span
704    }
705}
706
707impl GetSpanMut for ForStatement<'_> {
708    #[inline]
709    fn span_mut(&mut self) -> &mut Span {
710        &mut self.span
711    }
712}
713
714impl GetSpanMut for ForStatementInit<'_> {
715    fn span_mut(&mut self) -> &mut Span {
716        match self {
717            Self::VariableDeclaration(it) => GetSpanMut::span_mut(&mut **it),
718            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
719            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
720            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
721            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
722            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
723            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
724            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
725            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
726            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
727            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
728            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
729            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
730            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
731            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
732            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
733            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
734            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
735            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
736            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
737            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
738            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
739            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
740            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
741            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
742            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
743            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
744            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
745            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
746            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
747            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
748            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
749            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
750            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
751            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
752            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
753            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
754            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
755            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
756            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
757            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
758            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
759            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
760            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
761        }
762    }
763}
764
765impl GetSpanMut for ForInStatement<'_> {
766    #[inline]
767    fn span_mut(&mut self) -> &mut Span {
768        &mut self.span
769    }
770}
771
772impl GetSpanMut for ForStatementLeft<'_> {
773    fn span_mut(&mut self) -> &mut Span {
774        match self {
775            Self::VariableDeclaration(it) => GetSpanMut::span_mut(&mut **it),
776            Self::AssignmentTargetIdentifier(it) => GetSpanMut::span_mut(&mut **it),
777            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
778            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
779            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
780            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
781            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
782            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
783            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
784            Self::ArrayAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
785            Self::ObjectAssignmentTarget(it) => GetSpanMut::span_mut(&mut **it),
786        }
787    }
788}
789
790impl GetSpanMut for ForOfStatement<'_> {
791    #[inline]
792    fn span_mut(&mut self) -> &mut Span {
793        &mut self.span
794    }
795}
796
797impl GetSpanMut for ContinueStatement<'_> {
798    #[inline]
799    fn span_mut(&mut self) -> &mut Span {
800        &mut self.span
801    }
802}
803
804impl GetSpanMut for BreakStatement<'_> {
805    #[inline]
806    fn span_mut(&mut self) -> &mut Span {
807        &mut self.span
808    }
809}
810
811impl GetSpanMut for ReturnStatement<'_> {
812    #[inline]
813    fn span_mut(&mut self) -> &mut Span {
814        &mut self.span
815    }
816}
817
818impl GetSpanMut for WithStatement<'_> {
819    #[inline]
820    fn span_mut(&mut self) -> &mut Span {
821        &mut self.span
822    }
823}
824
825impl GetSpanMut for SwitchStatement<'_> {
826    #[inline]
827    fn span_mut(&mut self) -> &mut Span {
828        &mut self.span
829    }
830}
831
832impl GetSpanMut for SwitchCase<'_> {
833    #[inline]
834    fn span_mut(&mut self) -> &mut Span {
835        &mut self.span
836    }
837}
838
839impl GetSpanMut for LabeledStatement<'_> {
840    #[inline]
841    fn span_mut(&mut self) -> &mut Span {
842        &mut self.span
843    }
844}
845
846impl GetSpanMut for ThrowStatement<'_> {
847    #[inline]
848    fn span_mut(&mut self) -> &mut Span {
849        &mut self.span
850    }
851}
852
853impl GetSpanMut for TryStatement<'_> {
854    #[inline]
855    fn span_mut(&mut self) -> &mut Span {
856        &mut self.span
857    }
858}
859
860impl GetSpanMut for CatchClause<'_> {
861    #[inline]
862    fn span_mut(&mut self) -> &mut Span {
863        &mut self.span
864    }
865}
866
867impl GetSpanMut for CatchParameter<'_> {
868    #[inline]
869    fn span_mut(&mut self) -> &mut Span {
870        &mut self.span
871    }
872}
873
874impl GetSpanMut for DebuggerStatement {
875    #[inline]
876    fn span_mut(&mut self) -> &mut Span {
877        &mut self.span
878    }
879}
880
881impl GetSpanMut for BindingPattern<'_> {
882    #[inline]
883    fn span_mut(&mut self) -> &mut Span {
884        GetSpanMut::span_mut(&mut self.kind)
885    }
886}
887
888impl GetSpanMut for BindingPatternKind<'_> {
889    fn span_mut(&mut self) -> &mut Span {
890        match self {
891            Self::BindingIdentifier(it) => GetSpanMut::span_mut(&mut **it),
892            Self::ObjectPattern(it) => GetSpanMut::span_mut(&mut **it),
893            Self::ArrayPattern(it) => GetSpanMut::span_mut(&mut **it),
894            Self::AssignmentPattern(it) => GetSpanMut::span_mut(&mut **it),
895        }
896    }
897}
898
899impl GetSpanMut for AssignmentPattern<'_> {
900    #[inline]
901    fn span_mut(&mut self) -> &mut Span {
902        &mut self.span
903    }
904}
905
906impl GetSpanMut for ObjectPattern<'_> {
907    #[inline]
908    fn span_mut(&mut self) -> &mut Span {
909        &mut self.span
910    }
911}
912
913impl GetSpanMut for BindingProperty<'_> {
914    #[inline]
915    fn span_mut(&mut self) -> &mut Span {
916        &mut self.span
917    }
918}
919
920impl GetSpanMut for ArrayPattern<'_> {
921    #[inline]
922    fn span_mut(&mut self) -> &mut Span {
923        &mut self.span
924    }
925}
926
927impl GetSpanMut for BindingRestElement<'_> {
928    #[inline]
929    fn span_mut(&mut self) -> &mut Span {
930        &mut self.span
931    }
932}
933
934impl GetSpanMut for Function<'_> {
935    #[inline]
936    fn span_mut(&mut self) -> &mut Span {
937        &mut self.span
938    }
939}
940
941impl GetSpanMut for FormalParameters<'_> {
942    #[inline]
943    fn span_mut(&mut self) -> &mut Span {
944        &mut self.span
945    }
946}
947
948impl GetSpanMut for FormalParameter<'_> {
949    #[inline]
950    fn span_mut(&mut self) -> &mut Span {
951        &mut self.span
952    }
953}
954
955impl GetSpanMut for FunctionBody<'_> {
956    #[inline]
957    fn span_mut(&mut self) -> &mut Span {
958        &mut self.span
959    }
960}
961
962impl GetSpanMut for ArrowFunctionExpression<'_> {
963    #[inline]
964    fn span_mut(&mut self) -> &mut Span {
965        &mut self.span
966    }
967}
968
969impl GetSpanMut for YieldExpression<'_> {
970    #[inline]
971    fn span_mut(&mut self) -> &mut Span {
972        &mut self.span
973    }
974}
975
976impl GetSpanMut for Class<'_> {
977    #[inline]
978    fn span_mut(&mut self) -> &mut Span {
979        &mut self.span
980    }
981}
982
983impl GetSpanMut for ClassBody<'_> {
984    #[inline]
985    fn span_mut(&mut self) -> &mut Span {
986        &mut self.span
987    }
988}
989
990impl GetSpanMut for ClassElement<'_> {
991    fn span_mut(&mut self) -> &mut Span {
992        match self {
993            Self::StaticBlock(it) => GetSpanMut::span_mut(&mut **it),
994            Self::MethodDefinition(it) => GetSpanMut::span_mut(&mut **it),
995            Self::PropertyDefinition(it) => GetSpanMut::span_mut(&mut **it),
996            Self::AccessorProperty(it) => GetSpanMut::span_mut(&mut **it),
997            Self::TSIndexSignature(it) => GetSpanMut::span_mut(&mut **it),
998        }
999    }
1000}
1001
1002impl GetSpanMut for MethodDefinition<'_> {
1003    #[inline]
1004    fn span_mut(&mut self) -> &mut Span {
1005        &mut self.span
1006    }
1007}
1008
1009impl GetSpanMut for PropertyDefinition<'_> {
1010    #[inline]
1011    fn span_mut(&mut self) -> &mut Span {
1012        &mut self.span
1013    }
1014}
1015
1016impl GetSpanMut for PrivateIdentifier<'_> {
1017    #[inline]
1018    fn span_mut(&mut self) -> &mut Span {
1019        &mut self.span
1020    }
1021}
1022
1023impl GetSpanMut for StaticBlock<'_> {
1024    #[inline]
1025    fn span_mut(&mut self) -> &mut Span {
1026        &mut self.span
1027    }
1028}
1029
1030impl GetSpanMut for ModuleDeclaration<'_> {
1031    fn span_mut(&mut self) -> &mut Span {
1032        match self {
1033            Self::ImportDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1034            Self::ExportAllDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1035            Self::ExportDefaultDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1036            Self::ExportNamedDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1037            Self::TSExportAssignment(it) => GetSpanMut::span_mut(&mut **it),
1038            Self::TSNamespaceExportDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1039        }
1040    }
1041}
1042
1043impl GetSpanMut for AccessorProperty<'_> {
1044    #[inline]
1045    fn span_mut(&mut self) -> &mut Span {
1046        &mut self.span
1047    }
1048}
1049
1050impl GetSpanMut for ImportExpression<'_> {
1051    #[inline]
1052    fn span_mut(&mut self) -> &mut Span {
1053        &mut self.span
1054    }
1055}
1056
1057impl GetSpanMut for ImportDeclaration<'_> {
1058    #[inline]
1059    fn span_mut(&mut self) -> &mut Span {
1060        &mut self.span
1061    }
1062}
1063
1064impl GetSpanMut for ImportDeclarationSpecifier<'_> {
1065    fn span_mut(&mut self) -> &mut Span {
1066        match self {
1067            Self::ImportSpecifier(it) => GetSpanMut::span_mut(&mut **it),
1068            Self::ImportDefaultSpecifier(it) => GetSpanMut::span_mut(&mut **it),
1069            Self::ImportNamespaceSpecifier(it) => GetSpanMut::span_mut(&mut **it),
1070        }
1071    }
1072}
1073
1074impl GetSpanMut for ImportSpecifier<'_> {
1075    #[inline]
1076    fn span_mut(&mut self) -> &mut Span {
1077        &mut self.span
1078    }
1079}
1080
1081impl GetSpanMut for ImportDefaultSpecifier<'_> {
1082    #[inline]
1083    fn span_mut(&mut self) -> &mut Span {
1084        &mut self.span
1085    }
1086}
1087
1088impl GetSpanMut for ImportNamespaceSpecifier<'_> {
1089    #[inline]
1090    fn span_mut(&mut self) -> &mut Span {
1091        &mut self.span
1092    }
1093}
1094
1095impl GetSpanMut for WithClause<'_> {
1096    #[inline]
1097    fn span_mut(&mut self) -> &mut Span {
1098        &mut self.span
1099    }
1100}
1101
1102impl GetSpanMut for ImportAttribute<'_> {
1103    #[inline]
1104    fn span_mut(&mut self) -> &mut Span {
1105        &mut self.span
1106    }
1107}
1108
1109impl GetSpanMut for ImportAttributeKey<'_> {
1110    fn span_mut(&mut self) -> &mut Span {
1111        match self {
1112            Self::Identifier(it) => GetSpanMut::span_mut(it),
1113            Self::StringLiteral(it) => GetSpanMut::span_mut(it),
1114        }
1115    }
1116}
1117
1118impl GetSpanMut for ExportNamedDeclaration<'_> {
1119    #[inline]
1120    fn span_mut(&mut self) -> &mut Span {
1121        &mut self.span
1122    }
1123}
1124
1125impl GetSpanMut for ExportDefaultDeclaration<'_> {
1126    #[inline]
1127    fn span_mut(&mut self) -> &mut Span {
1128        &mut self.span
1129    }
1130}
1131
1132impl GetSpanMut for ExportAllDeclaration<'_> {
1133    #[inline]
1134    fn span_mut(&mut self) -> &mut Span {
1135        &mut self.span
1136    }
1137}
1138
1139impl GetSpanMut for ExportSpecifier<'_> {
1140    #[inline]
1141    fn span_mut(&mut self) -> &mut Span {
1142        &mut self.span
1143    }
1144}
1145
1146impl GetSpanMut for ExportDefaultDeclarationKind<'_> {
1147    fn span_mut(&mut self) -> &mut Span {
1148        match self {
1149            Self::FunctionDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1150            Self::ClassDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1151            Self::TSInterfaceDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1152            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
1153            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
1154            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
1155            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
1156            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
1157            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
1158            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
1159            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1160            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
1161            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
1162            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
1163            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
1164            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
1165            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
1166            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1167            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
1168            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
1169            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
1170            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
1171            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
1172            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
1173            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
1174            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
1175            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
1176            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
1177            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
1178            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
1179            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1180            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1181            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
1182            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
1183            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
1184            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
1185            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
1186            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
1187            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
1188            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
1189            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
1190            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
1191            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
1192            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1193            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1194            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
1195        }
1196    }
1197}
1198
1199impl GetSpanMut for ModuleExportName<'_> {
1200    fn span_mut(&mut self) -> &mut Span {
1201        match self {
1202            Self::IdentifierName(it) => GetSpanMut::span_mut(it),
1203            Self::IdentifierReference(it) => GetSpanMut::span_mut(it),
1204            Self::StringLiteral(it) => GetSpanMut::span_mut(it),
1205        }
1206    }
1207}
1208
1209impl GetSpanMut for V8IntrinsicExpression<'_> {
1210    #[inline]
1211    fn span_mut(&mut self) -> &mut Span {
1212        &mut self.span
1213    }
1214}
1215
1216impl GetSpanMut for BooleanLiteral {
1217    #[inline]
1218    fn span_mut(&mut self) -> &mut Span {
1219        &mut self.span
1220    }
1221}
1222
1223impl GetSpanMut for NullLiteral {
1224    #[inline]
1225    fn span_mut(&mut self) -> &mut Span {
1226        &mut self.span
1227    }
1228}
1229
1230impl GetSpanMut for NumericLiteral<'_> {
1231    #[inline]
1232    fn span_mut(&mut self) -> &mut Span {
1233        &mut self.span
1234    }
1235}
1236
1237impl GetSpanMut for StringLiteral<'_> {
1238    #[inline]
1239    fn span_mut(&mut self) -> &mut Span {
1240        &mut self.span
1241    }
1242}
1243
1244impl GetSpanMut for BigIntLiteral<'_> {
1245    #[inline]
1246    fn span_mut(&mut self) -> &mut Span {
1247        &mut self.span
1248    }
1249}
1250
1251impl GetSpanMut for RegExpLiteral<'_> {
1252    #[inline]
1253    fn span_mut(&mut self) -> &mut Span {
1254        &mut self.span
1255    }
1256}
1257
1258impl GetSpanMut for JSXElement<'_> {
1259    #[inline]
1260    fn span_mut(&mut self) -> &mut Span {
1261        &mut self.span
1262    }
1263}
1264
1265impl GetSpanMut for JSXOpeningElement<'_> {
1266    #[inline]
1267    fn span_mut(&mut self) -> &mut Span {
1268        &mut self.span
1269    }
1270}
1271
1272impl GetSpanMut for JSXClosingElement<'_> {
1273    #[inline]
1274    fn span_mut(&mut self) -> &mut Span {
1275        &mut self.span
1276    }
1277}
1278
1279impl GetSpanMut for JSXFragment<'_> {
1280    #[inline]
1281    fn span_mut(&mut self) -> &mut Span {
1282        &mut self.span
1283    }
1284}
1285
1286impl GetSpanMut for JSXOpeningFragment {
1287    #[inline]
1288    fn span_mut(&mut self) -> &mut Span {
1289        &mut self.span
1290    }
1291}
1292
1293impl GetSpanMut for JSXClosingFragment {
1294    #[inline]
1295    fn span_mut(&mut self) -> &mut Span {
1296        &mut self.span
1297    }
1298}
1299
1300impl GetSpanMut for JSXElementName<'_> {
1301    fn span_mut(&mut self) -> &mut Span {
1302        match self {
1303            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1304            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
1305            Self::NamespacedName(it) => GetSpanMut::span_mut(&mut **it),
1306            Self::MemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1307            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1308        }
1309    }
1310}
1311
1312impl GetSpanMut for JSXNamespacedName<'_> {
1313    #[inline]
1314    fn span_mut(&mut self) -> &mut Span {
1315        &mut self.span
1316    }
1317}
1318
1319impl GetSpanMut for JSXMemberExpression<'_> {
1320    #[inline]
1321    fn span_mut(&mut self) -> &mut Span {
1322        &mut self.span
1323    }
1324}
1325
1326impl GetSpanMut for JSXMemberExpressionObject<'_> {
1327    fn span_mut(&mut self) -> &mut Span {
1328        match self {
1329            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
1330            Self::MemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1331            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1332        }
1333    }
1334}
1335
1336impl GetSpanMut for JSXExpressionContainer<'_> {
1337    #[inline]
1338    fn span_mut(&mut self) -> &mut Span {
1339        &mut self.span
1340    }
1341}
1342
1343impl GetSpanMut for JSXExpression<'_> {
1344    fn span_mut(&mut self) -> &mut Span {
1345        match self {
1346            Self::EmptyExpression(it) => GetSpanMut::span_mut(it),
1347            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
1348            Self::NullLiteral(it) => GetSpanMut::span_mut(&mut **it),
1349            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
1350            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
1351            Self::RegExpLiteral(it) => GetSpanMut::span_mut(&mut **it),
1352            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
1353            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
1354            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1355            Self::MetaProperty(it) => GetSpanMut::span_mut(&mut **it),
1356            Self::Super(it) => GetSpanMut::span_mut(&mut **it),
1357            Self::ArrayExpression(it) => GetSpanMut::span_mut(&mut **it),
1358            Self::ArrowFunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
1359            Self::AssignmentExpression(it) => GetSpanMut::span_mut(&mut **it),
1360            Self::AwaitExpression(it) => GetSpanMut::span_mut(&mut **it),
1361            Self::BinaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1362            Self::CallExpression(it) => GetSpanMut::span_mut(&mut **it),
1363            Self::ChainExpression(it) => GetSpanMut::span_mut(&mut **it),
1364            Self::ClassExpression(it) => GetSpanMut::span_mut(&mut **it),
1365            Self::ConditionalExpression(it) => GetSpanMut::span_mut(&mut **it),
1366            Self::FunctionExpression(it) => GetSpanMut::span_mut(&mut **it),
1367            Self::ImportExpression(it) => GetSpanMut::span_mut(&mut **it),
1368            Self::LogicalExpression(it) => GetSpanMut::span_mut(&mut **it),
1369            Self::NewExpression(it) => GetSpanMut::span_mut(&mut **it),
1370            Self::ObjectExpression(it) => GetSpanMut::span_mut(&mut **it),
1371            Self::ParenthesizedExpression(it) => GetSpanMut::span_mut(&mut **it),
1372            Self::SequenceExpression(it) => GetSpanMut::span_mut(&mut **it),
1373            Self::TaggedTemplateExpression(it) => GetSpanMut::span_mut(&mut **it),
1374            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1375            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1376            Self::UpdateExpression(it) => GetSpanMut::span_mut(&mut **it),
1377            Self::YieldExpression(it) => GetSpanMut::span_mut(&mut **it),
1378            Self::PrivateInExpression(it) => GetSpanMut::span_mut(&mut **it),
1379            Self::JSXElement(it) => GetSpanMut::span_mut(&mut **it),
1380            Self::JSXFragment(it) => GetSpanMut::span_mut(&mut **it),
1381            Self::TSAsExpression(it) => GetSpanMut::span_mut(&mut **it),
1382            Self::TSSatisfiesExpression(it) => GetSpanMut::span_mut(&mut **it),
1383            Self::TSTypeAssertion(it) => GetSpanMut::span_mut(&mut **it),
1384            Self::TSNonNullExpression(it) => GetSpanMut::span_mut(&mut **it),
1385            Self::TSInstantiationExpression(it) => GetSpanMut::span_mut(&mut **it),
1386            Self::V8IntrinsicExpression(it) => GetSpanMut::span_mut(&mut **it),
1387            Self::ComputedMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1388            Self::StaticMemberExpression(it) => GetSpanMut::span_mut(&mut **it),
1389            Self::PrivateFieldExpression(it) => GetSpanMut::span_mut(&mut **it),
1390        }
1391    }
1392}
1393
1394impl GetSpanMut for JSXEmptyExpression {
1395    #[inline]
1396    fn span_mut(&mut self) -> &mut Span {
1397        &mut self.span
1398    }
1399}
1400
1401impl GetSpanMut for JSXAttributeItem<'_> {
1402    fn span_mut(&mut self) -> &mut Span {
1403        match self {
1404            Self::Attribute(it) => GetSpanMut::span_mut(&mut **it),
1405            Self::SpreadAttribute(it) => GetSpanMut::span_mut(&mut **it),
1406        }
1407    }
1408}
1409
1410impl GetSpanMut for JSXAttribute<'_> {
1411    #[inline]
1412    fn span_mut(&mut self) -> &mut Span {
1413        &mut self.span
1414    }
1415}
1416
1417impl GetSpanMut for JSXSpreadAttribute<'_> {
1418    #[inline]
1419    fn span_mut(&mut self) -> &mut Span {
1420        &mut self.span
1421    }
1422}
1423
1424impl GetSpanMut for JSXAttributeName<'_> {
1425    fn span_mut(&mut self) -> &mut Span {
1426        match self {
1427            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1428            Self::NamespacedName(it) => GetSpanMut::span_mut(&mut **it),
1429        }
1430    }
1431}
1432
1433impl GetSpanMut for JSXAttributeValue<'_> {
1434    fn span_mut(&mut self) -> &mut Span {
1435        match self {
1436            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
1437            Self::ExpressionContainer(it) => GetSpanMut::span_mut(&mut **it),
1438            Self::Element(it) => GetSpanMut::span_mut(&mut **it),
1439            Self::Fragment(it) => GetSpanMut::span_mut(&mut **it),
1440        }
1441    }
1442}
1443
1444impl GetSpanMut for JSXIdentifier<'_> {
1445    #[inline]
1446    fn span_mut(&mut self) -> &mut Span {
1447        &mut self.span
1448    }
1449}
1450
1451impl GetSpanMut for JSXChild<'_> {
1452    fn span_mut(&mut self) -> &mut Span {
1453        match self {
1454            Self::Text(it) => GetSpanMut::span_mut(&mut **it),
1455            Self::Element(it) => GetSpanMut::span_mut(&mut **it),
1456            Self::Fragment(it) => GetSpanMut::span_mut(&mut **it),
1457            Self::ExpressionContainer(it) => GetSpanMut::span_mut(&mut **it),
1458            Self::Spread(it) => GetSpanMut::span_mut(&mut **it),
1459        }
1460    }
1461}
1462
1463impl GetSpanMut for JSXSpreadChild<'_> {
1464    #[inline]
1465    fn span_mut(&mut self) -> &mut Span {
1466        &mut self.span
1467    }
1468}
1469
1470impl GetSpanMut for JSXText<'_> {
1471    #[inline]
1472    fn span_mut(&mut self) -> &mut Span {
1473        &mut self.span
1474    }
1475}
1476
1477impl GetSpanMut for TSThisParameter<'_> {
1478    #[inline]
1479    fn span_mut(&mut self) -> &mut Span {
1480        &mut self.span
1481    }
1482}
1483
1484impl GetSpanMut for TSEnumDeclaration<'_> {
1485    #[inline]
1486    fn span_mut(&mut self) -> &mut Span {
1487        &mut self.span
1488    }
1489}
1490
1491impl GetSpanMut for TSEnumBody<'_> {
1492    #[inline]
1493    fn span_mut(&mut self) -> &mut Span {
1494        &mut self.span
1495    }
1496}
1497
1498impl GetSpanMut for TSEnumMember<'_> {
1499    #[inline]
1500    fn span_mut(&mut self) -> &mut Span {
1501        &mut self.span
1502    }
1503}
1504
1505impl GetSpanMut for TSEnumMemberName<'_> {
1506    fn span_mut(&mut self) -> &mut Span {
1507        match self {
1508            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1509            Self::String(it) => GetSpanMut::span_mut(&mut **it),
1510            Self::ComputedString(it) => GetSpanMut::span_mut(&mut **it),
1511            Self::ComputedTemplateString(it) => GetSpanMut::span_mut(&mut **it),
1512        }
1513    }
1514}
1515
1516impl GetSpanMut for TSTypeAnnotation<'_> {
1517    #[inline]
1518    fn span_mut(&mut self) -> &mut Span {
1519        &mut self.span
1520    }
1521}
1522
1523impl GetSpanMut for TSLiteralType<'_> {
1524    #[inline]
1525    fn span_mut(&mut self) -> &mut Span {
1526        &mut self.span
1527    }
1528}
1529
1530impl GetSpanMut for TSLiteral<'_> {
1531    fn span_mut(&mut self) -> &mut Span {
1532        match self {
1533            Self::BooleanLiteral(it) => GetSpanMut::span_mut(&mut **it),
1534            Self::NumericLiteral(it) => GetSpanMut::span_mut(&mut **it),
1535            Self::BigIntLiteral(it) => GetSpanMut::span_mut(&mut **it),
1536            Self::StringLiteral(it) => GetSpanMut::span_mut(&mut **it),
1537            Self::TemplateLiteral(it) => GetSpanMut::span_mut(&mut **it),
1538            Self::UnaryExpression(it) => GetSpanMut::span_mut(&mut **it),
1539        }
1540    }
1541}
1542
1543impl GetSpanMut for TSType<'_> {
1544    fn span_mut(&mut self) -> &mut Span {
1545        match self {
1546            Self::TSAnyKeyword(it) => GetSpanMut::span_mut(&mut **it),
1547            Self::TSBigIntKeyword(it) => GetSpanMut::span_mut(&mut **it),
1548            Self::TSBooleanKeyword(it) => GetSpanMut::span_mut(&mut **it),
1549            Self::TSIntrinsicKeyword(it) => GetSpanMut::span_mut(&mut **it),
1550            Self::TSNeverKeyword(it) => GetSpanMut::span_mut(&mut **it),
1551            Self::TSNullKeyword(it) => GetSpanMut::span_mut(&mut **it),
1552            Self::TSNumberKeyword(it) => GetSpanMut::span_mut(&mut **it),
1553            Self::TSObjectKeyword(it) => GetSpanMut::span_mut(&mut **it),
1554            Self::TSStringKeyword(it) => GetSpanMut::span_mut(&mut **it),
1555            Self::TSSymbolKeyword(it) => GetSpanMut::span_mut(&mut **it),
1556            Self::TSUndefinedKeyword(it) => GetSpanMut::span_mut(&mut **it),
1557            Self::TSUnknownKeyword(it) => GetSpanMut::span_mut(&mut **it),
1558            Self::TSVoidKeyword(it) => GetSpanMut::span_mut(&mut **it),
1559            Self::TSArrayType(it) => GetSpanMut::span_mut(&mut **it),
1560            Self::TSConditionalType(it) => GetSpanMut::span_mut(&mut **it),
1561            Self::TSConstructorType(it) => GetSpanMut::span_mut(&mut **it),
1562            Self::TSFunctionType(it) => GetSpanMut::span_mut(&mut **it),
1563            Self::TSImportType(it) => GetSpanMut::span_mut(&mut **it),
1564            Self::TSIndexedAccessType(it) => GetSpanMut::span_mut(&mut **it),
1565            Self::TSInferType(it) => GetSpanMut::span_mut(&mut **it),
1566            Self::TSIntersectionType(it) => GetSpanMut::span_mut(&mut **it),
1567            Self::TSLiteralType(it) => GetSpanMut::span_mut(&mut **it),
1568            Self::TSMappedType(it) => GetSpanMut::span_mut(&mut **it),
1569            Self::TSNamedTupleMember(it) => GetSpanMut::span_mut(&mut **it),
1570            Self::TSTemplateLiteralType(it) => GetSpanMut::span_mut(&mut **it),
1571            Self::TSThisType(it) => GetSpanMut::span_mut(&mut **it),
1572            Self::TSTupleType(it) => GetSpanMut::span_mut(&mut **it),
1573            Self::TSTypeLiteral(it) => GetSpanMut::span_mut(&mut **it),
1574            Self::TSTypeOperatorType(it) => GetSpanMut::span_mut(&mut **it),
1575            Self::TSTypePredicate(it) => GetSpanMut::span_mut(&mut **it),
1576            Self::TSTypeQuery(it) => GetSpanMut::span_mut(&mut **it),
1577            Self::TSTypeReference(it) => GetSpanMut::span_mut(&mut **it),
1578            Self::TSUnionType(it) => GetSpanMut::span_mut(&mut **it),
1579            Self::TSParenthesizedType(it) => GetSpanMut::span_mut(&mut **it),
1580            Self::JSDocNullableType(it) => GetSpanMut::span_mut(&mut **it),
1581            Self::JSDocNonNullableType(it) => GetSpanMut::span_mut(&mut **it),
1582            Self::JSDocUnknownType(it) => GetSpanMut::span_mut(&mut **it),
1583        }
1584    }
1585}
1586
1587impl GetSpanMut for TSConditionalType<'_> {
1588    #[inline]
1589    fn span_mut(&mut self) -> &mut Span {
1590        &mut self.span
1591    }
1592}
1593
1594impl GetSpanMut for TSUnionType<'_> {
1595    #[inline]
1596    fn span_mut(&mut self) -> &mut Span {
1597        &mut self.span
1598    }
1599}
1600
1601impl GetSpanMut for TSIntersectionType<'_> {
1602    #[inline]
1603    fn span_mut(&mut self) -> &mut Span {
1604        &mut self.span
1605    }
1606}
1607
1608impl GetSpanMut for TSParenthesizedType<'_> {
1609    #[inline]
1610    fn span_mut(&mut self) -> &mut Span {
1611        &mut self.span
1612    }
1613}
1614
1615impl GetSpanMut for TSTypeOperator<'_> {
1616    #[inline]
1617    fn span_mut(&mut self) -> &mut Span {
1618        &mut self.span
1619    }
1620}
1621
1622impl GetSpanMut for TSArrayType<'_> {
1623    #[inline]
1624    fn span_mut(&mut self) -> &mut Span {
1625        &mut self.span
1626    }
1627}
1628
1629impl GetSpanMut for TSIndexedAccessType<'_> {
1630    #[inline]
1631    fn span_mut(&mut self) -> &mut Span {
1632        &mut self.span
1633    }
1634}
1635
1636impl GetSpanMut for TSTupleType<'_> {
1637    #[inline]
1638    fn span_mut(&mut self) -> &mut Span {
1639        &mut self.span
1640    }
1641}
1642
1643impl GetSpanMut for TSNamedTupleMember<'_> {
1644    #[inline]
1645    fn span_mut(&mut self) -> &mut Span {
1646        &mut self.span
1647    }
1648}
1649
1650impl GetSpanMut for TSOptionalType<'_> {
1651    #[inline]
1652    fn span_mut(&mut self) -> &mut Span {
1653        &mut self.span
1654    }
1655}
1656
1657impl GetSpanMut for TSRestType<'_> {
1658    #[inline]
1659    fn span_mut(&mut self) -> &mut Span {
1660        &mut self.span
1661    }
1662}
1663
1664impl GetSpanMut for TSTupleElement<'_> {
1665    fn span_mut(&mut self) -> &mut Span {
1666        match self {
1667            Self::TSOptionalType(it) => GetSpanMut::span_mut(&mut **it),
1668            Self::TSRestType(it) => GetSpanMut::span_mut(&mut **it),
1669            Self::TSAnyKeyword(it) => GetSpanMut::span_mut(&mut **it),
1670            Self::TSBigIntKeyword(it) => GetSpanMut::span_mut(&mut **it),
1671            Self::TSBooleanKeyword(it) => GetSpanMut::span_mut(&mut **it),
1672            Self::TSIntrinsicKeyword(it) => GetSpanMut::span_mut(&mut **it),
1673            Self::TSNeverKeyword(it) => GetSpanMut::span_mut(&mut **it),
1674            Self::TSNullKeyword(it) => GetSpanMut::span_mut(&mut **it),
1675            Self::TSNumberKeyword(it) => GetSpanMut::span_mut(&mut **it),
1676            Self::TSObjectKeyword(it) => GetSpanMut::span_mut(&mut **it),
1677            Self::TSStringKeyword(it) => GetSpanMut::span_mut(&mut **it),
1678            Self::TSSymbolKeyword(it) => GetSpanMut::span_mut(&mut **it),
1679            Self::TSUndefinedKeyword(it) => GetSpanMut::span_mut(&mut **it),
1680            Self::TSUnknownKeyword(it) => GetSpanMut::span_mut(&mut **it),
1681            Self::TSVoidKeyword(it) => GetSpanMut::span_mut(&mut **it),
1682            Self::TSArrayType(it) => GetSpanMut::span_mut(&mut **it),
1683            Self::TSConditionalType(it) => GetSpanMut::span_mut(&mut **it),
1684            Self::TSConstructorType(it) => GetSpanMut::span_mut(&mut **it),
1685            Self::TSFunctionType(it) => GetSpanMut::span_mut(&mut **it),
1686            Self::TSImportType(it) => GetSpanMut::span_mut(&mut **it),
1687            Self::TSIndexedAccessType(it) => GetSpanMut::span_mut(&mut **it),
1688            Self::TSInferType(it) => GetSpanMut::span_mut(&mut **it),
1689            Self::TSIntersectionType(it) => GetSpanMut::span_mut(&mut **it),
1690            Self::TSLiteralType(it) => GetSpanMut::span_mut(&mut **it),
1691            Self::TSMappedType(it) => GetSpanMut::span_mut(&mut **it),
1692            Self::TSNamedTupleMember(it) => GetSpanMut::span_mut(&mut **it),
1693            Self::TSTemplateLiteralType(it) => GetSpanMut::span_mut(&mut **it),
1694            Self::TSThisType(it) => GetSpanMut::span_mut(&mut **it),
1695            Self::TSTupleType(it) => GetSpanMut::span_mut(&mut **it),
1696            Self::TSTypeLiteral(it) => GetSpanMut::span_mut(&mut **it),
1697            Self::TSTypeOperatorType(it) => GetSpanMut::span_mut(&mut **it),
1698            Self::TSTypePredicate(it) => GetSpanMut::span_mut(&mut **it),
1699            Self::TSTypeQuery(it) => GetSpanMut::span_mut(&mut **it),
1700            Self::TSTypeReference(it) => GetSpanMut::span_mut(&mut **it),
1701            Self::TSUnionType(it) => GetSpanMut::span_mut(&mut **it),
1702            Self::TSParenthesizedType(it) => GetSpanMut::span_mut(&mut **it),
1703            Self::JSDocNullableType(it) => GetSpanMut::span_mut(&mut **it),
1704            Self::JSDocNonNullableType(it) => GetSpanMut::span_mut(&mut **it),
1705            Self::JSDocUnknownType(it) => GetSpanMut::span_mut(&mut **it),
1706        }
1707    }
1708}
1709
1710impl GetSpanMut for TSAnyKeyword {
1711    #[inline]
1712    fn span_mut(&mut self) -> &mut Span {
1713        &mut self.span
1714    }
1715}
1716
1717impl GetSpanMut for TSStringKeyword {
1718    #[inline]
1719    fn span_mut(&mut self) -> &mut Span {
1720        &mut self.span
1721    }
1722}
1723
1724impl GetSpanMut for TSBooleanKeyword {
1725    #[inline]
1726    fn span_mut(&mut self) -> &mut Span {
1727        &mut self.span
1728    }
1729}
1730
1731impl GetSpanMut for TSNumberKeyword {
1732    #[inline]
1733    fn span_mut(&mut self) -> &mut Span {
1734        &mut self.span
1735    }
1736}
1737
1738impl GetSpanMut for TSNeverKeyword {
1739    #[inline]
1740    fn span_mut(&mut self) -> &mut Span {
1741        &mut self.span
1742    }
1743}
1744
1745impl GetSpanMut for TSIntrinsicKeyword {
1746    #[inline]
1747    fn span_mut(&mut self) -> &mut Span {
1748        &mut self.span
1749    }
1750}
1751
1752impl GetSpanMut for TSUnknownKeyword {
1753    #[inline]
1754    fn span_mut(&mut self) -> &mut Span {
1755        &mut self.span
1756    }
1757}
1758
1759impl GetSpanMut for TSNullKeyword {
1760    #[inline]
1761    fn span_mut(&mut self) -> &mut Span {
1762        &mut self.span
1763    }
1764}
1765
1766impl GetSpanMut for TSUndefinedKeyword {
1767    #[inline]
1768    fn span_mut(&mut self) -> &mut Span {
1769        &mut self.span
1770    }
1771}
1772
1773impl GetSpanMut for TSVoidKeyword {
1774    #[inline]
1775    fn span_mut(&mut self) -> &mut Span {
1776        &mut self.span
1777    }
1778}
1779
1780impl GetSpanMut for TSSymbolKeyword {
1781    #[inline]
1782    fn span_mut(&mut self) -> &mut Span {
1783        &mut self.span
1784    }
1785}
1786
1787impl GetSpanMut for TSThisType {
1788    #[inline]
1789    fn span_mut(&mut self) -> &mut Span {
1790        &mut self.span
1791    }
1792}
1793
1794impl GetSpanMut for TSObjectKeyword {
1795    #[inline]
1796    fn span_mut(&mut self) -> &mut Span {
1797        &mut self.span
1798    }
1799}
1800
1801impl GetSpanMut for TSBigIntKeyword {
1802    #[inline]
1803    fn span_mut(&mut self) -> &mut Span {
1804        &mut self.span
1805    }
1806}
1807
1808impl GetSpanMut for TSTypeReference<'_> {
1809    #[inline]
1810    fn span_mut(&mut self) -> &mut Span {
1811        &mut self.span
1812    }
1813}
1814
1815impl GetSpanMut for TSTypeName<'_> {
1816    fn span_mut(&mut self) -> &mut Span {
1817        match self {
1818            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
1819            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
1820            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
1821        }
1822    }
1823}
1824
1825impl GetSpanMut for TSQualifiedName<'_> {
1826    #[inline]
1827    fn span_mut(&mut self) -> &mut Span {
1828        &mut self.span
1829    }
1830}
1831
1832impl GetSpanMut for TSTypeParameterInstantiation<'_> {
1833    #[inline]
1834    fn span_mut(&mut self) -> &mut Span {
1835        &mut self.span
1836    }
1837}
1838
1839impl GetSpanMut for TSTypeParameter<'_> {
1840    #[inline]
1841    fn span_mut(&mut self) -> &mut Span {
1842        &mut self.span
1843    }
1844}
1845
1846impl GetSpanMut for TSTypeParameterDeclaration<'_> {
1847    #[inline]
1848    fn span_mut(&mut self) -> &mut Span {
1849        &mut self.span
1850    }
1851}
1852
1853impl GetSpanMut for TSTypeAliasDeclaration<'_> {
1854    #[inline]
1855    fn span_mut(&mut self) -> &mut Span {
1856        &mut self.span
1857    }
1858}
1859
1860impl GetSpanMut for TSClassImplements<'_> {
1861    #[inline]
1862    fn span_mut(&mut self) -> &mut Span {
1863        &mut self.span
1864    }
1865}
1866
1867impl GetSpanMut for TSInterfaceDeclaration<'_> {
1868    #[inline]
1869    fn span_mut(&mut self) -> &mut Span {
1870        &mut self.span
1871    }
1872}
1873
1874impl GetSpanMut for TSInterfaceBody<'_> {
1875    #[inline]
1876    fn span_mut(&mut self) -> &mut Span {
1877        &mut self.span
1878    }
1879}
1880
1881impl GetSpanMut for TSPropertySignature<'_> {
1882    #[inline]
1883    fn span_mut(&mut self) -> &mut Span {
1884        &mut self.span
1885    }
1886}
1887
1888impl GetSpanMut for TSSignature<'_> {
1889    fn span_mut(&mut self) -> &mut Span {
1890        match self {
1891            Self::TSIndexSignature(it) => GetSpanMut::span_mut(&mut **it),
1892            Self::TSPropertySignature(it) => GetSpanMut::span_mut(&mut **it),
1893            Self::TSCallSignatureDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1894            Self::TSConstructSignatureDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1895            Self::TSMethodSignature(it) => GetSpanMut::span_mut(&mut **it),
1896        }
1897    }
1898}
1899
1900impl GetSpanMut for TSIndexSignature<'_> {
1901    #[inline]
1902    fn span_mut(&mut self) -> &mut Span {
1903        &mut self.span
1904    }
1905}
1906
1907impl GetSpanMut for TSCallSignatureDeclaration<'_> {
1908    #[inline]
1909    fn span_mut(&mut self) -> &mut Span {
1910        &mut self.span
1911    }
1912}
1913
1914impl GetSpanMut for TSMethodSignature<'_> {
1915    #[inline]
1916    fn span_mut(&mut self) -> &mut Span {
1917        &mut self.span
1918    }
1919}
1920
1921impl GetSpanMut for TSConstructSignatureDeclaration<'_> {
1922    #[inline]
1923    fn span_mut(&mut self) -> &mut Span {
1924        &mut self.span
1925    }
1926}
1927
1928impl GetSpanMut for TSIndexSignatureName<'_> {
1929    #[inline]
1930    fn span_mut(&mut self) -> &mut Span {
1931        &mut self.span
1932    }
1933}
1934
1935impl GetSpanMut for TSInterfaceHeritage<'_> {
1936    #[inline]
1937    fn span_mut(&mut self) -> &mut Span {
1938        &mut self.span
1939    }
1940}
1941
1942impl GetSpanMut for TSTypePredicate<'_> {
1943    #[inline]
1944    fn span_mut(&mut self) -> &mut Span {
1945        &mut self.span
1946    }
1947}
1948
1949impl GetSpanMut for TSTypePredicateName<'_> {
1950    fn span_mut(&mut self) -> &mut Span {
1951        match self {
1952            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1953            Self::This(it) => GetSpanMut::span_mut(it),
1954        }
1955    }
1956}
1957
1958impl GetSpanMut for TSModuleDeclaration<'_> {
1959    #[inline]
1960    fn span_mut(&mut self) -> &mut Span {
1961        &mut self.span
1962    }
1963}
1964
1965impl GetSpanMut for TSModuleDeclarationName<'_> {
1966    fn span_mut(&mut self) -> &mut Span {
1967        match self {
1968            Self::Identifier(it) => GetSpanMut::span_mut(it),
1969            Self::StringLiteral(it) => GetSpanMut::span_mut(it),
1970        }
1971    }
1972}
1973
1974impl GetSpanMut for TSModuleDeclarationBody<'_> {
1975    fn span_mut(&mut self) -> &mut Span {
1976        match self {
1977            Self::TSModuleDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1978            Self::TSModuleBlock(it) => GetSpanMut::span_mut(&mut **it),
1979        }
1980    }
1981}
1982
1983impl GetSpanMut for TSModuleBlock<'_> {
1984    #[inline]
1985    fn span_mut(&mut self) -> &mut Span {
1986        &mut self.span
1987    }
1988}
1989
1990impl GetSpanMut for TSTypeLiteral<'_> {
1991    #[inline]
1992    fn span_mut(&mut self) -> &mut Span {
1993        &mut self.span
1994    }
1995}
1996
1997impl GetSpanMut for TSInferType<'_> {
1998    #[inline]
1999    fn span_mut(&mut self) -> &mut Span {
2000        &mut self.span
2001    }
2002}
2003
2004impl GetSpanMut for TSTypeQuery<'_> {
2005    #[inline]
2006    fn span_mut(&mut self) -> &mut Span {
2007        &mut self.span
2008    }
2009}
2010
2011impl GetSpanMut for TSTypeQueryExprName<'_> {
2012    fn span_mut(&mut self) -> &mut Span {
2013        match self {
2014            Self::TSImportType(it) => GetSpanMut::span_mut(&mut **it),
2015            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
2016            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
2017            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
2018        }
2019    }
2020}
2021
2022impl GetSpanMut for TSImportType<'_> {
2023    #[inline]
2024    fn span_mut(&mut self) -> &mut Span {
2025        &mut self.span
2026    }
2027}
2028
2029impl GetSpanMut for TSImportTypeQualifier<'_> {
2030    fn span_mut(&mut self) -> &mut Span {
2031        match self {
2032            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
2033            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
2034        }
2035    }
2036}
2037
2038impl GetSpanMut for TSImportTypeQualifiedName<'_> {
2039    #[inline]
2040    fn span_mut(&mut self) -> &mut Span {
2041        &mut self.span
2042    }
2043}
2044
2045impl GetSpanMut for TSFunctionType<'_> {
2046    #[inline]
2047    fn span_mut(&mut self) -> &mut Span {
2048        &mut self.span
2049    }
2050}
2051
2052impl GetSpanMut for TSConstructorType<'_> {
2053    #[inline]
2054    fn span_mut(&mut self) -> &mut Span {
2055        &mut self.span
2056    }
2057}
2058
2059impl GetSpanMut for TSMappedType<'_> {
2060    #[inline]
2061    fn span_mut(&mut self) -> &mut Span {
2062        &mut self.span
2063    }
2064}
2065
2066impl GetSpanMut for TSTemplateLiteralType<'_> {
2067    #[inline]
2068    fn span_mut(&mut self) -> &mut Span {
2069        &mut self.span
2070    }
2071}
2072
2073impl GetSpanMut for TSAsExpression<'_> {
2074    #[inline]
2075    fn span_mut(&mut self) -> &mut Span {
2076        &mut self.span
2077    }
2078}
2079
2080impl GetSpanMut for TSSatisfiesExpression<'_> {
2081    #[inline]
2082    fn span_mut(&mut self) -> &mut Span {
2083        &mut self.span
2084    }
2085}
2086
2087impl GetSpanMut for TSTypeAssertion<'_> {
2088    #[inline]
2089    fn span_mut(&mut self) -> &mut Span {
2090        &mut self.span
2091    }
2092}
2093
2094impl GetSpanMut for TSImportEqualsDeclaration<'_> {
2095    #[inline]
2096    fn span_mut(&mut self) -> &mut Span {
2097        &mut self.span
2098    }
2099}
2100
2101impl GetSpanMut for TSModuleReference<'_> {
2102    fn span_mut(&mut self) -> &mut Span {
2103        match self {
2104            Self::ExternalModuleReference(it) => GetSpanMut::span_mut(&mut **it),
2105            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
2106            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
2107            Self::ThisExpression(it) => GetSpanMut::span_mut(&mut **it),
2108        }
2109    }
2110}
2111
2112impl GetSpanMut for TSExternalModuleReference<'_> {
2113    #[inline]
2114    fn span_mut(&mut self) -> &mut Span {
2115        &mut self.span
2116    }
2117}
2118
2119impl GetSpanMut for TSNonNullExpression<'_> {
2120    #[inline]
2121    fn span_mut(&mut self) -> &mut Span {
2122        &mut self.span
2123    }
2124}
2125
2126impl GetSpanMut for Decorator<'_> {
2127    #[inline]
2128    fn span_mut(&mut self) -> &mut Span {
2129        &mut self.span
2130    }
2131}
2132
2133impl GetSpanMut for TSExportAssignment<'_> {
2134    #[inline]
2135    fn span_mut(&mut self) -> &mut Span {
2136        &mut self.span
2137    }
2138}
2139
2140impl GetSpanMut for TSNamespaceExportDeclaration<'_> {
2141    #[inline]
2142    fn span_mut(&mut self) -> &mut Span {
2143        &mut self.span
2144    }
2145}
2146
2147impl GetSpanMut for TSInstantiationExpression<'_> {
2148    #[inline]
2149    fn span_mut(&mut self) -> &mut Span {
2150        &mut self.span
2151    }
2152}
2153
2154impl GetSpanMut for JSDocNullableType<'_> {
2155    #[inline]
2156    fn span_mut(&mut self) -> &mut Span {
2157        &mut self.span
2158    }
2159}
2160
2161impl GetSpanMut for JSDocNonNullableType<'_> {
2162    #[inline]
2163    fn span_mut(&mut self) -> &mut Span {
2164        &mut self.span
2165    }
2166}
2167
2168impl GetSpanMut for JSDocUnknownType {
2169    #[inline]
2170    fn span_mut(&mut self) -> &mut Span {
2171        &mut self.span
2172    }
2173}