@@ -218,14 +218,14 @@ fn generate_getter_from_info(
218218 ctx : & AssistContext < ' _ > ,
219219 info : & AssistInfo ,
220220 record_field_info : & RecordFieldInfo ,
221- syntax_factory : & SyntaxFactory ,
221+ make : & SyntaxFactory ,
222222) -> ast:: Fn {
223223 let ( ty, body) = if matches ! ( info. assist_type, AssistType :: MutGet ) {
224- let self_expr = syntax_factory . expr_path ( syntax_factory . ident_path ( "self" ) ) ;
224+ let self_expr = make . expr_path ( make . ident_path ( "self" ) ) ;
225225 (
226- syntax_factory . ty_ref ( record_field_info. field_ty . clone ( ) , true ) ,
227- syntax_factory . expr_ref (
228- syntax_factory . expr_field ( self_expr, & record_field_info. field_name . text ( ) ) . into ( ) ,
226+ make . ty_ref ( record_field_info. field_ty . clone ( ) , true ) ,
227+ make . expr_ref (
228+ make . expr_field ( self_expr, & record_field_info. field_name . text ( ) ) . into ( ) ,
229229 true ,
230230 ) ,
231231 )
@@ -239,40 +239,39 @@ fn generate_getter_from_info(
239239 . map ( |conversion| {
240240 cov_mark:: hit!( convert_reference_type) ;
241241 (
242- conversion. convert_type ( ctx. db ( ) , module) ,
243- conversion. getter ( record_field_info. field_name . to_string ( ) ) ,
242+ conversion. convert_type_with_factory ( make , ctx. db ( ) , module) ,
243+ conversion. getter ( make , record_field_info. field_name . to_string ( ) ) ,
244244 )
245245 } )
246246 } ) ( )
247247 . unwrap_or_else ( || {
248248 (
249- syntax_factory. ty_ref ( record_field_info. field_ty . clone ( ) , false ) ,
250- syntax_factory. expr_ref (
251- syntax_factory
252- . expr_field (
253- syntax_factory. expr_path ( syntax_factory. ident_path ( "self" ) ) ,
254- & record_field_info. field_name . text ( ) ,
255- )
256- . into ( ) ,
249+ make. ty_ref ( record_field_info. field_ty . clone ( ) , false ) ,
250+ make. expr_ref (
251+ make. expr_field (
252+ make. expr_path ( make. ident_path ( "self" ) ) ,
253+ & record_field_info. field_name . text ( ) ,
254+ )
255+ . into ( ) ,
257256 false ,
258257 ) ,
259258 )
260259 } )
261260 } ;
262261
263262 let self_param = if matches ! ( info. assist_type, AssistType :: MutGet ) {
264- syntax_factory . mut_self_param ( )
263+ make . mut_self_param ( )
265264 } else {
266- syntax_factory . self_param ( )
265+ make . self_param ( )
267266 } ;
268267
269268 let strukt = & info. strukt ;
270- let fn_name = syntax_factory . name ( & record_field_info. fn_name ) ;
271- let params = syntax_factory . param_list ( Some ( self_param) , [ ] ) ;
272- let ret_type = Some ( syntax_factory . ret_type ( ty) ) ;
273- let body = syntax_factory . block_expr ( [ ] , Some ( body) ) ;
269+ let fn_name = make . name ( & record_field_info. fn_name ) ;
270+ let params = make . param_list ( Some ( self_param) , [ ] ) ;
271+ let ret_type = Some ( make . ret_type ( ty) ) ;
272+ let body = make . block_expr ( [ ] , Some ( body) ) ;
274273
275- syntax_factory . fn_ (
274+ make . fn_ (
276275 None ,
277276 strukt. visibility ( ) ,
278277 fn_name,
@@ -291,32 +290,29 @@ fn generate_getter_from_info(
291290fn generate_setter_from_info (
292291 info : & AssistInfo ,
293292 record_field_info : & RecordFieldInfo ,
294- syntax_factory : & SyntaxFactory ,
293+ make : & SyntaxFactory ,
295294) -> ast:: Fn {
296295 let strukt = & info. strukt ;
297296 let field_name = & record_field_info. fn_name ;
298- let fn_name = syntax_factory . name ( & format ! ( "set_{field_name}" ) ) ;
297+ let fn_name = make . name ( & format ! ( "set_{field_name}" ) ) ;
299298 let field_ty = & record_field_info. field_ty ;
300299
301300 // Make the param list
302301 // `(&mut self, $field_name: $field_ty)`
303- let field_param = syntax_factory. param (
304- syntax_factory. ident_pat ( false , false , syntax_factory. name ( field_name) ) . into ( ) ,
305- field_ty. clone ( ) ,
306- ) ;
307- let params = syntax_factory. param_list ( Some ( syntax_factory. mut_self_param ( ) ) , [ field_param] ) ;
302+ let field_param =
303+ make. param ( make. ident_pat ( false , false , make. name ( field_name) ) . into ( ) , field_ty. clone ( ) ) ;
304+ let params = make. param_list ( Some ( make. mut_self_param ( ) ) , [ field_param] ) ;
308305
309306 // Make the assignment body
310307 // `self.$field_name = $field_name`
311- let self_expr = syntax_factory. expr_path ( syntax_factory. ident_path ( "self" ) ) ;
312- let lhs = syntax_factory. expr_field ( self_expr, field_name) ;
313- let rhs = syntax_factory. expr_path ( syntax_factory. ident_path ( field_name) ) ;
314- let assign_stmt =
315- syntax_factory. expr_stmt ( syntax_factory. expr_assignment ( lhs. into ( ) , rhs) . into ( ) ) ;
316- let body = syntax_factory. block_expr ( [ assign_stmt. into ( ) ] , None ) ;
308+ let self_expr = make. expr_path ( make. ident_path ( "self" ) ) ;
309+ let lhs = make. expr_field ( self_expr, field_name) ;
310+ let rhs = make. expr_path ( make. ident_path ( field_name) ) ;
311+ let assign_stmt = make. expr_stmt ( make. expr_assignment ( lhs. into ( ) , rhs) . into ( ) ) ;
312+ let body = make. block_expr ( [ assign_stmt. into ( ) ] , None ) ;
317313
318314 // Make the setter fn
319- syntax_factory . fn_ (
315+ make . fn_ (
320316 None ,
321317 strukt. visibility ( ) ,
322318 fn_name,
0 commit comments