Skip to content

Commit 441f048

Browse files
committed
fix: Don't produce ChangedAncestor for SyntaxTokens
1 parent f7642c7 commit 441f048

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

crates/syntax/src/syntax_editor/edit_algo.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,14 @@ pub(super) fn apply_edits(editor: SyntaxEditor) -> SyntaxEdit {
128128

129129
// Add to changed ancestors, if applicable
130130
match change {
131-
Change::Insert(_, _) | Change::InsertAll(_, _) => {}
132-
Change::Replace(target, _) | Change::ReplaceWithMany(target, _) => {
131+
Change::Replace(SyntaxElement::Node(target), _)
132+
| Change::ReplaceWithMany(SyntaxElement::Node(target), _) => {
133133
changed_ancestors.push_back(ChangedAncestor::single(target, change_index))
134134
}
135135
Change::ReplaceAll(range, _) => {
136136
changed_ancestors.push_back(ChangedAncestor::multiple(range, change_index))
137137
}
138+
_ => (),
138139
}
139140
}
140141

@@ -304,13 +305,8 @@ enum ChangedAncestorKind {
304305
}
305306

306307
impl ChangedAncestor {
307-
fn single(element: &SyntaxElement, change_index: usize) -> Self {
308-
let kind = match element {
309-
SyntaxElement::Node(node) => ChangedAncestorKind::Single { node: node.clone() },
310-
SyntaxElement::Token(token) => {
311-
ChangedAncestorKind::Single { node: token.parent().unwrap() }
312-
}
313-
};
308+
fn single(node: &SyntaxNode, change_index: usize) -> Self {
309+
let kind = ChangedAncestorKind::Single { node: node.clone() };
314310

315311
Self { kind, change_index }
316312
}

0 commit comments

Comments
 (0)