@@ -268,6 +268,36 @@ pub struct Rename {
268268impl ast:: NameOwner for Rename { }
269269impl Rename {
270270 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 ! [ '}' ] ) }
271301}
272302#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
273303pub struct Abi {
@@ -433,15 +463,6 @@ impl PathType {
433463 pub fn path ( & self ) -> Option < Path > { support:: child ( & self . syntax ) }
434464}
435465#[ 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 ) ]
445466pub struct PointerType {
446467 pub ( crate ) syntax : SyntaxNode ,
447468}
@@ -1178,26 +1199,6 @@ impl Param {
11781199 pub fn dotdotdot_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ ...] ) }
11791200}
11801201#[ 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 ) ]
12011202pub struct PathSegment {
12021203 pub ( crate ) syntax : SyntaxNode ,
12031204}
@@ -1627,6 +1628,39 @@ impl AstNode for Rename {
16271628 }
16281629 fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
16291630}
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+ }
16301664impl AstNode for Abi {
16311665 fn can_cast ( kind : SyntaxKind ) -> bool { kind == ABI }
16321666 fn cast ( syntax : SyntaxNode ) -> Option < Self > {
@@ -1825,17 +1859,6 @@ impl AstNode for PathType {
18251859 }
18261860 fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
18271861}
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- }
18391862impl AstNode for PointerType {
18401863 fn can_cast ( kind : SyntaxKind ) -> bool { kind == POINTER_TYPE }
18411864 fn cast ( syntax : SyntaxNode ) -> Option < Self > {
@@ -2672,28 +2695,6 @@ impl AstNode for Param {
26722695 }
26732696 fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
26742697}
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- }
26972698impl AstNode for PathSegment {
26982699 fn can_cast ( kind : SyntaxKind ) -> bool { kind == PATH_SEGMENT }
26992700 fn cast ( syntax : SyntaxNode ) -> Option < Self > {
@@ -3560,6 +3561,21 @@ impl std::fmt::Display for Rename {
35603561 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
35613562 }
35623563}
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+ }
35633579impl std:: fmt:: Display for Abi {
35643580 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
35653581 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
@@ -3650,11 +3666,6 @@ impl std::fmt::Display for PathType {
36503666 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
36513667 }
36523668}
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- }
36583669impl std:: fmt:: Display for PointerType {
36593670 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
36603671 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
@@ -4035,16 +4046,6 @@ impl std::fmt::Display for Param {
40354046 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
40364047 }
40374048}
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- }
40484049impl std:: fmt:: Display for PathSegment {
40494050 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
40504051 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
0 commit comments