From deda6ac1368ed0e759c57ebbbe253140efa14095 Mon Sep 17 00:00:00 2001 From: Dunqing <29533304+Dunqing@users.noreply.github.com> Date: Thu, 22 Aug 2024 08:34:44 +0000 Subject: [PATCH] refactor(transformer/es2019): move all entry points to implementation of Traverse trait (#5065) follow-up #4881 --- crates/oxc_transformer/src/es2019/mod.rs | 12 +++++------- .../src/es2019/optional_catch_binding.rs | 6 ++++-- crates/oxc_transformer/src/lib.rs | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/crates/oxc_transformer/src/es2019/mod.rs b/crates/oxc_transformer/src/es2019/mod.rs index 81ec660d6..c8cbb5224 100644 --- a/crates/oxc_transformer/src/es2019/mod.rs +++ b/crates/oxc_transformer/src/es2019/mod.rs @@ -4,7 +4,7 @@ mod options; pub use optional_catch_binding::OptionalCatchBinding; pub use options::ES2019Options; use oxc_ast::ast::*; -use oxc_traverse::TraverseCtx; +use oxc_traverse::{Traverse, TraverseCtx}; use std::rc::Rc; use crate::context::Ctx; @@ -22,14 +22,12 @@ impl<'a> ES2019<'a> { pub fn new(options: ES2019Options, ctx: Ctx<'a>) -> Self { Self { optional_catch_binding: OptionalCatchBinding::new(Rc::clone(&ctx)), ctx, options } } +} - pub fn transform_catch_clause( - &mut self, - clause: &mut CatchClause<'a>, - ctx: &mut TraverseCtx<'a>, - ) { +impl<'a> Traverse<'a> for ES2019<'a> { + fn enter_catch_clause(&mut self, clause: &mut CatchClause<'a>, ctx: &mut TraverseCtx<'a>) { if self.options.optional_catch_binding { - self.optional_catch_binding.transform_catch_clause(clause, ctx); + self.optional_catch_binding.enter_catch_clause(clause, ctx); } } } diff --git a/crates/oxc_transformer/src/es2019/optional_catch_binding.rs b/crates/oxc_transformer/src/es2019/optional_catch_binding.rs index 03c85e96f..0a78f79a8 100644 --- a/crates/oxc_transformer/src/es2019/optional_catch_binding.rs +++ b/crates/oxc_transformer/src/es2019/optional_catch_binding.rs @@ -37,7 +37,7 @@ use std::cell::Cell; use oxc_ast::ast::*; use oxc_semantic::SymbolFlags; use oxc_span::SPAN; -use oxc_traverse::TraverseCtx; +use oxc_traverse::{Traverse, TraverseCtx}; use crate::context::Ctx; @@ -49,10 +49,12 @@ impl<'a> OptionalCatchBinding<'a> { pub fn new(ctx: Ctx<'a>) -> Self { Self { _ctx: ctx } } +} +impl<'a> Traverse<'a> for OptionalCatchBinding<'a> { /// If CatchClause has no param, add a parameter called `unused`. #[allow(clippy::unused_self)] - pub fn transform_catch_clause(&self, clause: &mut CatchClause<'a>, ctx: &mut TraverseCtx<'a>) { + fn enter_catch_clause(&mut self, clause: &mut CatchClause<'a>, ctx: &mut TraverseCtx<'a>) { if clause.param.is_some() { return; } diff --git a/crates/oxc_transformer/src/lib.rs b/crates/oxc_transformer/src/lib.rs index 851697474..8e17f8bf3 100644 --- a/crates/oxc_transformer/src/lib.rs +++ b/crates/oxc_transformer/src/lib.rs @@ -333,7 +333,7 @@ impl<'a> Traverse<'a> for Transformer<'a> { } fn enter_catch_clause(&mut self, clause: &mut CatchClause<'a>, ctx: &mut TraverseCtx<'a>) { - self.x2_es2019.transform_catch_clause(clause, ctx); + self.x2_es2019.enter_catch_clause(clause, ctx); } fn enter_ts_export_assignment(