@@ -89,6 +89,7 @@ pub enum AnyNode {
89
89
ExceptHandlerExceptHandler ( ast:: ExceptHandlerExceptHandler ) ,
90
90
FStringExpressionElement ( ast:: FStringExpressionElement ) ,
91
91
FStringLiteralElement ( ast:: FStringLiteralElement ) ,
92
+ FStringFormatSpec ( ast:: FStringFormatSpec ) ,
92
93
PatternMatchValue ( ast:: PatternMatchValue ) ,
93
94
PatternMatchSingleton ( ast:: PatternMatchSingleton ) ,
94
95
PatternMatchSequence ( ast:: PatternMatchSequence ) ,
@@ -169,6 +170,7 @@ impl AnyNode {
169
170
| AnyNode :: ExprCall ( _)
170
171
| AnyNode :: FStringExpressionElement ( _)
171
172
| AnyNode :: FStringLiteralElement ( _)
173
+ | AnyNode :: FStringFormatSpec ( _)
172
174
| AnyNode :: ExprFString ( _)
173
175
| AnyNode :: ExprStringLiteral ( _)
174
176
| AnyNode :: ExprBytesLiteral ( _)
@@ -281,6 +283,7 @@ impl AnyNode {
281
283
| AnyNode :: ExceptHandlerExceptHandler ( _)
282
284
| AnyNode :: FStringExpressionElement ( _)
283
285
| AnyNode :: FStringLiteralElement ( _)
286
+ | AnyNode :: FStringFormatSpec ( _)
284
287
| AnyNode :: PatternMatchValue ( _)
285
288
| AnyNode :: PatternMatchSingleton ( _)
286
289
| AnyNode :: PatternMatchSequence ( _)
@@ -361,6 +364,7 @@ impl AnyNode {
361
364
| AnyNode :: ExprCall ( _)
362
365
| AnyNode :: FStringExpressionElement ( _)
363
366
| AnyNode :: FStringLiteralElement ( _)
367
+ | AnyNode :: FStringFormatSpec ( _)
364
368
| AnyNode :: ExprFString ( _)
365
369
| AnyNode :: ExprStringLiteral ( _)
366
370
| AnyNode :: ExprBytesLiteral ( _)
@@ -465,6 +469,7 @@ impl AnyNode {
465
469
| AnyNode :: ExprCall ( _)
466
470
| AnyNode :: FStringExpressionElement ( _)
467
471
| AnyNode :: FStringLiteralElement ( _)
472
+ | AnyNode :: FStringFormatSpec ( _)
468
473
| AnyNode :: ExprFString ( _)
469
474
| AnyNode :: ExprStringLiteral ( _)
470
475
| AnyNode :: ExprBytesLiteral ( _)
@@ -554,6 +559,7 @@ impl AnyNode {
554
559
| AnyNode :: ExprCall ( _)
555
560
| AnyNode :: FStringExpressionElement ( _)
556
561
| AnyNode :: FStringLiteralElement ( _)
562
+ | AnyNode :: FStringFormatSpec ( _)
557
563
| AnyNode :: ExprFString ( _)
558
564
| AnyNode :: ExprStringLiteral ( _)
559
565
| AnyNode :: ExprBytesLiteral ( _)
@@ -668,6 +674,7 @@ impl AnyNode {
668
674
Self :: ExprCall ( node) => AnyNodeRef :: ExprCall ( node) ,
669
675
Self :: FStringExpressionElement ( node) => AnyNodeRef :: FStringExpressionElement ( node) ,
670
676
Self :: FStringLiteralElement ( node) => AnyNodeRef :: FStringLiteralElement ( node) ,
677
+ Self :: FStringFormatSpec ( node) => AnyNodeRef :: FStringFormatSpec ( node) ,
671
678
Self :: ExprFString ( node) => AnyNodeRef :: ExprFString ( node) ,
672
679
Self :: ExprStringLiteral ( node) => AnyNodeRef :: ExprStringLiteral ( node) ,
673
680
Self :: ExprBytesLiteral ( node) => AnyNodeRef :: ExprBytesLiteral ( node) ,
@@ -2628,6 +2635,43 @@ impl AstNode for ast::ExprCall {
2628
2635
visitor. visit_arguments ( arguments) ;
2629
2636
}
2630
2637
}
2638
+ impl AstNode for ast:: FStringFormatSpec {
2639
+ fn cast ( kind : AnyNode ) -> Option < Self >
2640
+ where
2641
+ Self : Sized ,
2642
+ {
2643
+ if let AnyNode :: FStringFormatSpec ( node) = kind {
2644
+ Some ( node)
2645
+ } else {
2646
+ None
2647
+ }
2648
+ }
2649
+
2650
+ fn cast_ref ( kind : AnyNodeRef ) -> Option < & Self > {
2651
+ if let AnyNodeRef :: FStringFormatSpec ( node) = kind {
2652
+ Some ( node)
2653
+ } else {
2654
+ None
2655
+ }
2656
+ }
2657
+
2658
+ fn as_any_node_ref ( & self ) -> AnyNodeRef {
2659
+ AnyNodeRef :: from ( self )
2660
+ }
2661
+
2662
+ fn into_any_node ( self ) -> AnyNode {
2663
+ AnyNode :: from ( self )
2664
+ }
2665
+
2666
+ fn visit_preorder < ' a , V > ( & ' a self , visitor : & mut V )
2667
+ where
2668
+ V : PreorderVisitor < ' a > + ?Sized ,
2669
+ {
2670
+ for element in & self . elements {
2671
+ visitor. visit_f_string_element ( element) ;
2672
+ }
2673
+ }
2674
+ }
2631
2675
impl AstNode for ast:: FStringExpressionElement {
2632
2676
fn cast ( kind : AnyNode ) -> Option < Self >
2633
2677
where
@@ -4854,6 +4898,12 @@ impl From<ast::FStringLiteralElement> for AnyNode {
4854
4898
}
4855
4899
}
4856
4900
4901
+ impl From < ast:: FStringFormatSpec > for AnyNode {
4902
+ fn from ( node : ast:: FStringFormatSpec ) -> Self {
4903
+ AnyNode :: FStringFormatSpec ( node)
4904
+ }
4905
+ }
4906
+
4857
4907
impl From < ast:: ExprFString > for AnyNode {
4858
4908
fn from ( node : ast:: ExprFString ) -> Self {
4859
4909
AnyNode :: ExprFString ( node)
@@ -5150,6 +5200,7 @@ impl Ranged for AnyNode {
5150
5200
AnyNode :: ExprCall ( node) => node. range ( ) ,
5151
5201
AnyNode :: FStringExpressionElement ( node) => node. range ( ) ,
5152
5202
AnyNode :: FStringLiteralElement ( node) => node. range ( ) ,
5203
+ AnyNode :: FStringFormatSpec ( node) => node. range ( ) ,
5153
5204
AnyNode :: ExprFString ( node) => node. range ( ) ,
5154
5205
AnyNode :: ExprStringLiteral ( node) => node. range ( ) ,
5155
5206
AnyNode :: ExprBytesLiteral ( node) => node. range ( ) ,
@@ -5246,6 +5297,7 @@ pub enum AnyNodeRef<'a> {
5246
5297
ExprCall ( & ' a ast:: ExprCall ) ,
5247
5298
FStringExpressionElement ( & ' a ast:: FStringExpressionElement ) ,
5248
5299
FStringLiteralElement ( & ' a ast:: FStringLiteralElement ) ,
5300
+ FStringFormatSpec ( & ' a ast:: FStringFormatSpec ) ,
5249
5301
ExprFString ( & ' a ast:: ExprFString ) ,
5250
5302
ExprStringLiteral ( & ' a ast:: ExprStringLiteral ) ,
5251
5303
ExprBytesLiteral ( & ' a ast:: ExprBytesLiteral ) ,
@@ -5341,6 +5393,7 @@ impl<'a> AnyNodeRef<'a> {
5341
5393
AnyNodeRef :: ExprCall ( node) => NonNull :: from ( * node) . cast ( ) ,
5342
5394
AnyNodeRef :: FStringExpressionElement ( node) => NonNull :: from ( * node) . cast ( ) ,
5343
5395
AnyNodeRef :: FStringLiteralElement ( node) => NonNull :: from ( * node) . cast ( ) ,
5396
+ AnyNodeRef :: FStringFormatSpec ( node) => NonNull :: from ( * node) . cast ( ) ,
5344
5397
AnyNodeRef :: ExprFString ( node) => NonNull :: from ( * node) . cast ( ) ,
5345
5398
AnyNodeRef :: ExprStringLiteral ( node) => NonNull :: from ( * node) . cast ( ) ,
5346
5399
AnyNodeRef :: ExprBytesLiteral ( node) => NonNull :: from ( * node) . cast ( ) ,
@@ -5442,6 +5495,7 @@ impl<'a> AnyNodeRef<'a> {
5442
5495
AnyNodeRef :: ExprCall ( _) => NodeKind :: ExprCall ,
5443
5496
AnyNodeRef :: FStringExpressionElement ( _) => NodeKind :: FStringExpressionElement ,
5444
5497
AnyNodeRef :: FStringLiteralElement ( _) => NodeKind :: FStringLiteralElement ,
5498
+ AnyNodeRef :: FStringFormatSpec ( _) => NodeKind :: FStringFormatSpec ,
5445
5499
AnyNodeRef :: ExprFString ( _) => NodeKind :: ExprFString ,
5446
5500
AnyNodeRef :: ExprStringLiteral ( _) => NodeKind :: ExprStringLiteral ,
5447
5501
AnyNodeRef :: ExprBytesLiteral ( _) => NodeKind :: ExprBytesLiteral ,
@@ -5538,6 +5592,7 @@ impl<'a> AnyNodeRef<'a> {
5538
5592
| AnyNodeRef :: ExprCall ( _)
5539
5593
| AnyNodeRef :: FStringExpressionElement ( _)
5540
5594
| AnyNodeRef :: FStringLiteralElement ( _)
5595
+ | AnyNodeRef :: FStringFormatSpec ( _)
5541
5596
| AnyNodeRef :: ExprFString ( _)
5542
5597
| AnyNodeRef :: ExprStringLiteral ( _)
5543
5598
| AnyNodeRef :: ExprBytesLiteral ( _)
@@ -5650,6 +5705,7 @@ impl<'a> AnyNodeRef<'a> {
5650
5705
| AnyNodeRef :: ExceptHandlerExceptHandler ( _)
5651
5706
| AnyNodeRef :: FStringExpressionElement ( _)
5652
5707
| AnyNodeRef :: FStringLiteralElement ( _)
5708
+ | AnyNodeRef :: FStringFormatSpec ( _)
5653
5709
| AnyNodeRef :: PatternMatchValue ( _)
5654
5710
| AnyNodeRef :: PatternMatchSingleton ( _)
5655
5711
| AnyNodeRef :: PatternMatchSequence ( _)
@@ -5729,6 +5785,7 @@ impl<'a> AnyNodeRef<'a> {
5729
5785
| AnyNodeRef :: ExprCall ( _)
5730
5786
| AnyNodeRef :: FStringExpressionElement ( _)
5731
5787
| AnyNodeRef :: FStringLiteralElement ( _)
5788
+ | AnyNodeRef :: FStringFormatSpec ( _)
5732
5789
| AnyNodeRef :: ExprFString ( _)
5733
5790
| AnyNodeRef :: ExprStringLiteral ( _)
5734
5791
| AnyNodeRef :: ExprBytesLiteral ( _)
@@ -5833,6 +5890,7 @@ impl<'a> AnyNodeRef<'a> {
5833
5890
| AnyNodeRef :: ExprCall ( _)
5834
5891
| AnyNodeRef :: FStringExpressionElement ( _)
5835
5892
| AnyNodeRef :: FStringLiteralElement ( _)
5893
+ | AnyNodeRef :: FStringFormatSpec ( _)
5836
5894
| AnyNodeRef :: ExprFString ( _)
5837
5895
| AnyNodeRef :: ExprStringLiteral ( _)
5838
5896
| AnyNodeRef :: ExprBytesLiteral ( _)
@@ -5922,6 +5980,7 @@ impl<'a> AnyNodeRef<'a> {
5922
5980
| AnyNodeRef :: ExprCall ( _)
5923
5981
| AnyNodeRef :: FStringExpressionElement ( _)
5924
5982
| AnyNodeRef :: FStringLiteralElement ( _)
5983
+ | AnyNodeRef :: FStringFormatSpec ( _)
5925
5984
| AnyNodeRef :: ExprFString ( _)
5926
5985
| AnyNodeRef :: ExprStringLiteral ( _)
5927
5986
| AnyNodeRef :: ExprBytesLiteral ( _)
@@ -6030,6 +6089,7 @@ impl<'a> AnyNodeRef<'a> {
6030
6089
AnyNodeRef :: ExprCall ( node) => node. visit_preorder ( visitor) ,
6031
6090
AnyNodeRef :: FStringExpressionElement ( node) => node. visit_preorder ( visitor) ,
6032
6091
AnyNodeRef :: FStringLiteralElement ( node) => node. visit_preorder ( visitor) ,
6092
+ AnyNodeRef :: FStringFormatSpec ( node) => node. visit_preorder ( visitor) ,
6033
6093
AnyNodeRef :: ExprFString ( node) => node. visit_preorder ( visitor) ,
6034
6094
AnyNodeRef :: ExprStringLiteral ( node) => node. visit_preorder ( visitor) ,
6035
6095
AnyNodeRef :: ExprBytesLiteral ( node) => node. visit_preorder ( visitor) ,
@@ -6420,6 +6480,12 @@ impl<'a> From<&'a ast::FStringLiteralElement> for AnyNodeRef<'a> {
6420
6480
}
6421
6481
}
6422
6482
6483
+ impl < ' a > From < & ' a ast:: FStringFormatSpec > for AnyNodeRef < ' a > {
6484
+ fn from ( node : & ' a ast:: FStringFormatSpec ) -> Self {
6485
+ AnyNodeRef :: FStringFormatSpec ( node)
6486
+ }
6487
+ }
6488
+
6423
6489
impl < ' a > From < & ' a ast:: ExprFString > for AnyNodeRef < ' a > {
6424
6490
fn from ( node : & ' a ast:: ExprFString ) -> Self {
6425
6491
AnyNodeRef :: ExprFString ( node)
@@ -6842,6 +6908,7 @@ impl Ranged for AnyNodeRef<'_> {
6842
6908
AnyNodeRef :: ExprCall ( node) => node. range ( ) ,
6843
6909
AnyNodeRef :: FStringExpressionElement ( node) => node. range ( ) ,
6844
6910
AnyNodeRef :: FStringLiteralElement ( node) => node. range ( ) ,
6911
+ AnyNodeRef :: FStringFormatSpec ( node) => node. range ( ) ,
6845
6912
AnyNodeRef :: ExprFString ( node) => node. range ( ) ,
6846
6913
AnyNodeRef :: ExprStringLiteral ( node) => node. range ( ) ,
6847
6914
AnyNodeRef :: ExprBytesLiteral ( node) => node. range ( ) ,
@@ -6940,6 +7007,7 @@ pub enum NodeKind {
6940
7007
ExprCall ,
6941
7008
FStringExpressionElement ,
6942
7009
FStringLiteralElement ,
7010
+ FStringFormatSpec ,
6943
7011
ExprFString ,
6944
7012
ExprStringLiteral ,
6945
7013
ExprBytesLiteral ,
0 commit comments