@@ -268,6 +268,36 @@ pub struct Rename {
268
268
impl ast:: NameOwner for Rename { }
269
269
impl Rename {
270
270
pub fn as_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ as ] ) }
271
+ pub fn underscore_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ _] ) }
272
+ }
273
+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
274
+ pub struct UseTree {
275
+ pub ( crate ) syntax : SyntaxNode ,
276
+ }
277
+ impl UseTree {
278
+ pub fn path ( & self ) -> Option < Path > { support:: child ( & self . syntax ) }
279
+ pub fn coloncolon_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ :: ] ) }
280
+ pub fn star_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ * ] ) }
281
+ pub fn use_tree_list ( & self ) -> Option < UseTreeList > { support:: child ( & self . syntax ) }
282
+ pub fn rename ( & self ) -> Option < Rename > { support:: child ( & self . syntax ) }
283
+ }
284
+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
285
+ pub struct Path {
286
+ pub ( crate ) syntax : SyntaxNode ,
287
+ }
288
+ impl Path {
289
+ pub fn qualifier ( & self ) -> Option < Path > { support:: child ( & self . syntax ) }
290
+ pub fn coloncolon_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ :: ] ) }
291
+ pub fn segment ( & self ) -> Option < PathSegment > { support:: child ( & self . syntax ) }
292
+ }
293
+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
294
+ pub struct UseTreeList {
295
+ pub ( crate ) syntax : SyntaxNode ,
296
+ }
297
+ impl UseTreeList {
298
+ pub fn l_curly_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ '{' ] ) }
299
+ pub fn use_trees ( & self ) -> AstChildren < UseTree > { support:: children ( & self . syntax ) }
300
+ pub fn r_curly_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ '}' ] ) }
271
301
}
272
302
#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
273
303
pub struct Abi {
@@ -433,15 +463,6 @@ impl PathType {
433
463
pub fn path ( & self ) -> Option < Path > { support:: child ( & self . syntax ) }
434
464
}
435
465
#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
436
- pub struct Path {
437
- pub ( crate ) syntax : SyntaxNode ,
438
- }
439
- impl Path {
440
- pub fn qualifier ( & self ) -> Option < Path > { support:: child ( & self . syntax ) }
441
- pub fn coloncolon_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ :: ] ) }
442
- pub fn segment ( & self ) -> Option < PathSegment > { support:: child ( & self . syntax ) }
443
- }
444
- #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
445
466
pub struct PointerType {
446
467
pub ( crate ) syntax : SyntaxNode ,
447
468
}
@@ -1178,26 +1199,6 @@ impl Param {
1178
1199
pub fn dotdotdot_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ ...] ) }
1179
1200
}
1180
1201
#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
1181
- pub struct UseTree {
1182
- pub ( crate ) syntax : SyntaxNode ,
1183
- }
1184
- impl UseTree {
1185
- pub fn path ( & self ) -> Option < Path > { support:: child ( & self . syntax ) }
1186
- pub fn coloncolon_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ :: ] ) }
1187
- pub fn star_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ * ] ) }
1188
- pub fn use_tree_list ( & self ) -> Option < UseTreeList > { support:: child ( & self . syntax ) }
1189
- pub fn rename ( & self ) -> Option < Rename > { support:: child ( & self . syntax ) }
1190
- }
1191
- #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
1192
- pub struct UseTreeList {
1193
- pub ( crate ) syntax : SyntaxNode ,
1194
- }
1195
- impl UseTreeList {
1196
- pub fn l_curly_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ '{' ] ) }
1197
- pub fn use_trees ( & self ) -> AstChildren < UseTree > { support:: children ( & self . syntax ) }
1198
- pub fn r_curly_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ '}' ] ) }
1199
- }
1200
- #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
1201
1202
pub struct PathSegment {
1202
1203
pub ( crate ) syntax : SyntaxNode ,
1203
1204
}
@@ -1627,6 +1628,39 @@ impl AstNode for Rename {
1627
1628
}
1628
1629
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
1629
1630
}
1631
+ impl AstNode for UseTree {
1632
+ fn can_cast ( kind : SyntaxKind ) -> bool { kind == USE_TREE }
1633
+ fn cast ( syntax : SyntaxNode ) -> Option < Self > {
1634
+ if Self :: can_cast ( syntax. kind ( ) ) {
1635
+ Some ( Self { syntax } )
1636
+ } else {
1637
+ None
1638
+ }
1639
+ }
1640
+ fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
1641
+ }
1642
+ impl AstNode for Path {
1643
+ fn can_cast ( kind : SyntaxKind ) -> bool { kind == PATH }
1644
+ fn cast ( syntax : SyntaxNode ) -> Option < Self > {
1645
+ if Self :: can_cast ( syntax. kind ( ) ) {
1646
+ Some ( Self { syntax } )
1647
+ } else {
1648
+ None
1649
+ }
1650
+ }
1651
+ fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
1652
+ }
1653
+ impl AstNode for UseTreeList {
1654
+ fn can_cast ( kind : SyntaxKind ) -> bool { kind == USE_TREE_LIST }
1655
+ fn cast ( syntax : SyntaxNode ) -> Option < Self > {
1656
+ if Self :: can_cast ( syntax. kind ( ) ) {
1657
+ Some ( Self { syntax } )
1658
+ } else {
1659
+ None
1660
+ }
1661
+ }
1662
+ fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
1663
+ }
1630
1664
impl AstNode for Abi {
1631
1665
fn can_cast ( kind : SyntaxKind ) -> bool { kind == ABI }
1632
1666
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
@@ -1825,17 +1859,6 @@ impl AstNode for PathType {
1825
1859
}
1826
1860
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
1827
1861
}
1828
- impl AstNode for Path {
1829
- fn can_cast ( kind : SyntaxKind ) -> bool { kind == PATH }
1830
- fn cast ( syntax : SyntaxNode ) -> Option < Self > {
1831
- if Self :: can_cast ( syntax. kind ( ) ) {
1832
- Some ( Self { syntax } )
1833
- } else {
1834
- None
1835
- }
1836
- }
1837
- fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
1838
- }
1839
1862
impl AstNode for PointerType {
1840
1863
fn can_cast ( kind : SyntaxKind ) -> bool { kind == POINTER_TYPE }
1841
1864
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
@@ -2672,28 +2695,6 @@ impl AstNode for Param {
2672
2695
}
2673
2696
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
2674
2697
}
2675
- impl AstNode for UseTree {
2676
- fn can_cast ( kind : SyntaxKind ) -> bool { kind == USE_TREE }
2677
- fn cast ( syntax : SyntaxNode ) -> Option < Self > {
2678
- if Self :: can_cast ( syntax. kind ( ) ) {
2679
- Some ( Self { syntax } )
2680
- } else {
2681
- None
2682
- }
2683
- }
2684
- fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
2685
- }
2686
- impl AstNode for UseTreeList {
2687
- fn can_cast ( kind : SyntaxKind ) -> bool { kind == USE_TREE_LIST }
2688
- fn cast ( syntax : SyntaxNode ) -> Option < Self > {
2689
- if Self :: can_cast ( syntax. kind ( ) ) {
2690
- Some ( Self { syntax } )
2691
- } else {
2692
- None
2693
- }
2694
- }
2695
- fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
2696
- }
2697
2698
impl AstNode for PathSegment {
2698
2699
fn can_cast ( kind : SyntaxKind ) -> bool { kind == PATH_SEGMENT }
2699
2700
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
@@ -3560,6 +3561,21 @@ impl std::fmt::Display for Rename {
3560
3561
std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
3561
3562
}
3562
3563
}
3564
+ impl std:: fmt:: Display for UseTree {
3565
+ fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
3566
+ std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
3567
+ }
3568
+ }
3569
+ impl std:: fmt:: Display for Path {
3570
+ fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
3571
+ std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
3572
+ }
3573
+ }
3574
+ impl std:: fmt:: Display for UseTreeList {
3575
+ fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
3576
+ std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
3577
+ }
3578
+ }
3563
3579
impl std:: fmt:: Display for Abi {
3564
3580
fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
3565
3581
std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
@@ -3650,11 +3666,6 @@ impl std::fmt::Display for PathType {
3650
3666
std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
3651
3667
}
3652
3668
}
3653
- impl std:: fmt:: Display for Path {
3654
- fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
3655
- std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
3656
- }
3657
- }
3658
3669
impl std:: fmt:: Display for PointerType {
3659
3670
fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
3660
3671
std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
@@ -4035,16 +4046,6 @@ impl std::fmt::Display for Param {
4035
4046
std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
4036
4047
}
4037
4048
}
4038
- impl std:: fmt:: Display for UseTree {
4039
- fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
4040
- std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
4041
- }
4042
- }
4043
- impl std:: fmt:: Display for UseTreeList {
4044
- fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
4045
- std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
4046
- }
4047
- }
4048
4049
impl std:: fmt:: Display for PathSegment {
4049
4050
fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
4050
4051
std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
0 commit comments