@@ -2,7 +2,7 @@ use std::{iter::once, ops::RangeInclusive};
22
33use ra_syntax:: {
44 algo:: replace_children,
5- ast:: { self , edit:: IndentLevel , make, Block , Pat :: TupleStructPat } ,
5+ ast:: { self , edit:: IndentLevel , make} ,
66 AstNode ,
77 SyntaxKind :: { FN_DEF , LOOP_EXPR , L_CURLY , R_CURLY , WHILE_EXPR , WHITESPACE } ,
88 SyntaxNode ,
@@ -47,7 +47,7 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx) -> Option<Assist> {
4747 // Check if there is an IfLet that we can handle.
4848 let if_let_pat = match cond. pat ( ) {
4949 None => None , // No IfLet, supported.
50- Some ( TupleStructPat ( pat) ) if pat. args ( ) . count ( ) == 1 => {
50+ Some ( ast :: Pat :: TupleStructPat ( pat) ) if pat. args ( ) . count ( ) == 1 => {
5151 let path = pat. path ( ) ?;
5252 match path. qualifier ( ) {
5353 None => {
@@ -61,9 +61,9 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx) -> Option<Assist> {
6161 } ;
6262
6363 let cond_expr = cond. expr ( ) ?;
64- let then_block = if_expr. then_branch ( ) ?. block ( ) ? ;
64+ let then_block = if_expr. then_branch ( ) ?;
6565
66- let parent_block = if_expr. syntax ( ) . parent ( ) ?. ancestors ( ) . find_map ( ast:: Block :: cast) ?;
66+ let parent_block = if_expr. syntax ( ) . parent ( ) ?. ancestors ( ) . find_map ( ast:: BlockExpr :: cast) ?;
6767
6868 if parent_block. expr ( ) ? != if_expr. clone ( ) . into ( ) {
6969 return None ;
@@ -80,7 +80,7 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx) -> Option<Assist> {
8080 return None ;
8181 }
8282
83- let parent_container = parent_block. syntax ( ) . parent ( ) ?. parent ( ) ? ;
83+ let parent_container = parent_block. syntax ( ) . parent ( ) ?;
8484
8585 let early_expression: ast:: Expr = match parent_container. kind ( ) {
8686 WHILE_EXPR | LOOP_EXPR => make:: expr_continue ( ) ,
@@ -144,13 +144,13 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx) -> Option<Assist> {
144144 }
145145 } ;
146146 edit. target ( if_expr. syntax ( ) . text_range ( ) ) ;
147- edit. replace_ast ( parent_block, ast:: Block :: cast ( new_block) . unwrap ( ) ) ;
147+ edit. replace_ast ( parent_block, ast:: BlockExpr :: cast ( new_block) . unwrap ( ) ) ;
148148 edit. set_cursor ( cursor_position) ;
149149
150150 fn replace (
151151 new_expr : & SyntaxNode ,
152- then_block : & Block ,
153- parent_block : & Block ,
152+ then_block : & ast :: BlockExpr ,
153+ parent_block : & ast :: BlockExpr ,
154154 if_expr : & ast:: IfExpr ,
155155 ) -> SyntaxNode {
156156 let then_block_items = IndentLevel :: from ( 1 ) . decrease_indent ( then_block. clone ( ) ) ;
0 commit comments