diff options
| author | Dorian Scheidt <dorian.scheidt@gmail.com> | 2022-08-18 18:20:06 -0500 |
|---|---|---|
| committer | Dorian Scheidt <dorian.scheidt@gmail.com> | 2022-08-18 18:20:06 -0500 |
| commit | e513d7b5049092c3797cc30e13d658efb11ad17a (patch) | |
| tree | 72498fe758e31958e8827ca6b835bb9b3e092f75 | |
| parent | 30eabeb95d047b91268a70c5170b6374c6bab622 (diff) | |
| download | rust-e513d7b5049092c3797cc30e13d658efb11ad17a.tar.gz rust-e513d7b5049092c3797cc30e13d658efb11ad17a.zip | |
Replace tuple with TargetInfo struct
| -rw-r--r-- | crates/ide-assists/src/handlers/generate_function.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/crates/ide-assists/src/handlers/generate_function.rs b/crates/ide-assists/src/handlers/generate_function.rs index ba8bfe0c19b..dee5fea2330 100644 --- a/crates/ide-assists/src/handlers/generate_function.rs +++ b/crates/ide-assists/src/handlers/generate_function.rs @@ -61,7 +61,7 @@ fn gen_fn(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> { } let fn_name = &*name_ref.text(); - let (target_module, adt_name, target, file, insert_offset) = + let TargetInfo { target_module, adt_name, target, file, insert_offset } = fn_target_info(path, ctx, &call, fn_name)?; let function_builder = FunctionBuilder::from_call(ctx, &call, fn_name, target_module, target)?; let text_range = call.syntax().text_range(); @@ -78,12 +78,20 @@ fn gen_fn(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> { ) } +struct TargetInfo { + target_module: Option<Module>, + adt_name: Option<hir::Name>, + target: GeneratedFunctionTarget, + file: FileId, + insert_offset: TextSize, +} + fn fn_target_info( path: ast::Path, ctx: &AssistContext<'_>, call: &CallExpr, fn_name: &str, -) -> Option<(Option<Module>, Option<hir::Name>, GeneratedFunctionTarget, FileId, TextSize)> { +) -> Option<TargetInfo> { let mut target_module = None; let mut adt_name = None; let (target, file, insert_offset) = match path.qualifier() { @@ -115,7 +123,7 @@ fn fn_target_info( get_fn_target(ctx, &target_module, call.clone())? } }; - Some((target_module, adt_name, target, file, insert_offset)) + Some(TargetInfo { target_module, adt_name, target, file, insert_offset }) } fn gen_method(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> { |
