@@ -24,7 +24,8 @@ impl Attr {
2424 pub fn l_brack_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ '[' ] ) }
2525 pub fn path ( & self ) -> Option < Path > { support:: child ( & self . syntax ) }
2626 pub fn eq_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ =] ) }
27- pub fn input ( & self ) -> Option < AttrInput > { support:: child ( & self . syntax ) }
27+ pub fn literal ( & self ) -> Option < Literal > { support:: child ( & self . syntax ) }
28+ pub fn token_tree ( & self ) -> Option < TokenTree > { support:: child ( & self . syntax ) }
2829 pub fn r_brack_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ ']' ] ) }
2930}
3031#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
@@ -321,9 +322,9 @@ pub struct ParamList {
321322}
322323impl ParamList {
323324 pub fn l_paren_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ '(' ] ) }
324- pub fn params ( & self ) -> AstChildren < Param > { support:: children ( & self . syntax ) }
325325 pub fn self_param ( & self ) -> Option < SelfParam > { support:: child ( & self . syntax ) }
326326 pub fn comma_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ , ] ) }
327+ pub fn params ( & self ) -> AstChildren < Param > { support:: children ( & self . syntax ) }
327328 pub fn r_paren_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ ')' ] ) }
328329}
329330#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
@@ -356,17 +357,6 @@ impl BlockExpr {
356357 pub fn r_curly_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ '}' ] ) }
357358}
358359#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
359- pub struct Param {
360- pub ( crate ) syntax : SyntaxNode ,
361- }
362- impl ast:: AttrsOwner for Param { }
363- impl ast:: TypeAscriptionOwner for Param { }
364- impl Param {
365- pub fn pat ( & self ) -> Option < Pat > { support:: child ( & self . syntax ) }
366- pub fn colon_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ : ] ) }
367- pub fn dotdotdot_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ ...] ) }
368- }
369- #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
370360pub struct SelfParam {
371361 pub ( crate ) syntax : SyntaxNode ,
372362}
@@ -382,6 +372,17 @@ impl SelfParam {
382372 pub fn colon_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ : ] ) }
383373}
384374#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
375+ pub struct Param {
376+ pub ( crate ) syntax : SyntaxNode ,
377+ }
378+ impl ast:: AttrsOwner for Param { }
379+ impl ast:: TypeAscriptionOwner for Param { }
380+ impl Param {
381+ pub fn pat ( & self ) -> Option < Pat > { support:: child ( & self . syntax ) }
382+ pub fn colon_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ : ] ) }
383+ pub fn dotdotdot_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ ...] ) }
384+ }
385+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
385386pub struct TypeBoundList {
386387 pub ( crate ) syntax : SyntaxNode ,
387388}
@@ -1378,11 +1379,6 @@ pub enum GenericParam {
13781379}
13791380impl ast:: AttrsOwner for GenericParam { }
13801381#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
1381- pub enum AttrInput {
1382- Literal ( Literal ) ,
1383- TokenTree ( TokenTree ) ,
1384- }
1385- #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
13861382pub enum Stmt {
13871383 LetStmt ( LetStmt ) ,
13881384 ExprStmt ( ExprStmt ) ,
@@ -1728,8 +1724,8 @@ impl AstNode for BlockExpr {
17281724 }
17291725 fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
17301726}
1731- impl AstNode for Param {
1732- fn can_cast ( kind : SyntaxKind ) -> bool { kind == PARAM }
1727+ impl AstNode for SelfParam {
1728+ fn can_cast ( kind : SyntaxKind ) -> bool { kind == SELF_PARAM }
17331729 fn cast ( syntax : SyntaxNode ) -> Option < Self > {
17341730 if Self :: can_cast ( syntax. kind ( ) ) {
17351731 Some ( Self { syntax } )
@@ -1739,8 +1735,8 @@ impl AstNode for Param {
17391735 }
17401736 fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
17411737}
1742- impl AstNode for SelfParam {
1743- fn can_cast ( kind : SyntaxKind ) -> bool { kind == SELF_PARAM }
1738+ impl AstNode for Param {
1739+ fn can_cast ( kind : SyntaxKind ) -> bool { kind == PARAM }
17441740 fn cast ( syntax : SyntaxNode ) -> Option < Self > {
17451741 if Self :: can_cast ( syntax. kind ( ) ) {
17461742 Some ( Self { syntax } )
@@ -3342,34 +3338,6 @@ impl AstNode for GenericParam {
33423338 }
33433339 }
33443340}
3345- impl From < Literal > for AttrInput {
3346- fn from ( node : Literal ) -> AttrInput { AttrInput :: Literal ( node) }
3347- }
3348- impl From < TokenTree > for AttrInput {
3349- fn from ( node : TokenTree ) -> AttrInput { AttrInput :: TokenTree ( node) }
3350- }
3351- impl AstNode for AttrInput {
3352- fn can_cast ( kind : SyntaxKind ) -> bool {
3353- match kind {
3354- LITERAL | TOKEN_TREE => true ,
3355- _ => false ,
3356- }
3357- }
3358- fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3359- let res = match syntax. kind ( ) {
3360- LITERAL => AttrInput :: Literal ( Literal { syntax } ) ,
3361- TOKEN_TREE => AttrInput :: TokenTree ( TokenTree { syntax } ) ,
3362- _ => return None ,
3363- } ;
3364- Some ( res)
3365- }
3366- fn syntax ( & self ) -> & SyntaxNode {
3367- match self {
3368- AttrInput :: Literal ( it) => & it. syntax ,
3369- AttrInput :: TokenTree ( it) => & it. syntax ,
3370- }
3371- }
3372- }
33733341impl From < LetStmt > for Stmt {
33743342 fn from ( node : LetStmt ) -> Stmt { Stmt :: LetStmt ( node) }
33753343}
@@ -3471,11 +3439,6 @@ impl std::fmt::Display for GenericParam {
34713439 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
34723440 }
34733441}
3474- impl std:: fmt:: Display for AttrInput {
3475- fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
3476- std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
3477- }
3478- }
34793442impl std:: fmt:: Display for Stmt {
34803443 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
34813444 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
@@ -3636,12 +3599,12 @@ impl std::fmt::Display for BlockExpr {
36363599 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
36373600 }
36383601}
3639- impl std:: fmt:: Display for Param {
3602+ impl std:: fmt:: Display for SelfParam {
36403603 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
36413604 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
36423605 }
36433606}
3644- impl std:: fmt:: Display for SelfParam {
3607+ impl std:: fmt:: Display for Param {
36453608 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
36463609 std:: fmt:: Display :: fmt ( self . syntax ( ) , f)
36473610 }
0 commit comments