@@ -3618,10 +3618,7 @@ impl AstNode for DynArgListOwner {
3618
3618
}
3619
3619
}
3620
3620
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3621
- match syntax. kind ( ) {
3622
- CALL_EXPR | METHOD_CALL_EXPR => Some ( DynArgListOwner { syntax } ) ,
3623
- _ => None ,
3624
- }
3621
+ Self :: can_cast ( syntax. kind ( ) ) . then ( || DynArgListOwner { syntax } )
3625
3622
}
3626
3623
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
3627
3624
}
@@ -3703,74 +3700,7 @@ impl AstNode for DynAttrsOwner {
3703
3700
}
3704
3701
}
3705
3702
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3706
- match syntax. kind ( ) {
3707
- MACRO_CALL
3708
- | SOURCE_FILE
3709
- | CONST
3710
- | ENUM
3711
- | EXTERN_BLOCK
3712
- | EXTERN_CRATE
3713
- | FN
3714
- | IMPL
3715
- | MACRO_RULES
3716
- | MACRO_DEF
3717
- | MODULE
3718
- | STATIC
3719
- | STRUCT
3720
- | TRAIT
3721
- | TYPE_ALIAS
3722
- | UNION
3723
- | USE
3724
- | ITEM_LIST
3725
- | BLOCK_EXPR
3726
- | SELF_PARAM
3727
- | PARAM
3728
- | RECORD_FIELD
3729
- | TUPLE_FIELD
3730
- | VARIANT
3731
- | ASSOC_ITEM_LIST
3732
- | EXTERN_ITEM_LIST
3733
- | CONST_PARAM
3734
- | LIFETIME_PARAM
3735
- | TYPE_PARAM
3736
- | EXPR_STMT
3737
- | LET_STMT
3738
- | ARRAY_EXPR
3739
- | AWAIT_EXPR
3740
- | BIN_EXPR
3741
- | BOX_EXPR
3742
- | BREAK_EXPR
3743
- | CALL_EXPR
3744
- | CAST_EXPR
3745
- | CLOSURE_EXPR
3746
- | CONTINUE_EXPR
3747
- | EFFECT_EXPR
3748
- | FIELD_EXPR
3749
- | FOR_EXPR
3750
- | IF_EXPR
3751
- | INDEX_EXPR
3752
- | LITERAL
3753
- | LOOP_EXPR
3754
- | MATCH_EXPR
3755
- | METHOD_CALL_EXPR
3756
- | PAREN_EXPR
3757
- | PATH_EXPR
3758
- | PREFIX_EXPR
3759
- | RANGE_EXPR
3760
- | REF_EXPR
3761
- | RETURN_EXPR
3762
- | TRY_EXPR
3763
- | TUPLE_EXPR
3764
- | WHILE_EXPR
3765
- | YIELD_EXPR
3766
- | RECORD_EXPR_FIELD_LIST
3767
- | RECORD_EXPR_FIELD
3768
- | MATCH_ARM_LIST
3769
- | MATCH_ARM
3770
- | IDENT_PAT
3771
- | RECORD_PAT_FIELD => Some ( DynAttrsOwner { syntax } ) ,
3772
- _ => None ,
3773
- }
3703
+ Self :: can_cast ( syntax. kind ( ) ) . then ( || DynAttrsOwner { syntax } )
3774
3704
}
3775
3705
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
3776
3706
}
@@ -3788,12 +3718,7 @@ impl AstNode for DynGenericParamsOwner {
3788
3718
}
3789
3719
}
3790
3720
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3791
- match syntax. kind ( ) {
3792
- ENUM | FN | IMPL | STRUCT | TRAIT | TYPE_ALIAS | UNION => {
3793
- Some ( DynGenericParamsOwner { syntax } )
3794
- }
3795
- _ => None ,
3796
- }
3721
+ Self :: can_cast ( syntax. kind ( ) ) . then ( || DynGenericParamsOwner { syntax } )
3797
3722
}
3798
3723
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
3799
3724
}
@@ -3811,10 +3736,7 @@ impl AstNode for DynLoopBodyOwner {
3811
3736
}
3812
3737
}
3813
3738
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3814
- match syntax. kind ( ) {
3815
- FOR_EXPR | LOOP_EXPR | WHILE_EXPR => Some ( DynLoopBodyOwner { syntax } ) ,
3816
- _ => None ,
3817
- }
3739
+ Self :: can_cast ( syntax. kind ( ) ) . then ( || DynLoopBodyOwner { syntax } )
3818
3740
}
3819
3741
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
3820
3742
}
@@ -3832,10 +3754,7 @@ impl AstNode for DynModuleItemOwner {
3832
3754
}
3833
3755
}
3834
3756
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3835
- match syntax. kind ( ) {
3836
- MACRO_ITEMS | SOURCE_FILE | ITEM_LIST => Some ( DynModuleItemOwner { syntax } ) ,
3837
- _ => None ,
3838
- }
3757
+ Self :: can_cast ( syntax. kind ( ) ) . then ( || DynModuleItemOwner { syntax } )
3839
3758
}
3840
3759
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
3841
3760
}
@@ -3855,12 +3774,7 @@ impl AstNode for DynNameOwner {
3855
3774
}
3856
3775
}
3857
3776
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3858
- match syntax. kind ( ) {
3859
- CONST | ENUM | FN | MACRO_RULES | MACRO_DEF | MODULE | STATIC | STRUCT | TRAIT
3860
- | TYPE_ALIAS | UNION | RENAME | SELF_PARAM | RECORD_FIELD | VARIANT | CONST_PARAM
3861
- | TYPE_PARAM | IDENT_PAT => Some ( DynNameOwner { syntax } ) ,
3862
- _ => None ,
3863
- }
3777
+ Self :: can_cast ( syntax. kind ( ) ) . then ( || DynNameOwner { syntax } )
3864
3778
}
3865
3779
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
3866
3780
}
@@ -3878,12 +3792,7 @@ impl AstNode for DynTypeBoundsOwner {
3878
3792
}
3879
3793
}
3880
3794
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3881
- match syntax. kind ( ) {
3882
- ASSOC_TYPE_ARG | TRAIT | TYPE_ALIAS | LIFETIME_PARAM | TYPE_PARAM | WHERE_PRED => {
3883
- Some ( DynTypeBoundsOwner { syntax } )
3884
- }
3885
- _ => None ,
3886
- }
3795
+ Self :: can_cast ( syntax. kind ( ) ) . then ( || DynTypeBoundsOwner { syntax } )
3887
3796
}
3888
3797
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
3889
3798
}
@@ -3904,13 +3813,7 @@ impl AstNode for DynVisibilityOwner {
3904
3813
}
3905
3814
}
3906
3815
fn cast ( syntax : SyntaxNode ) -> Option < Self > {
3907
- match syntax. kind ( ) {
3908
- CONST | ENUM | EXTERN_CRATE | FN | IMPL | MACRO_RULES | MACRO_DEF | MODULE | STATIC
3909
- | STRUCT | TRAIT | TYPE_ALIAS | UNION | USE | RECORD_FIELD | TUPLE_FIELD | VARIANT => {
3910
- Some ( DynVisibilityOwner { syntax } )
3911
- }
3912
- _ => None ,
3913
- }
3816
+ Self :: can_cast ( syntax. kind ( ) ) . then ( || DynVisibilityOwner { syntax } )
3914
3817
}
3915
3818
fn syntax ( & self ) -> & SyntaxNode { & self . syntax }
3916
3819
}
0 commit comments