@@ -956,10 +956,10 @@ fn format_replacement(ctx: &AssistContext, fun: &Function, indent: IndentLevel)
956956 let args = fun. params . iter ( ) . map ( |param| param. to_arg ( ctx) ) ;
957957 let args = make:: arg_list ( args) ;
958958 let call_expr = if fun. self_param . is_some ( ) {
959- let self_arg = make:: expr_path ( make_path_from_text ( "self" ) ) ;
959+ let self_arg = make:: expr_path ( make :: ext :: ident_path ( "self" ) ) ;
960960 make:: expr_method_call ( self_arg, & fun. name , args)
961961 } else {
962- let func = make:: expr_path ( make_path_from_text ( & fun. name ) ) ;
962+ let func = make:: expr_path ( make :: ext :: ident_path ( & fun. name ) ) ;
963963 make:: expr_call ( func, args)
964964 } ;
965965
@@ -1054,11 +1054,11 @@ impl FlowHandler {
10541054 make:: expr_if ( condition, block, None )
10551055 }
10561056 FlowHandler :: IfOption { action } => {
1057- let path = make_path_from_text ( "Some" ) ;
1057+ let path = make :: ext :: ident_path ( "Some" ) ;
10581058 let value_pat = make:: ident_pat ( make:: name ( "value" ) ) ;
10591059 let pattern = make:: tuple_struct_pat ( path, iter:: once ( value_pat. into ( ) ) ) ;
10601060 let cond = make:: condition ( call_expr, Some ( pattern. into ( ) ) ) ;
1061- let value = make:: expr_path ( make_path_from_text ( "value" ) ) ;
1061+ let value = make:: expr_path ( make :: ext :: ident_path ( "value" ) ) ;
10621062 let action_expr = action. make_result_handler ( Some ( value) ) ;
10631063 let action_stmt = make:: expr_stmt ( action_expr) ;
10641064 let then = make:: block_expr ( iter:: once ( action_stmt. into ( ) ) , None ) ;
@@ -1068,14 +1068,14 @@ impl FlowHandler {
10681068 let some_name = "value" ;
10691069
10701070 let some_arm = {
1071- let path = make_path_from_text ( "Some" ) ;
1071+ let path = make :: ext :: ident_path ( "Some" ) ;
10721072 let value_pat = make:: ident_pat ( make:: name ( some_name) ) ;
10731073 let pat = make:: tuple_struct_pat ( path, iter:: once ( value_pat. into ( ) ) ) ;
1074- let value = make:: expr_path ( make_path_from_text ( some_name) ) ;
1074+ let value = make:: expr_path ( make :: ext :: ident_path ( some_name) ) ;
10751075 make:: match_arm ( iter:: once ( pat. into ( ) ) , value)
10761076 } ;
10771077 let none_arm = {
1078- let path = make_path_from_text ( "None" ) ;
1078+ let path = make :: ext :: ident_path ( "None" ) ;
10791079 let pat = make:: path_pat ( path) ;
10801080 make:: match_arm ( iter:: once ( pat) , none. make_result_handler ( None ) )
10811081 } ;
@@ -1087,17 +1087,17 @@ impl FlowHandler {
10871087 let err_name = "value" ;
10881088
10891089 let ok_arm = {
1090- let path = make_path_from_text ( "Ok" ) ;
1090+ let path = make :: ext :: ident_path ( "Ok" ) ;
10911091 let value_pat = make:: ident_pat ( make:: name ( ok_name) ) ;
10921092 let pat = make:: tuple_struct_pat ( path, iter:: once ( value_pat. into ( ) ) ) ;
1093- let value = make:: expr_path ( make_path_from_text ( ok_name) ) ;
1093+ let value = make:: expr_path ( make :: ext :: ident_path ( ok_name) ) ;
10941094 make:: match_arm ( iter:: once ( pat. into ( ) ) , value)
10951095 } ;
10961096 let err_arm = {
1097- let path = make_path_from_text ( "Err" ) ;
1097+ let path = make :: ext :: ident_path ( "Err" ) ;
10981098 let value_pat = make:: ident_pat ( make:: name ( err_name) ) ;
10991099 let pat = make:: tuple_struct_pat ( path, iter:: once ( value_pat. into ( ) ) ) ;
1100- let value = make:: expr_path ( make_path_from_text ( err_name) ) ;
1100+ let value = make:: expr_path ( make :: ext :: ident_path ( err_name) ) ;
11011101 make:: match_arm ( iter:: once ( pat. into ( ) ) , err. make_result_handler ( Some ( value) ) )
11021102 } ;
11031103 let arms = make:: match_arm_list ( vec ! [ ok_arm, err_arm] ) ;
@@ -1107,13 +1107,9 @@ impl FlowHandler {
11071107 }
11081108}
11091109
1110- fn make_path_from_text ( text : & str ) -> ast:: Path {
1111- make:: path_unqualified ( make:: path_segment ( make:: name_ref ( text) ) )
1112- }
1113-
11141110fn path_expr_from_local ( ctx : & AssistContext , var : Local ) -> ast:: Expr {
11151111 let name = var. name ( ctx. db ( ) ) . unwrap ( ) . to_string ( ) ;
1116- make:: expr_path ( make_path_from_text ( & name) )
1112+ make:: expr_path ( make :: ext :: ident_path ( & name) )
11171113}
11181114
11191115fn format_function (
@@ -1179,37 +1175,29 @@ fn make_ret_ty(ctx: &AssistContext, module: hir::Module, fun: &Function) -> Opti
11791175 fun_ty. make_ty ( ctx, module)
11801176 }
11811177 FlowHandler :: Try { kind : TryKind :: Option } => {
1182- make:: ty_generic ( make :: name_ref ( "Option" ) , iter :: once ( fun_ty. make_ty ( ctx, module) ) )
1178+ make:: ext :: ty_option ( fun_ty. make_ty ( ctx, module) )
11831179 }
11841180 FlowHandler :: Try { kind : TryKind :: Result { ty : parent_ret_ty } } => {
11851181 let handler_ty = parent_ret_ty
11861182 . type_arguments ( )
11871183 . nth ( 1 )
11881184 . map ( |ty| make_ty ( & ty, ctx, module) )
11891185 . unwrap_or_else ( make:: ty_unit) ;
1190- make:: ty_generic (
1191- make:: name_ref ( "Result" ) ,
1192- vec ! [ fun_ty. make_ty( ctx, module) , handler_ty] ,
1193- )
1186+ make:: ext:: ty_result ( fun_ty. make_ty ( ctx, module) , handler_ty)
11941187 }
1195- FlowHandler :: If { .. } => make:: ty_bool ( ) ,
1188+ FlowHandler :: If { .. } => make:: ext :: ty_bool ( ) ,
11961189 FlowHandler :: IfOption { action } => {
11971190 let handler_ty = action
11981191 . expr_ty ( ctx)
11991192 . map ( |ty| make_ty ( & ty, ctx, module) )
12001193 . unwrap_or_else ( make:: ty_unit) ;
1201- make:: ty_generic ( make:: name_ref ( "Option" ) , iter:: once ( handler_ty) )
1202- }
1203- FlowHandler :: MatchOption { .. } => {
1204- make:: ty_generic ( make:: name_ref ( "Option" ) , iter:: once ( fun_ty. make_ty ( ctx, module) ) )
1194+ make:: ext:: ty_option ( handler_ty)
12051195 }
1196+ FlowHandler :: MatchOption { .. } => make:: ext:: ty_option ( fun_ty. make_ty ( ctx, module) ) ,
12061197 FlowHandler :: MatchResult { err } => {
12071198 let handler_ty =
12081199 err. expr_ty ( ctx) . map ( |ty| make_ty ( & ty, ctx, module) ) . unwrap_or_else ( make:: ty_unit) ;
1209- make:: ty_generic (
1210- make:: name_ref ( "Result" ) ,
1211- vec ! [ fun_ty. make_ty( ctx, module) , handler_ty] ,
1212- )
1200+ make:: ext:: ty_result ( fun_ty. make_ty ( ctx, module) , handler_ty)
12131201 }
12141202 } ;
12151203 Some ( make:: ret_type ( ret_ty) )
@@ -1296,7 +1284,7 @@ fn make_body(
12961284 TryKind :: Option => "Some" ,
12971285 TryKind :: Result { .. } => "Ok" ,
12981286 } ;
1299- let func = make:: expr_path ( make_path_from_text ( constructor) ) ;
1287+ let func = make:: expr_path ( make :: ext :: ident_path ( constructor) ) ;
13001288 let args = make:: arg_list ( iter:: once ( tail_expr) ) ;
13011289 make:: expr_call ( func, args)
13021290 } )
@@ -1306,16 +1294,16 @@ fn make_body(
13061294 with_tail_expr ( block, lit_false. into ( ) )
13071295 }
13081296 FlowHandler :: IfOption { .. } => {
1309- let none = make:: expr_path ( make_path_from_text ( "None" ) ) ;
1297+ let none = make:: expr_path ( make :: ext :: ident_path ( "None" ) ) ;
13101298 with_tail_expr ( block, none)
13111299 }
13121300 FlowHandler :: MatchOption { .. } => map_tail_expr ( block, |tail_expr| {
1313- let some = make:: expr_path ( make_path_from_text ( "Some" ) ) ;
1301+ let some = make:: expr_path ( make :: ext :: ident_path ( "Some" ) ) ;
13141302 let args = make:: arg_list ( iter:: once ( tail_expr) ) ;
13151303 make:: expr_call ( some, args)
13161304 } ) ,
13171305 FlowHandler :: MatchResult { .. } => map_tail_expr ( block, |tail_expr| {
1318- let ok = make:: expr_path ( make_path_from_text ( "Ok" ) ) ;
1306+ let ok = make:: expr_path ( make :: ext :: ident_path ( "Ok" ) ) ;
13191307 let args = make:: arg_list ( iter:: once ( tail_expr) ) ;
13201308 make:: expr_call ( ok, args)
13211309 } ) ,
@@ -1483,13 +1471,13 @@ fn make_rewritten_flow(handler: &FlowHandler, arg_expr: Option<ast::Expr>) -> Op
14831471 FlowHandler :: IfOption { .. } => {
14841472 let expr = arg_expr. unwrap_or_else ( || make:: expr_tuple ( Vec :: new ( ) ) ) ;
14851473 let args = make:: arg_list ( iter:: once ( expr) ) ;
1486- make:: expr_call ( make:: expr_path ( make_path_from_text ( "Some" ) ) , args)
1474+ make:: expr_call ( make:: expr_path ( make :: ext :: ident_path ( "Some" ) ) , args)
14871475 }
1488- FlowHandler :: MatchOption { .. } => make:: expr_path ( make_path_from_text ( "None" ) ) ,
1476+ FlowHandler :: MatchOption { .. } => make:: expr_path ( make :: ext :: ident_path ( "None" ) ) ,
14891477 FlowHandler :: MatchResult { .. } => {
14901478 let expr = arg_expr. unwrap_or_else ( || make:: expr_tuple ( Vec :: new ( ) ) ) ;
14911479 let args = make:: arg_list ( iter:: once ( expr) ) ;
1492- make:: expr_call ( make:: expr_path ( make_path_from_text ( "Err" ) ) , args)
1480+ make:: expr_call ( make:: expr_path ( make :: ext :: ident_path ( "Err" ) ) , args)
14931481 }
14941482 } ;
14951483 Some ( make:: expr_return ( Some ( value) ) . clone_for_update ( ) )
0 commit comments