mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-29 02:52:11 +00:00
Add take() method to SyntaxEditor
This commit is contained in:
parent
bf0c3944f8
commit
a0b9931832
3 changed files with 20 additions and 25 deletions
|
|
@ -33,6 +33,11 @@ impl SyntaxFactory {
|
|||
self.mappings.unwrap_or_default().into_inner()
|
||||
}
|
||||
|
||||
/// Take all of the tracked syntax mappings, leaving `SyntaxMapping::default()` in its place, if any.
|
||||
pub fn take(&self) -> SyntaxMapping {
|
||||
self.mappings.as_ref().map(|mappings| mappings.take()).unwrap_or_default()
|
||||
}
|
||||
|
||||
fn mappings(&self) -> Option<RefMut<'_, SyntaxMapping>> {
|
||||
self.mappings.as_ref().map(|it| it.borrow_mut())
|
||||
}
|
||||
|
|
|
|||
|
|
@ -331,7 +331,7 @@ impl SyntaxFactory {
|
|||
}
|
||||
|
||||
pub fn expr_paren(&self, expr: ast::Expr) -> ast::ParenExpr {
|
||||
// FIXME: `make::expr_paren` should return a `MethodCallExpr`, not just an `Expr`
|
||||
// FIXME: `make::expr_paren` should return a `ParenExpr`, not just an `Expr`
|
||||
let ast::Expr::ParenExpr(ast) = make::expr_paren(expr.clone()).clone_for_update() else {
|
||||
unreachable!()
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue