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