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        }
1821    }
1822}
1823
1824impl GetSpanMut for TSQualifiedName<'_> {
1825    #[inline]
1826    fn span_mut(&mut self) -> &mut Span {
1827        &mut self.span
1828    }
1829}
1830
1831impl GetSpanMut for TSTypeParameterInstantiation<'_> {
1832    #[inline]
1833    fn span_mut(&mut self) -> &mut Span {
1834        &mut self.span
1835    }
1836}
1837
1838impl GetSpanMut for TSTypeParameter<'_> {
1839    #[inline]
1840    fn span_mut(&mut self) -> &mut Span {
1841        &mut self.span
1842    }
1843}
1844
1845impl GetSpanMut for TSTypeParameterDeclaration<'_> {
1846    #[inline]
1847    fn span_mut(&mut self) -> &mut Span {
1848        &mut self.span
1849    }
1850}
1851
1852impl GetSpanMut for TSTypeAliasDeclaration<'_> {
1853    #[inline]
1854    fn span_mut(&mut self) -> &mut Span {
1855        &mut self.span
1856    }
1857}
1858
1859impl GetSpanMut for TSClassImplements<'_> {
1860    #[inline]
1861    fn span_mut(&mut self) -> &mut Span {
1862        &mut self.span
1863    }
1864}
1865
1866impl GetSpanMut for TSInterfaceDeclaration<'_> {
1867    #[inline]
1868    fn span_mut(&mut self) -> &mut Span {
1869        &mut self.span
1870    }
1871}
1872
1873impl GetSpanMut for TSInterfaceBody<'_> {
1874    #[inline]
1875    fn span_mut(&mut self) -> &mut Span {
1876        &mut self.span
1877    }
1878}
1879
1880impl GetSpanMut for TSPropertySignature<'_> {
1881    #[inline]
1882    fn span_mut(&mut self) -> &mut Span {
1883        &mut self.span
1884    }
1885}
1886
1887impl GetSpanMut for TSSignature<'_> {
1888    fn span_mut(&mut self) -> &mut Span {
1889        match self {
1890            Self::TSIndexSignature(it) => GetSpanMut::span_mut(&mut **it),
1891            Self::TSPropertySignature(it) => GetSpanMut::span_mut(&mut **it),
1892            Self::TSCallSignatureDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1893            Self::TSConstructSignatureDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1894            Self::TSMethodSignature(it) => GetSpanMut::span_mut(&mut **it),
1895        }
1896    }
1897}
1898
1899impl GetSpanMut for TSIndexSignature<'_> {
1900    #[inline]
1901    fn span_mut(&mut self) -> &mut Span {
1902        &mut self.span
1903    }
1904}
1905
1906impl GetSpanMut for TSCallSignatureDeclaration<'_> {
1907    #[inline]
1908    fn span_mut(&mut self) -> &mut Span {
1909        &mut self.span
1910    }
1911}
1912
1913impl GetSpanMut for TSMethodSignature<'_> {
1914    #[inline]
1915    fn span_mut(&mut self) -> &mut Span {
1916        &mut self.span
1917    }
1918}
1919
1920impl GetSpanMut for TSConstructSignatureDeclaration<'_> {
1921    #[inline]
1922    fn span_mut(&mut self) -> &mut Span {
1923        &mut self.span
1924    }
1925}
1926
1927impl GetSpanMut for TSIndexSignatureName<'_> {
1928    #[inline]
1929    fn span_mut(&mut self) -> &mut Span {
1930        &mut self.span
1931    }
1932}
1933
1934impl GetSpanMut for TSInterfaceHeritage<'_> {
1935    #[inline]
1936    fn span_mut(&mut self) -> &mut Span {
1937        &mut self.span
1938    }
1939}
1940
1941impl GetSpanMut for TSTypePredicate<'_> {
1942    #[inline]
1943    fn span_mut(&mut self) -> &mut Span {
1944        &mut self.span
1945    }
1946}
1947
1948impl GetSpanMut for TSTypePredicateName<'_> {
1949    fn span_mut(&mut self) -> &mut Span {
1950        match self {
1951            Self::Identifier(it) => GetSpanMut::span_mut(&mut **it),
1952            Self::This(it) => GetSpanMut::span_mut(it),
1953        }
1954    }
1955}
1956
1957impl GetSpanMut for TSModuleDeclaration<'_> {
1958    #[inline]
1959    fn span_mut(&mut self) -> &mut Span {
1960        &mut self.span
1961    }
1962}
1963
1964impl GetSpanMut for TSModuleDeclarationName<'_> {
1965    fn span_mut(&mut self) -> &mut Span {
1966        match self {
1967            Self::Identifier(it) => GetSpanMut::span_mut(it),
1968            Self::StringLiteral(it) => GetSpanMut::span_mut(it),
1969        }
1970    }
1971}
1972
1973impl GetSpanMut for TSModuleDeclarationBody<'_> {
1974    fn span_mut(&mut self) -> &mut Span {
1975        match self {
1976            Self::TSModuleDeclaration(it) => GetSpanMut::span_mut(&mut **it),
1977            Self::TSModuleBlock(it) => GetSpanMut::span_mut(&mut **it),
1978        }
1979    }
1980}
1981
1982impl GetSpanMut for TSModuleBlock<'_> {
1983    #[inline]
1984    fn span_mut(&mut self) -> &mut Span {
1985        &mut self.span
1986    }
1987}
1988
1989impl GetSpanMut for TSTypeLiteral<'_> {
1990    #[inline]
1991    fn span_mut(&mut self) -> &mut Span {
1992        &mut self.span
1993    }
1994}
1995
1996impl GetSpanMut for TSInferType<'_> {
1997    #[inline]
1998    fn span_mut(&mut self) -> &mut Span {
1999        &mut self.span
2000    }
2001}
2002
2003impl GetSpanMut for TSTypeQuery<'_> {
2004    #[inline]
2005    fn span_mut(&mut self) -> &mut Span {
2006        &mut self.span
2007    }
2008}
2009
2010impl GetSpanMut for TSTypeQueryExprName<'_> {
2011    fn span_mut(&mut self) -> &mut Span {
2012        match self {
2013            Self::TSImportType(it) => GetSpanMut::span_mut(&mut **it),
2014            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
2015            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
2016        }
2017    }
2018}
2019
2020impl GetSpanMut for TSImportType<'_> {
2021    #[inline]
2022    fn span_mut(&mut self) -> &mut Span {
2023        &mut self.span
2024    }
2025}
2026
2027impl GetSpanMut for TSFunctionType<'_> {
2028    #[inline]
2029    fn span_mut(&mut self) -> &mut Span {
2030        &mut self.span
2031    }
2032}
2033
2034impl GetSpanMut for TSConstructorType<'_> {
2035    #[inline]
2036    fn span_mut(&mut self) -> &mut Span {
2037        &mut self.span
2038    }
2039}
2040
2041impl GetSpanMut for TSMappedType<'_> {
2042    #[inline]
2043    fn span_mut(&mut self) -> &mut Span {
2044        &mut self.span
2045    }
2046}
2047
2048impl GetSpanMut for TSTemplateLiteralType<'_> {
2049    #[inline]
2050    fn span_mut(&mut self) -> &mut Span {
2051        &mut self.span
2052    }
2053}
2054
2055impl GetSpanMut for TSAsExpression<'_> {
2056    #[inline]
2057    fn span_mut(&mut self) -> &mut Span {
2058        &mut self.span
2059    }
2060}
2061
2062impl GetSpanMut for TSSatisfiesExpression<'_> {
2063    #[inline]
2064    fn span_mut(&mut self) -> &mut Span {
2065        &mut self.span
2066    }
2067}
2068
2069impl GetSpanMut for TSTypeAssertion<'_> {
2070    #[inline]
2071    fn span_mut(&mut self) -> &mut Span {
2072        &mut self.span
2073    }
2074}
2075
2076impl GetSpanMut for TSImportEqualsDeclaration<'_> {
2077    #[inline]
2078    fn span_mut(&mut self) -> &mut Span {
2079        &mut self.span
2080    }
2081}
2082
2083impl GetSpanMut for TSModuleReference<'_> {
2084    fn span_mut(&mut self) -> &mut Span {
2085        match self {
2086            Self::ExternalModuleReference(it) => GetSpanMut::span_mut(&mut **it),
2087            Self::IdentifierReference(it) => GetSpanMut::span_mut(&mut **it),
2088            Self::QualifiedName(it) => GetSpanMut::span_mut(&mut **it),
2089        }
2090    }
2091}
2092
2093impl GetSpanMut for TSExternalModuleReference<'_> {
2094    #[inline]
2095    fn span_mut(&mut self) -> &mut Span {
2096        &mut self.span
2097    }
2098}
2099
2100impl GetSpanMut for TSNonNullExpression<'_> {
2101    #[inline]
2102    fn span_mut(&mut self) -> &mut Span {
2103        &mut self.span
2104    }
2105}
2106
2107impl GetSpanMut for Decorator<'_> {
2108    #[inline]
2109    fn span_mut(&mut self) -> &mut Span {
2110        &mut self.span
2111    }
2112}
2113
2114impl GetSpanMut for TSExportAssignment<'_> {
2115    #[inline]
2116    fn span_mut(&mut self) -> &mut Span {
2117        &mut self.span
2118    }
2119}
2120
2121impl GetSpanMut for TSNamespaceExportDeclaration<'_> {
2122    #[inline]
2123    fn span_mut(&mut self) -> &mut Span {
2124        &mut self.span
2125    }
2126}
2127
2128impl GetSpanMut for TSInstantiationExpression<'_> {
2129    #[inline]
2130    fn span_mut(&mut self) -> &mut Span {
2131        &mut self.span
2132    }
2133}
2134
2135impl GetSpanMut for JSDocNullableType<'_> {
2136    #[inline]
2137    fn span_mut(&mut self) -> &mut Span {
2138        &mut self.span
2139    }
2140}
2141
2142impl GetSpanMut for JSDocNonNullableType<'_> {
2143    #[inline]
2144    fn span_mut(&mut self) -> &mut Span {
2145        &mut self.span
2146    }
2147}
2148
2149impl GetSpanMut for JSDocUnknownType {
2150    #[inline]
2151    fn span_mut(&mut self) -> &mut Span {
2152        &mut self.span
2153    }
2154}