mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 20:32:10 +00:00
close: #4870 I added the `move_identifier_reference` and `move_member_expression` methods used to take ownership in `ast_builder_impl`. This way can let us get rid of `ast.copy`. Another possible approach is to add `get_expression_owner` to `SimpleAssignmentTarget` and a `get_inner_expression_owner` method to `Expression`. And add an `into_xxxxx` method for `inherit_variants` macro The implementation looks like this ```rs let Some(expression) = self.get_expression_owner() else { return; } match expr.get_inner_expression_owner() { Expression::Identifier(ident) => { *target = self.ctx.ast.simple_assignment_target_from_identifier_reference(ident); } inner_expr @ match_member_expression!(Expression) => { *target = SimpleAssignmentTarget::from( inner_expr.into_member_expression() ); } _ => (), } ``` |
||
|---|---|---|
| .. | ||
| ast_tools | ||
| benchmark | ||
| common | ||
| coverage | ||
| javascript_globals | ||
| lint_rules | ||
| minsize | ||
| prettier_conformance | ||
| rulegen | ||
| transform_conformance | ||
| website | ||