add SyntaxEditor::delete_all to migrate utils.rs add_trait_assoc_items_to_impl

This commit is contained in:
Hmikihiro 2025-07-30 00:03:53 +09:00
parent 8611b71459
commit e600060680
3 changed files with 68 additions and 27 deletions

View file

@ -83,6 +83,16 @@ impl SyntaxEditor {
self.changes.push(Change::Replace(element.syntax_element(), None));
}
pub fn delete_all(&mut self, range: RangeInclusive<SyntaxElement>) {
if range.start() == range.end() {
self.delete(range.start());
return;
}
debug_assert!(is_ancestor_or_self_of_element(range.start(), &self.root));
self.changes.push(Change::ReplaceAll(range, Vec::new()))
}
pub fn replace(&mut self, old: impl Element, new: impl Element) {
let old = old.syntax_element();
debug_assert!(is_ancestor_or_self_of_element(&old, &self.root));