mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Rename assist: convert_ufcs_to_method
=> unqualify_method_call
This commit is contained in:
parent
44c84a8d28
commit
c782353a90
@ -5,7 +5,7 @@ use syntax::{
|
||||
|
||||
use crate::{AssistContext, AssistId, AssistKind, Assists};
|
||||
|
||||
// Assist: convert_ufcs_to_method
|
||||
// Assist: unqualify_method_call
|
||||
//
|
||||
// Transforms universal function call syntax into a method call.
|
||||
//
|
||||
@ -22,7 +22,7 @@ use crate::{AssistContext, AssistId, AssistKind, Assists};
|
||||
// }
|
||||
// # mod std { pub mod ops { pub trait Add { fn add(self, _: Self) {} } impl Add for i32 {} } }
|
||||
// ```
|
||||
pub(crate) fn convert_ufcs_to_method(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> {
|
||||
pub(crate) fn unqualify_method_call(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> {
|
||||
let call = ctx.find_node_at_offset::<ast::CallExpr>()?;
|
||||
let ast::Expr::PathExpr(path_expr) = call.expr()? else { return None };
|
||||
let path = path_expr.path()?;
|
||||
@ -66,8 +66,8 @@ pub(crate) fn convert_ufcs_to_method(acc: &mut Assists, ctx: &AssistContext<'_>)
|
||||
);
|
||||
|
||||
acc.add(
|
||||
AssistId("convert_ufcs_to_method", AssistKind::RefactorRewrite),
|
||||
"Convert UFCS to a method call",
|
||||
AssistId("unqualify_method_call", AssistKind::RefactorRewrite),
|
||||
"Unqualify method call",
|
||||
call.syntax().text_range(),
|
||||
|edit| {
|
||||
edit.delete(delete_path);
|
||||
@ -105,9 +105,9 @@ mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn ufcs2method_simple() {
|
||||
fn unqualify_method_call_simple() {
|
||||
check_assist(
|
||||
convert_ufcs_to_method,
|
||||
unqualify_method_call,
|
||||
r#"
|
||||
struct S;
|
||||
impl S { fn f(self, S: S) {} }
|
||||
@ -120,9 +120,9 @@ fn f() { S.f(S); }"#,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ufcs2method_trait() {
|
||||
fn unqualify_method_call_trait() {
|
||||
check_assist(
|
||||
convert_ufcs_to_method,
|
||||
unqualify_method_call,
|
||||
r#"
|
||||
//- minicore: add
|
||||
fn f() { <u32 as core::ops::Add>::$0add(2, 2); }"#,
|
||||
@ -131,7 +131,7 @@ fn f() { 2.add(2); }"#,
|
||||
);
|
||||
|
||||
check_assist(
|
||||
convert_ufcs_to_method,
|
||||
unqualify_method_call,
|
||||
r#"
|
||||
//- minicore: add
|
||||
fn f() { core::ops::Add::$0add(2, 2); }"#,
|
||||
@ -140,7 +140,7 @@ fn f() { 2.add(2); }"#,
|
||||
);
|
||||
|
||||
check_assist(
|
||||
convert_ufcs_to_method,
|
||||
unqualify_method_call,
|
||||
r#"
|
||||
//- minicore: add
|
||||
use core::ops::Add;
|
||||
@ -152,9 +152,9 @@ fn f() { 2.add(2); }"#,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ufcs2method_single_arg() {
|
||||
fn unqualify_method_call_single_arg() {
|
||||
check_assist(
|
||||
convert_ufcs_to_method,
|
||||
unqualify_method_call,
|
||||
r#"
|
||||
struct S;
|
||||
impl S { fn f(self) {} }
|
||||
@ -167,9 +167,9 @@ fn f() { 2.add(2); }"#,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ufcs2method_parens() {
|
||||
fn unqualify_method_call_parens() {
|
||||
check_assist(
|
||||
convert_ufcs_to_method,
|
||||
unqualify_method_call,
|
||||
r#"
|
||||
//- minicore: deref
|
||||
struct S;
|
||||
@ -189,9 +189,9 @@ fn f() { (&S).deref(); }"#,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ufcs2method_doesnt_apply_with_cursor_not_on_path() {
|
||||
fn unqualify_method_call_doesnt_apply_with_cursor_not_on_path() {
|
||||
check_assist_not_applicable(
|
||||
convert_ufcs_to_method,
|
||||
unqualify_method_call,
|
||||
r#"
|
||||
//- minicore: add
|
||||
fn f() { core::ops::Add::add(2,$0 2); }"#,
|
||||
@ -199,9 +199,9 @@ fn f() { core::ops::Add::add(2,$0 2); }"#,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ufcs2method_doesnt_apply_with_no_self() {
|
||||
fn unqualify_method_call_doesnt_apply_with_no_self() {
|
||||
check_assist_not_applicable(
|
||||
convert_ufcs_to_method,
|
||||
unqualify_method_call,
|
||||
r#"
|
||||
struct S;
|
||||
impl S { fn assoc(S: S, S: S) {} }
|
@ -126,7 +126,6 @@ mod handlers {
|
||||
mod convert_to_guarded_return;
|
||||
mod convert_two_arm_bool_match_to_matches_macro;
|
||||
mod convert_while_to_loop;
|
||||
mod convert_ufcs_to_method;
|
||||
mod destructure_tuple_binding;
|
||||
mod expand_glob_import;
|
||||
mod extract_expressions_from_format_string;
|
||||
@ -202,6 +201,7 @@ mod handlers {
|
||||
mod unnecessary_async;
|
||||
mod unwrap_block;
|
||||
mod unwrap_result_return_type;
|
||||
mod unqualify_method_call;
|
||||
mod wrap_return_type_in_result;
|
||||
|
||||
pub(crate) fn all() -> &'static [Handler] {
|
||||
@ -219,7 +219,6 @@ mod handlers {
|
||||
convert_bool_then::convert_bool_then_to_if,
|
||||
convert_bool_then::convert_if_to_bool_then,
|
||||
convert_comment_block::convert_comment_block,
|
||||
convert_ufcs_to_method::convert_ufcs_to_method,
|
||||
convert_integer_literal::convert_integer_literal,
|
||||
convert_into_to_from::convert_into_to_from,
|
||||
convert_iter_for_each_to_for::convert_iter_for_each_to_for,
|
||||
@ -308,6 +307,7 @@ mod handlers {
|
||||
unwrap_block::unwrap_block,
|
||||
unwrap_result_return_type::unwrap_result_return_type,
|
||||
unwrap_tuple::unwrap_tuple,
|
||||
unqualify_method_call::unqualify_method_call,
|
||||
wrap_return_type_in_result::wrap_return_type_in_result,
|
||||
// These are manually sorted for better priorities. By default,
|
||||
// priority is determined by the size of the target range (smaller
|
||||
|
@ -554,25 +554,6 @@ fn main() {
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn doctest_convert_ufcs_to_method() {
|
||||
check_doc_test(
|
||||
"convert_ufcs_to_method",
|
||||
r#####"
|
||||
fn main() {
|
||||
std::ops::Add::add$0(1, 2);
|
||||
}
|
||||
mod std { pub mod ops { pub trait Add { fn add(self, _: Self) {} } impl Add for i32 {} } }
|
||||
"#####,
|
||||
r#####"
|
||||
fn main() {
|
||||
1.add(2);
|
||||
}
|
||||
mod std { pub mod ops { pub trait Add { fn add(self, _: Self) {} } impl Add for i32 {} } }
|
||||
"#####,
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn doctest_convert_while_to_loop() {
|
||||
check_doc_test(
|
||||
@ -2552,6 +2533,25 @@ pub async fn bar() { foo() }
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn doctest_unqualify_method_call() {
|
||||
check_doc_test(
|
||||
"unqualify_method_call",
|
||||
r#####"
|
||||
fn main() {
|
||||
std::ops::Add::add$0(1, 2);
|
||||
}
|
||||
mod std { pub mod ops { pub trait Add { fn add(self, _: Self) {} } impl Add for i32 {} } }
|
||||
"#####,
|
||||
r#####"
|
||||
fn main() {
|
||||
1.add(2);
|
||||
}
|
||||
mod std { pub mod ops { pub trait Add { fn add(self, _: Self) {} } impl Add for i32 {} } }
|
||||
"#####,
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn doctest_unwrap_block() {
|
||||
check_doc_test(
|
||||
|
Loading…
Reference in New Issue
Block a user