Merge pull request #18551 from ShoyuVanilla/migrate-turbofish-assist

Migrate `add_turbo_fish` to `SyntaxEditor`
This commit is contained in:
Lukas Wirth 2024-12-06 13:44:54 +00:00 committed by GitHub
commit 4b350f2f11
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 77 additions and 24 deletions

View file

@ -133,4 +133,22 @@ impl SyntaxFactory {
ast
}
pub fn turbofish_generic_arg_list(
&self,
args: impl IntoIterator<Item = ast::GenericArg> + Clone,
) -> ast::GenericArgList {
let ast = make::turbofish_generic_arg_list(args.clone()).clone_for_update();
if let Some(mut mapping) = self.mappings() {
let mut builder = SyntaxMappingBuilder::new(ast.syntax().clone());
builder.map_children(
args.into_iter().map(|arg| arg.syntax().clone()),
ast.generic_args().map(|arg| arg.syntax().clone()),
);
builder.finish(&mut mapping);
}
ast
}
}