Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit aa8c982

Browse files
committed
Address PR comments
1 parent e62e926 commit aa8c982

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

crates/ide_db/src/rename.rs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ use std::fmt;
2525
use base_db::{AnchoredPathBuf, FileId, FileRange};
2626
use either::Either;
2727
use hir::{AsAssocItem, FieldSource, HasSource, InFile, ModuleSource, Semantics};
28+
use stdx::never;
2829
use syntax::{
2930
ast::{self, HasName},
3031
AstNode, SyntaxKind, TextRange, T,
@@ -187,13 +188,20 @@ fn rename_mod(
187188
source_change.push_file_system_edit(move_file);
188189
}
189190

190-
if let Some(InFile { file_id, value: _ }) = module.declaration_source(sema.db) {
191-
let file_id = file_id.original_file(sema.db);
192-
if let Some(file_range) = Definition::Module(module).range_for_rename(sema) {
193-
source_change.insert_source_edit(
194-
file_id,
195-
TextEdit::replace(file_range.range, new_name.to_string()),
196-
)
191+
if let Some(src) = module.declaration_source(sema.db) {
192+
let file_id = src.file_id.original_file(sema.db);
193+
match src.value.name() {
194+
Some(name) => {
195+
if let Some(file_range) =
196+
src.with_value(name.syntax()).original_file_range_opt(sema.db)
197+
{
198+
source_change.insert_source_edit(
199+
file_id,
200+
TextEdit::replace(file_range.range, new_name.to_string()),
201+
)
202+
};
203+
}
204+
_ => never!("Module source node is missing a name"),
197205
}
198206
}
199207

0 commit comments

Comments
 (0)