forked from swiftlang/swift-syntax
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSyntaxKind.swift
1038 lines (1034 loc) · 31.9 KB
/
SyntaxKind.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//// Automatically generated by generate-swift-syntax
//// Do not edit directly!
//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2023 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
/// Enumerates the known kinds of Syntax represented in the Syntax tree.
public enum SyntaxKind: Sendable {
case token
@_spi(ExperimentalLanguageFeatures)
case abiAttributeArguments
@_spi(Compiler)
case accessorBlockFile
case accessorBlock
case accessorDeclList
case accessorDecl
case accessorEffectSpecifiers
case accessorParameters
case actorDecl
case arrayElementList
case arrayElement
case arrayExpr
case arrayType
case arrowExpr
case asExpr
case assignmentExpr
case associatedTypeDecl
@_spi(Compiler)
case attributeClauseFile
case attributeList
case attribute
case attributedType
case availabilityArgumentList
case availabilityArgument
case availabilityCondition
case availabilityLabeledArgument
@_spi(Compiler)
case availabilityMacroDefinitionFile
case awaitExpr
case backDeployedAttributeArguments
case binaryOperatorExpr
case booleanLiteralExpr
case borrowExpr
case breakStmt
case _canImportExpr
case _canImportVersionInfo
case catchClauseList
case catchClause
case catchItemList
case catchItem
case classDecl
case classRestrictionType
case closureCaptureClause
case closureCaptureList
case closureCaptureSpecifier
case closureCapture
case closureExpr
case closureParameterClause
case closureParameterList
case closureParameter
case closureShorthandParameterList
case closureShorthandParameter
case closureSignature
@_spi(Compiler)
case codeBlockFile
case codeBlockItemList
case codeBlockItem
case codeBlock
case compositionTypeElementList
case compositionTypeElement
case compositionType
case conditionElementList
case conditionElement
case conformanceRequirement
case consumeExpr
case continueStmt
case conventionAttributeArguments
case conventionWitnessMethodAttributeArguments
case copyExpr
case declModifierDetail
case declModifierList
case declModifier
case declNameArgumentList
case declNameArgument
case declNameArguments
case declReferenceExpr
case deferStmt
case deinitializerDecl
case deinitializerEffectSpecifiers
case derivativeAttributeArguments
case designatedTypeList
case designatedType
case dictionaryElementList
case dictionaryElement
case dictionaryExpr
case dictionaryType
case differentiabilityArgumentList
case differentiabilityArgument
case differentiabilityArguments
case differentiabilityWithRespectToArgument
case differentiableAttributeArguments
case discardAssignmentExpr
case discardStmt
@_spi(ExperimentalLanguageFeatures)
case doExpr
case doStmt
case documentationAttributeArgumentList
case documentationAttributeArgument
case dynamicReplacementAttributeArguments
case editorPlaceholderDecl
case editorPlaceholderExpr
case effectsAttributeArgumentList
case enumCaseDecl
case enumCaseElementList
case enumCaseElement
case enumCaseParameterClause
case enumCaseParameterList
case enumCaseParameter
case enumDecl
case exposeAttributeArguments
case exprList
case expressionPattern
case expressionSegment
case expressionStmt
case extensionDecl
case fallThroughStmt
case floatLiteralExpr
case forStmt
case forceUnwrapExpr
case functionCallExpr
case functionDecl
case functionEffectSpecifiers
case functionParameterClause
case functionParameterList
case functionParameter
case functionSignature
case functionType
case genericArgumentClause
case genericArgumentList
case genericArgument
case genericParameterClause
case genericParameterList
case genericParameter
case genericRequirementList
case genericRequirement
case genericSpecializationExpr
case genericWhereClause
case guardStmt
case identifierPattern
case identifierType
case ifConfigClauseList
case ifConfigClause
case ifConfigDecl
case ifExpr
case implementsAttributeArguments
case implicitlyUnwrappedOptionalType
case importDecl
case importPathComponentList
case importPathComponent
case inOutExpr
case infixOperatorExpr
case inheritanceClause
case inheritedTypeList
case inheritedType
case initializerClause
case initializerDecl
case integerLiteralExpr
case isExpr
case isTypePattern
case keyPathComponentList
case keyPathComponent
case keyPathExpr
@_spi(ExperimentalLanguageFeatures)
case keyPathMethodComponent
case keyPathOptionalComponent
case keyPathPropertyComponent
case keyPathSubscriptComponent
case labeledExprList
case labeledExpr
case labeledSpecializeArgument
case labeledStmt
case layoutRequirement
@_spi(ExperimentalLanguageFeatures)
case lifetimeSpecifierArgumentList
@_spi(ExperimentalLanguageFeatures)
case lifetimeSpecifierArgument
@_spi(ExperimentalLanguageFeatures)
case lifetimeTypeSpecifier
case macroDecl
case macroExpansionDecl
case macroExpansionExpr
case matchingPatternCondition
case memberAccessExpr
@_spi(Compiler)
case memberBlockItemListFile
case memberBlockItemList
case memberBlockItem
case memberBlock
case memberType
case metatypeType
case missingDecl
case missingExpr
case missingPattern
case missingStmt
case missing
case missingType
case multipleTrailingClosureElementList
case multipleTrailingClosureElement
case namedOpaqueReturnType
case nilLiteralExpr
case objCSelectorPieceList
case objCSelectorPiece
case opaqueReturnTypeOfAttributeArguments
case operatorDecl
case operatorPrecedenceAndTypes
case optionalBindingCondition
case optionalChainingExpr
case optionalType
case originallyDefinedInAttributeArguments
case packElementExpr
case packElementType
case packExpansionExpr
case packExpansionType
case patternBindingList
case patternBinding
case patternExpr
case platformVersionItemList
case platformVersionItem
case platformVersion
case postfixIfConfigExpr
case postfixOperatorExpr
case poundSourceLocationArguments
case poundSourceLocation
case precedenceGroupAssignment
case precedenceGroupAssociativity
case precedenceGroupAttributeList
case precedenceGroupDecl
case precedenceGroupNameList
case precedenceGroupName
case precedenceGroupRelation
case prefixOperatorExpr
case primaryAssociatedTypeClause
case primaryAssociatedTypeList
case primaryAssociatedType
case protocolDecl
case regexLiteralExpr
case repeatStmt
case returnClause
case returnStmt
case sameTypeRequirement
case sequenceExpr
case simpleStringLiteralExpr
case simpleStringLiteralSegmentList
case simpleTypeSpecifier
case someOrAnyType
case sourceFile
case specializeAttributeArgumentList
case specializeAvailabilityArgument
case specializeTargetFunctionArgument
case stringLiteralExpr
case stringLiteralSegmentList
case stringSegment
case structDecl
case subscriptCallExpr
case subscriptDecl
case superExpr
case suppressedType
case switchCaseItemList
case switchCaseItem
case switchCaseLabel
case switchCaseList
case switchCase
case switchDefaultLabel
case switchExpr
case ternaryExpr
@_spi(ExperimentalLanguageFeatures)
case thenStmt
case throwStmt
case throwsClause
case tryExpr
case tupleExpr
case tuplePatternElementList
case tuplePatternElement
case tuplePattern
case tupleTypeElementList
case tupleTypeElement
case tupleType
case typeAliasDecl
case typeAnnotation
case typeEffectSpecifiers
case typeExpr
case typeInitializerClause
case typeSpecifierList
case unavailableFromAsyncAttributeArguments
case underscorePrivateAttributeArguments
case unexpectedNodes
case unresolvedAsExpr
case unresolvedIsExpr
case unresolvedTernaryExpr
case unsafeExpr
case valueBindingPattern
case variableDecl
case versionComponentList
case versionComponent
case versionTuple
case whereClause
case whileStmt
case wildcardPattern
case yieldStmt
case yieldedExpressionList
case yieldedExpression
case yieldedExpressionsClause
public var isSyntaxCollection: Bool {
switch self {
case .accessorDeclList:
return true
case .arrayElementList:
return true
case .attributeList:
return true
case .availabilityArgumentList:
return true
case .catchClauseList:
return true
case .catchItemList:
return true
case .closureCaptureList:
return true
case .closureParameterList:
return true
case .closureShorthandParameterList:
return true
case .codeBlockItemList:
return true
case .compositionTypeElementList:
return true
case .conditionElementList:
return true
case .declModifierList:
return true
case .declNameArgumentList:
return true
case .designatedTypeList:
return true
case .dictionaryElementList:
return true
case .differentiabilityArgumentList:
return true
case .documentationAttributeArgumentList:
return true
case .effectsAttributeArgumentList:
return true
case .enumCaseElementList:
return true
case .enumCaseParameterList:
return true
case .exprList:
return true
case .functionParameterList:
return true
case .genericArgumentList:
return true
case .genericParameterList:
return true
case .genericRequirementList:
return true
case .ifConfigClauseList:
return true
case .importPathComponentList:
return true
case .inheritedTypeList:
return true
case .keyPathComponentList:
return true
case .labeledExprList:
return true
case .lifetimeSpecifierArgumentList:
return true
case .memberBlockItemList:
return true
case .multipleTrailingClosureElementList:
return true
case .objCSelectorPieceList:
return true
case .patternBindingList:
return true
case .platformVersionItemList:
return true
case .precedenceGroupAttributeList:
return true
case .precedenceGroupNameList:
return true
case .primaryAssociatedTypeList:
return true
case .simpleStringLiteralSegmentList:
return true
case .specializeAttributeArgumentList:
return true
case .stringLiteralSegmentList:
return true
case .switchCaseItemList:
return true
case .switchCaseList:
return true
case .tuplePatternElementList:
return true
case .tupleTypeElementList:
return true
case .typeSpecifierList:
return true
case .unexpectedNodes:
return true
case .versionComponentList:
return true
case .yieldedExpressionList:
return true
default:
return false
}
}
public var isMissing: Bool {
switch self {
case .missing:
return true
case .missingDecl:
return true
case .missingExpr:
return true
case .missingPattern:
return true
case .missingStmt:
return true
case .missingType:
return true
default:
return false
}
}
public var syntaxNodeType: SyntaxProtocol.Type {
switch self {
case .token:
return TokenSyntax.self
case .abiAttributeArguments:
return ABIAttributeArgumentsSyntax.self
case .accessorBlockFile:
return AccessorBlockFileSyntax.self
case .accessorBlock:
return AccessorBlockSyntax.self
case .accessorDeclList:
return AccessorDeclListSyntax.self
case .accessorDecl:
return AccessorDeclSyntax.self
case .accessorEffectSpecifiers:
return AccessorEffectSpecifiersSyntax.self
case .accessorParameters:
return AccessorParametersSyntax.self
case .actorDecl:
return ActorDeclSyntax.self
case .arrayElementList:
return ArrayElementListSyntax.self
case .arrayElement:
return ArrayElementSyntax.self
case .arrayExpr:
return ArrayExprSyntax.self
case .arrayType:
return ArrayTypeSyntax.self
case .arrowExpr:
return ArrowExprSyntax.self
case .asExpr:
return AsExprSyntax.self
case .assignmentExpr:
return AssignmentExprSyntax.self
case .associatedTypeDecl:
return AssociatedTypeDeclSyntax.self
case .attributeClauseFile:
return AttributeClauseFileSyntax.self
case .attributeList:
return AttributeListSyntax.self
case .attribute:
return AttributeSyntax.self
case .attributedType:
return AttributedTypeSyntax.self
case .availabilityArgumentList:
return AvailabilityArgumentListSyntax.self
case .availabilityArgument:
return AvailabilityArgumentSyntax.self
case .availabilityCondition:
return AvailabilityConditionSyntax.self
case .availabilityLabeledArgument:
return AvailabilityLabeledArgumentSyntax.self
case .availabilityMacroDefinitionFile:
return AvailabilityMacroDefinitionFileSyntax.self
case .awaitExpr:
return AwaitExprSyntax.self
case .backDeployedAttributeArguments:
return BackDeployedAttributeArgumentsSyntax.self
case .binaryOperatorExpr:
return BinaryOperatorExprSyntax.self
case .booleanLiteralExpr:
return BooleanLiteralExprSyntax.self
case .borrowExpr:
return BorrowExprSyntax.self
case .breakStmt:
return BreakStmtSyntax.self
case ._canImportExpr:
return _CanImportExprSyntax.self
case ._canImportVersionInfo:
return _CanImportVersionInfoSyntax.self
case .catchClauseList:
return CatchClauseListSyntax.self
case .catchClause:
return CatchClauseSyntax.self
case .catchItemList:
return CatchItemListSyntax.self
case .catchItem:
return CatchItemSyntax.self
case .classDecl:
return ClassDeclSyntax.self
case .classRestrictionType:
return ClassRestrictionTypeSyntax.self
case .closureCaptureClause:
return ClosureCaptureClauseSyntax.self
case .closureCaptureList:
return ClosureCaptureListSyntax.self
case .closureCaptureSpecifier:
return ClosureCaptureSpecifierSyntax.self
case .closureCapture:
return ClosureCaptureSyntax.self
case .closureExpr:
return ClosureExprSyntax.self
case .closureParameterClause:
return ClosureParameterClauseSyntax.self
case .closureParameterList:
return ClosureParameterListSyntax.self
case .closureParameter:
return ClosureParameterSyntax.self
case .closureShorthandParameterList:
return ClosureShorthandParameterListSyntax.self
case .closureShorthandParameter:
return ClosureShorthandParameterSyntax.self
case .closureSignature:
return ClosureSignatureSyntax.self
case .codeBlockFile:
return CodeBlockFileSyntax.self
case .codeBlockItemList:
return CodeBlockItemListSyntax.self
case .codeBlockItem:
return CodeBlockItemSyntax.self
case .codeBlock:
return CodeBlockSyntax.self
case .compositionTypeElementList:
return CompositionTypeElementListSyntax.self
case .compositionTypeElement:
return CompositionTypeElementSyntax.self
case .compositionType:
return CompositionTypeSyntax.self
case .conditionElementList:
return ConditionElementListSyntax.self
case .conditionElement:
return ConditionElementSyntax.self
case .conformanceRequirement:
return ConformanceRequirementSyntax.self
case .consumeExpr:
return ConsumeExprSyntax.self
case .continueStmt:
return ContinueStmtSyntax.self
case .conventionAttributeArguments:
return ConventionAttributeArgumentsSyntax.self
case .conventionWitnessMethodAttributeArguments:
return ConventionWitnessMethodAttributeArgumentsSyntax.self
case .copyExpr:
return CopyExprSyntax.self
case .declModifierDetail:
return DeclModifierDetailSyntax.self
case .declModifierList:
return DeclModifierListSyntax.self
case .declModifier:
return DeclModifierSyntax.self
case .declNameArgumentList:
return DeclNameArgumentListSyntax.self
case .declNameArgument:
return DeclNameArgumentSyntax.self
case .declNameArguments:
return DeclNameArgumentsSyntax.self
case .declReferenceExpr:
return DeclReferenceExprSyntax.self
case .deferStmt:
return DeferStmtSyntax.self
case .deinitializerDecl:
return DeinitializerDeclSyntax.self
case .deinitializerEffectSpecifiers:
return DeinitializerEffectSpecifiersSyntax.self
case .derivativeAttributeArguments:
return DerivativeAttributeArgumentsSyntax.self
case .designatedTypeList:
return DesignatedTypeListSyntax.self
case .designatedType:
return DesignatedTypeSyntax.self
case .dictionaryElementList:
return DictionaryElementListSyntax.self
case .dictionaryElement:
return DictionaryElementSyntax.self
case .dictionaryExpr:
return DictionaryExprSyntax.self
case .dictionaryType:
return DictionaryTypeSyntax.self
case .differentiabilityArgumentList:
return DifferentiabilityArgumentListSyntax.self
case .differentiabilityArgument:
return DifferentiabilityArgumentSyntax.self
case .differentiabilityArguments:
return DifferentiabilityArgumentsSyntax.self
case .differentiabilityWithRespectToArgument:
return DifferentiabilityWithRespectToArgumentSyntax.self
case .differentiableAttributeArguments:
return DifferentiableAttributeArgumentsSyntax.self
case .discardAssignmentExpr:
return DiscardAssignmentExprSyntax.self
case .discardStmt:
return DiscardStmtSyntax.self
case .doExpr:
return DoExprSyntax.self
case .doStmt:
return DoStmtSyntax.self
case .documentationAttributeArgumentList:
return DocumentationAttributeArgumentListSyntax.self
case .documentationAttributeArgument:
return DocumentationAttributeArgumentSyntax.self
case .dynamicReplacementAttributeArguments:
return DynamicReplacementAttributeArgumentsSyntax.self
case .editorPlaceholderDecl:
return EditorPlaceholderDeclSyntax.self
case .editorPlaceholderExpr:
return EditorPlaceholderExprSyntax.self
case .effectsAttributeArgumentList:
return EffectsAttributeArgumentListSyntax.self
case .enumCaseDecl:
return EnumCaseDeclSyntax.self
case .enumCaseElementList:
return EnumCaseElementListSyntax.self
case .enumCaseElement:
return EnumCaseElementSyntax.self
case .enumCaseParameterClause:
return EnumCaseParameterClauseSyntax.self
case .enumCaseParameterList:
return EnumCaseParameterListSyntax.self
case .enumCaseParameter:
return EnumCaseParameterSyntax.self
case .enumDecl:
return EnumDeclSyntax.self
case .exposeAttributeArguments:
return ExposeAttributeArgumentsSyntax.self
case .exprList:
return ExprListSyntax.self
case .expressionPattern:
return ExpressionPatternSyntax.self
case .expressionSegment:
return ExpressionSegmentSyntax.self
case .expressionStmt:
return ExpressionStmtSyntax.self
case .extensionDecl:
return ExtensionDeclSyntax.self
case .fallThroughStmt:
return FallThroughStmtSyntax.self
case .floatLiteralExpr:
return FloatLiteralExprSyntax.self
case .forStmt:
return ForStmtSyntax.self
case .forceUnwrapExpr:
return ForceUnwrapExprSyntax.self
case .functionCallExpr:
return FunctionCallExprSyntax.self
case .functionDecl:
return FunctionDeclSyntax.self
case .functionEffectSpecifiers:
return FunctionEffectSpecifiersSyntax.self
case .functionParameterClause:
return FunctionParameterClauseSyntax.self
case .functionParameterList:
return FunctionParameterListSyntax.self
case .functionParameter:
return FunctionParameterSyntax.self
case .functionSignature:
return FunctionSignatureSyntax.self
case .functionType:
return FunctionTypeSyntax.self
case .genericArgumentClause:
return GenericArgumentClauseSyntax.self
case .genericArgumentList:
return GenericArgumentListSyntax.self
case .genericArgument:
return GenericArgumentSyntax.self
case .genericParameterClause:
return GenericParameterClauseSyntax.self
case .genericParameterList:
return GenericParameterListSyntax.self
case .genericParameter:
return GenericParameterSyntax.self
case .genericRequirementList:
return GenericRequirementListSyntax.self
case .genericRequirement:
return GenericRequirementSyntax.self
case .genericSpecializationExpr:
return GenericSpecializationExprSyntax.self
case .genericWhereClause:
return GenericWhereClauseSyntax.self
case .guardStmt:
return GuardStmtSyntax.self
case .identifierPattern:
return IdentifierPatternSyntax.self
case .identifierType:
return IdentifierTypeSyntax.self
case .ifConfigClauseList:
return IfConfigClauseListSyntax.self
case .ifConfigClause:
return IfConfigClauseSyntax.self
case .ifConfigDecl:
return IfConfigDeclSyntax.self
case .ifExpr:
return IfExprSyntax.self
case .implementsAttributeArguments:
return ImplementsAttributeArgumentsSyntax.self
case .implicitlyUnwrappedOptionalType:
return ImplicitlyUnwrappedOptionalTypeSyntax.self
case .importDecl:
return ImportDeclSyntax.self
case .importPathComponentList:
return ImportPathComponentListSyntax.self
case .importPathComponent:
return ImportPathComponentSyntax.self
case .inOutExpr:
return InOutExprSyntax.self
case .infixOperatorExpr:
return InfixOperatorExprSyntax.self
case .inheritanceClause:
return InheritanceClauseSyntax.self
case .inheritedTypeList:
return InheritedTypeListSyntax.self
case .inheritedType:
return InheritedTypeSyntax.self
case .initializerClause:
return InitializerClauseSyntax.self
case .initializerDecl:
return InitializerDeclSyntax.self
case .integerLiteralExpr:
return IntegerLiteralExprSyntax.self
case .isExpr:
return IsExprSyntax.self
case .isTypePattern:
return IsTypePatternSyntax.self
case .keyPathComponentList:
return KeyPathComponentListSyntax.self
case .keyPathComponent:
return KeyPathComponentSyntax.self
case .keyPathExpr:
return KeyPathExprSyntax.self
case .keyPathMethodComponent:
return KeyPathMethodComponentSyntax.self
case .keyPathOptionalComponent:
return KeyPathOptionalComponentSyntax.self
case .keyPathPropertyComponent:
return KeyPathPropertyComponentSyntax.self
case .keyPathSubscriptComponent:
return KeyPathSubscriptComponentSyntax.self
case .labeledExprList:
return LabeledExprListSyntax.self
case .labeledExpr:
return LabeledExprSyntax.self
case .labeledSpecializeArgument:
return LabeledSpecializeArgumentSyntax.self
case .labeledStmt:
return LabeledStmtSyntax.self
case .layoutRequirement:
return LayoutRequirementSyntax.self
case .lifetimeSpecifierArgumentList:
return LifetimeSpecifierArgumentListSyntax.self
case .lifetimeSpecifierArgument:
return LifetimeSpecifierArgumentSyntax.self
case .lifetimeTypeSpecifier:
return LifetimeTypeSpecifierSyntax.self
case .macroDecl:
return MacroDeclSyntax.self
case .macroExpansionDecl:
return MacroExpansionDeclSyntax.self
case .macroExpansionExpr:
return MacroExpansionExprSyntax.self
case .matchingPatternCondition:
return MatchingPatternConditionSyntax.self
case .memberAccessExpr:
return MemberAccessExprSyntax.self
case .memberBlockItemListFile:
return MemberBlockItemListFileSyntax.self
case .memberBlockItemList:
return MemberBlockItemListSyntax.self
case .memberBlockItem:
return MemberBlockItemSyntax.self
case .memberBlock:
return MemberBlockSyntax.self
case .memberType:
return MemberTypeSyntax.self
case .metatypeType:
return MetatypeTypeSyntax.self
case .missingDecl:
return MissingDeclSyntax.self
case .missingExpr:
return MissingExprSyntax.self
case .missingPattern:
return MissingPatternSyntax.self
case .missingStmt:
return MissingStmtSyntax.self
case .missing:
return MissingSyntax.self
case .missingType:
return MissingTypeSyntax.self
case .multipleTrailingClosureElementList:
return MultipleTrailingClosureElementListSyntax.self
case .multipleTrailingClosureElement:
return MultipleTrailingClosureElementSyntax.self
case .namedOpaqueReturnType:
return NamedOpaqueReturnTypeSyntax.self
case .nilLiteralExpr:
return NilLiteralExprSyntax.self
case .objCSelectorPieceList:
return ObjCSelectorPieceListSyntax.self
case .objCSelectorPiece:
return ObjCSelectorPieceSyntax.self
case .opaqueReturnTypeOfAttributeArguments:
return OpaqueReturnTypeOfAttributeArgumentsSyntax.self
case .operatorDecl:
return OperatorDeclSyntax.self
case .operatorPrecedenceAndTypes:
return OperatorPrecedenceAndTypesSyntax.self
case .optionalBindingCondition:
return OptionalBindingConditionSyntax.self
case .optionalChainingExpr:
return OptionalChainingExprSyntax.self
case .optionalType:
return OptionalTypeSyntax.self
case .originallyDefinedInAttributeArguments:
return OriginallyDefinedInAttributeArgumentsSyntax.self
case .packElementExpr:
return PackElementExprSyntax.self
case .packElementType:
return PackElementTypeSyntax.self
case .packExpansionExpr:
return PackExpansionExprSyntax.self
case .packExpansionType:
return PackExpansionTypeSyntax.self
case .patternBindingList:
return PatternBindingListSyntax.self
case .patternBinding:
return PatternBindingSyntax.self
case .patternExpr:
return PatternExprSyntax.self
case .platformVersionItemList:
return PlatformVersionItemListSyntax.self
case .platformVersionItem:
return PlatformVersionItemSyntax.self
case .platformVersion:
return PlatformVersionSyntax.self
case .postfixIfConfigExpr:
return PostfixIfConfigExprSyntax.self
case .postfixOperatorExpr:
return PostfixOperatorExprSyntax.self
case .poundSourceLocationArguments:
return PoundSourceLocationArgumentsSyntax.self
case .poundSourceLocation:
return PoundSourceLocationSyntax.self
case .precedenceGroupAssignment:
return PrecedenceGroupAssignmentSyntax.self
case .precedenceGroupAssociativity:
return PrecedenceGroupAssociativitySyntax.self
case .precedenceGroupAttributeList:
return PrecedenceGroupAttributeListSyntax.self
case .precedenceGroupDecl:
return PrecedenceGroupDeclSyntax.self
case .precedenceGroupNameList:
return PrecedenceGroupNameListSyntax.self
case .precedenceGroupName:
return PrecedenceGroupNameSyntax.self
case .precedenceGroupRelation:
return PrecedenceGroupRelationSyntax.self
case .prefixOperatorExpr:
return PrefixOperatorExprSyntax.self
case .primaryAssociatedTypeClause:
return PrimaryAssociatedTypeClauseSyntax.self
case .primaryAssociatedTypeList:
return PrimaryAssociatedTypeListSyntax.self
case .primaryAssociatedType:
return PrimaryAssociatedTypeSyntax.self
case .protocolDecl:
return ProtocolDeclSyntax.self
case .regexLiteralExpr:
return RegexLiteralExprSyntax.self
case .repeatStmt:
return RepeatStmtSyntax.self
case .returnClause:
return ReturnClauseSyntax.self
case .returnStmt:
return ReturnStmtSyntax.self
case .sameTypeRequirement:
return SameTypeRequirementSyntax.self
case .sequenceExpr:
return SequenceExprSyntax.self
case .simpleStringLiteralExpr:
return SimpleStringLiteralExprSyntax.self
case .simpleStringLiteralSegmentList:
return SimpleStringLiteralSegmentListSyntax.self
case .simpleTypeSpecifier:
return SimpleTypeSpecifierSyntax.self
case .someOrAnyType:
return SomeOrAnyTypeSyntax.self
case .sourceFile:
return SourceFileSyntax.self
case .specializeAttributeArgumentList:
return SpecializeAttributeArgumentListSyntax.self
case .specializeAvailabilityArgument:
return SpecializeAvailabilityArgumentSyntax.self
case .specializeTargetFunctionArgument:
return SpecializeTargetFunctionArgumentSyntax.self
case .stringLiteralExpr:
return StringLiteralExprSyntax.self
case .stringLiteralSegmentList:
return StringLiteralSegmentListSyntax.self
case .stringSegment:
return StringSegmentSyntax.self
case .structDecl:
return StructDeclSyntax.self
case .subscriptCallExpr:
return SubscriptCallExprSyntax.self
case .subscriptDecl:
return SubscriptDeclSyntax.self
case .superExpr:
return SuperExprSyntax.self
case .suppressedType:
return SuppressedTypeSyntax.self
case .switchCaseItemList:
return SwitchCaseItemListSyntax.self
case .switchCaseItem:
return SwitchCaseItemSyntax.self
case .switchCaseLabel:
return SwitchCaseLabelSyntax.self
case .switchCaseList:
return SwitchCaseListSyntax.self
case .switchCase:
return SwitchCaseSyntax.self
case .switchDefaultLabel:
return SwitchDefaultLabelSyntax.self
case .switchExpr:
return SwitchExprSyntax.self
case .ternaryExpr:
return TernaryExprSyntax.self
case .thenStmt:
return ThenStmtSyntax.self
case .throwStmt:
return ThrowStmtSyntax.self
case .throwsClause:
return ThrowsClauseSyntax.self
case .tryExpr:
return TryExprSyntax.self
case .tupleExpr:
return TupleExprSyntax.self
case .tuplePatternElementList:
return TuplePatternElementListSyntax.self
case .tuplePatternElement:
return TuplePatternElementSyntax.self
case .tuplePattern:
return TuplePatternSyntax.self
case .tupleTypeElementList:
return TupleTypeElementListSyntax.self
case .tupleTypeElement:
return TupleTypeElementSyntax.self
case .tupleType:
return TupleTypeSyntax.self
case .typeAliasDecl:
return TypeAliasDeclSyntax.self
case .typeAnnotation:
return TypeAnnotationSyntax.self
case .typeEffectSpecifiers:
return TypeEffectSpecifiersSyntax.self
case .typeExpr:
return TypeExprSyntax.self
case .typeInitializerClause:
return TypeInitializerClauseSyntax.self
case .typeSpecifierList:
return TypeSpecifierListSyntax.self
case .unavailableFromAsyncAttributeArguments:
return UnavailableFromAsyncAttributeArgumentsSyntax.self
case .underscorePrivateAttributeArguments: