Update crates/ide_assists/src/handlers/generate_constant.rs

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
This commit is contained in:
龙方淞 2021-10-06 10:06:46 +08:00 committed by GitHub
parent 4d1a4dc0d6
commit fab238adf6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -31,10 +31,9 @@ use syntax::{
// ```
pub(crate) fn generate_constant(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
let statement = ctx.find_node_at_offset::<ast::Stmt>()?;
let arg_list = ctx.find_node_at_offset::<ast::ArgList>()?;
let expr = ctx.find_node_at_offset::<ast::Expr>()?;
let constant_token = ctx.find_node_at_offset::<ast::NameRef>()?;
let expr = constant_token.syntax().ancestors().find_map(ast::Expr::cast)?;
let statement = expr.syntax().ancestors().find_map(ast::Stmt::cast)?;
let ty = ctx.sema.type_of_expr(&expr)?;
let scope = ctx.sema.scope(statement.syntax());
let module = scope.module()?;