Skip to content

Commit

Permalink
Partial revert
Browse files Browse the repository at this point in the history
  • Loading branch information
kdy1 committed Jul 18, 2024
1 parent fb3eabe commit 07ce20e
Show file tree
Hide file tree
Showing 57 changed files with 211 additions and 115 deletions.
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/hoist_decls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use swc_common::{collections::AHashSet, pass::Repeated, util::take::Take, DUMMY_
use swc_ecma_ast::*;
use swc_ecma_usage_analyzer::analyzer::UsageAnalyzer;
use swc_ecma_utils::{find_pat_ids, StmtLike};
use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith, VisitWith};
use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith, VisitWith};

use super::util::drop_invalid_stmts;
use crate::{
Expand Down Expand Up @@ -279,7 +279,7 @@ impl Hoister<'_> {
}

impl VisitMut for Hoister<'_> {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_module_items(&mut self, stmts: &mut Vec<ModuleItem>) {
self.handle_stmt_likes(stmts);
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use swc_ecma_transforms_optimization::simplify::{
dead_branch_remover, expr_simplifier, ExprSimplifierConfig,
};
use swc_ecma_usage_analyzer::{analyzer::UsageAnalyzer, marks::Marks};
use swc_ecma_visit::{as_folder, standard_only_visit_mut, VisitMut, VisitMutWith, VisitWith};
use swc_ecma_visit::{as_folder, noop_visit_mut_type, VisitMut, VisitMutWith, VisitWith};
use swc_timer::timer;
use tracing::{debug, error};

Expand Down Expand Up @@ -325,7 +325,7 @@ impl Compressor<'_> {
}

impl VisitMut for Compressor<'_> {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_script(&mut self, n: &mut Script) {
self.optimize_unit_repeatedly(n);
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/optimize/arguments.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::iter::repeat_with;
use swc_common::{util::take::Take, DUMMY_SP};
use swc_ecma_ast::*;
use swc_ecma_utils::{find_pat_ids, is_valid_prop_ident, private_ident};
use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith};
use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith};

use super::Optimizer;
use crate::compress::optimize::is_left_access_to_arguments;
Expand Down Expand Up @@ -146,7 +146,7 @@ impl ArgReplacer<'_> {
}

impl VisitMut for ArgReplacer<'_> {
standard_only_visit_mut!();
noop_visit_mut_type!();

/// Noop.
fn visit_mut_arrow_expr(&mut self, _: &mut ArrowExpr) {}
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/optimize/if_return.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use swc_common::{util::take::Take, Spanned, DUMMY_SP};
use swc_ecma_ast::*;
use swc_ecma_transforms_optimization::debug_assert_valid;
use swc_ecma_utils::{StmtExt, StmtLike};
use swc_ecma_visit::{standard_only_visit, Visit, VisitWith};
use swc_ecma_visit::{noop_visit_type, Visit, VisitWith};

use super::Optimizer;
#[cfg(feature = "debug")]
Expand Down Expand Up @@ -529,7 +529,7 @@ pub(super) struct ReturnFinder {
}

impl Visit for ReturnFinder {
standard_only_visit!();
noop_visit_type!();

fn visit_return_stmt(&mut self, n: &ReturnStmt) {
n.visit_children_with(self);
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/optimize/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use swc_ecma_usage_analyzer::{analyzer::UsageAnalyzer, marks::Marks};
use swc_ecma_utils::{
prepend_stmts, ExprCtx, ExprExt, ExprFactory, IsEmpty, ModuleItemLike, StmtLike, Type, Value,
};
use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith, VisitWith};
use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith, VisitWith};
#[cfg(feature = "debug")]
use tracing::{debug, span, Level};
use Value::Known;
Expand Down Expand Up @@ -1497,7 +1497,7 @@ impl Optimizer<'_> {
}

impl VisitMut for Optimizer<'_> {
standard_only_visit_mut!();
noop_visit_mut_type!();

#[cfg_attr(feature = "debug", tracing::instrument(skip_all))]
fn visit_mut_arrow_expr(&mut self, n: &mut ArrowExpr) {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/optimize/sequences.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use swc_ecma_usage_analyzer::{
use swc_ecma_utils::{
contains_arguments, contains_this_expr, prepend_stmts, ExprExt, IdentUsageFinder, StmtLike,
};
use swc_ecma_visit::{standard_only_visit, Visit, VisitWith};
use swc_ecma_visit::{noop_visit_type, Visit, VisitWith};
#[cfg(feature = "debug")]
use tracing::{span, Level};

Expand Down Expand Up @@ -2597,7 +2597,7 @@ struct UsageCounter<'a> {
}

impl Visit for UsageCounter<'_> {
standard_only_visit!();
noop_visit_type!();

fn visit_ident(&mut self, i: &Ident) {
if self.target.sym == i.sym && self.target.ctxt == i.ctxt {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/optimize/switches.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use swc_common::{util::take::Take, EqIgnoreSpan, Spanned, SyntaxContext, DUMMY_SP};
use swc_ecma_ast::*;
use swc_ecma_utils::{prepend_stmt, ExprExt, ExprFactory, StmtExt};
use swc_ecma_visit::{standard_only_visit, Visit, VisitWith};
use swc_ecma_visit::{noop_visit_type, Visit, VisitWith};

use super::Optimizer;
use crate::{compress::util::is_primitive, util::idents_used_by};
Expand Down Expand Up @@ -560,7 +560,7 @@ struct BreakFinder {
}

impl Visit for BreakFinder {
standard_only_visit!();
noop_visit_type!();

fn visit_break_stmt(&mut self, s: &BreakStmt) {
if !self.top_level && s.label.is_none() {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/optimize/unused.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use swc_common::{util::take::Take, DUMMY_SP};
use swc_ecma_ast::*;
use swc_ecma_usage_analyzer::util::is_global_var_with_pure_property_access;
use swc_ecma_utils::{contains_ident_ref, contains_this_expr, ExprExt};
use swc_ecma_visit::{standard_only_visit, Visit, VisitWith};
use swc_ecma_visit::{noop_visit_type, Visit, VisitWith};

use super::Optimizer;
#[cfg(feature = "debug")]
Expand Down Expand Up @@ -942,7 +942,7 @@ struct ThisPropertyVisitor {
}

impl Visit for ThisPropertyVisitor {
standard_only_visit!();
noop_visit_type!();

fn visit_assign_expr(&mut self, e: &AssignExpr) {
if self.should_abort {
Expand Down
8 changes: 4 additions & 4 deletions crates/swc_ecma_minifier/src/compress/optimize/util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use swc_common::{collections::AHashSet, util::take::Take, Mark, SyntaxContext, D
use swc_ecma_ast::*;
use swc_ecma_transforms_base::perf::{Parallel, ParallelExt};
use swc_ecma_utils::{collect_decls, ExprCtx, ExprExt, Remapper};
use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith};
use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith};
use tracing::debug;

use super::{Ctx, Optimizer};
Expand Down Expand Up @@ -307,7 +307,7 @@ enum FinalizerMode {
}

impl VisitMut for Finalizer<'_> {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_callee(&mut self, e: &mut Callee) {
e.visit_mut_children_with(self);
Expand Down Expand Up @@ -483,7 +483,7 @@ impl<'a> NormalMultiReplacer<'a> {
}

impl VisitMut for NormalMultiReplacer<'_> {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_expr(&mut self, e: &mut Expr) {
if self.vars.is_empty() {
Expand Down Expand Up @@ -568,7 +568,7 @@ impl ExprReplacer {
}

impl VisitMut for ExprReplacer {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_expr(&mut self, e: &mut Expr) {
e.visit_mut_children_with(self);
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/pure/dead_code.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use rayon::prelude::*;
use swc_common::{util::take::Take, EqIgnoreSpan, Spanned, DUMMY_SP};
use swc_ecma_ast::*;
use swc_ecma_utils::{extract_var_ids, ExprCtx, ExprExt, StmtExt, StmtLike, Value};
use swc_ecma_visit::{standard_only_visit, Visit, VisitWith};
use swc_ecma_visit::{noop_visit_type, Visit, VisitWith};

use super::Pure;
use crate::{compress::util::is_fine_for_if_cons, maybe_par, util::ModuleItemExt};
Expand Down Expand Up @@ -610,7 +610,7 @@ struct LabelFinder<'a> {
found: bool,
}
impl Visit for LabelFinder<'_> {
standard_only_visit!();
noop_visit_type!();

fn visit_break_stmt(&mut self, s: &BreakStmt) {
match &s.label {
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/pure/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use swc_ecma_ast::*;
use swc_ecma_transforms_optimization::debug_assert_valid;
use swc_ecma_usage_analyzer::marks::Marks;
use swc_ecma_utils::ExprCtx;
use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith, VisitWith};
use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith, VisitWith};
#[cfg(feature = "debug")]
use tracing::{debug, span, Level};

Expand Down Expand Up @@ -254,7 +254,7 @@ impl Pure<'_> {
}

impl VisitMut for Pure<'_> {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_assign_expr(&mut self, e: &mut AssignExpr) {
{
Expand Down
8 changes: 4 additions & 4 deletions crates/swc_ecma_minifier/src/compress/pure/vars.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use swc_common::{util::take::Take, DUMMY_SP};
use swc_ecma_ast::*;
use swc_ecma_utils::{prepend_stmt, StmtLike};
use swc_ecma_visit::{
standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, VisitWith,
noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith,
};

use super::Pure;
Expand Down Expand Up @@ -300,7 +300,7 @@ pub(super) struct VarWithOutInitCounter {
}

impl Visit for VarWithOutInitCounter {
standard_only_visit!();
noop_visit_type!();

fn visit_arrow_expr(&mut self, _: &ArrowExpr) {}

Expand Down Expand Up @@ -368,7 +368,7 @@ pub(super) struct VarMover {
}

impl VisitMut for VarMover {
standard_only_visit_mut!();
noop_visit_mut_type!();

/// Noop
fn visit_mut_arrow_expr(&mut self, _: &mut ArrowExpr) {}
Expand Down Expand Up @@ -486,7 +486,7 @@ pub(super) struct VarPrepender {
}

impl VisitMut for VarPrepender {
standard_only_visit_mut!();
noop_visit_mut_type!();

/// Noop
fn visit_mut_arrow_expr(&mut self, _: &mut ArrowExpr) {}
Expand Down
8 changes: 4 additions & 4 deletions crates/swc_ecma_minifier/src/compress/util/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use swc_ecma_utils::{number::JsNumber, ExprCtx, ExprExt, IdentUsageFinder, Value
#[cfg(feature = "debug")]
use swc_ecma_visit::{as_folder, FoldWith};
use swc_ecma_visit::{
standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, VisitWith,
noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith,
};

#[cfg(feature = "debug")]
Expand Down Expand Up @@ -568,7 +568,7 @@ impl<F> VisitMut for ExprReplacer<F>
where
F: FnMut(&mut Expr),
{
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_expr(&mut self, e: &mut Expr) {
e.visit_mut_children_with(self);
Expand Down Expand Up @@ -687,7 +687,7 @@ impl UnreachableHandler {
}

impl VisitMut for UnreachableHandler {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_arrow_expr(&mut self, _: &mut ArrowExpr) {}

Expand Down Expand Up @@ -737,7 +737,7 @@ pub struct SuperFinder {
}

impl Visit for SuperFinder {
standard_only_visit!();
noop_visit_type!();

/// Don't recurse into constructor
fn visit_constructor(&mut self, _: &Constructor) {}
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/compress/util/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ use swc_ecma_ast::*;
use swc_ecma_parser::parse_file_as_expr;
use swc_ecma_transforms_base::fixer::fixer;
use swc_ecma_utils::ExprCtx;
use swc_ecma_visit::{standard_only_visit_mut, FoldWith, VisitMut, VisitMutWith};
use swc_ecma_visit::{noop_visit_mut_type, FoldWith, VisitMut, VisitMutWith};
use tracing::{info, warn};

use super::negate_cost;
use crate::{compress::util::negate, debug::dump};

struct UnwrapParen;
impl VisitMut for UnwrapParen {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_expr(&mut self, e: &mut Expr) {
e.visit_mut_children_with(self);
Expand Down
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/debug.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ use swc_ecma_codegen::{text_writer::JsWriter, Emitter};
use swc_ecma_transforms_base::{fixer::fixer, hygiene::hygiene};
pub use swc_ecma_transforms_optimization::{debug_assert_valid, AssertValid};
use swc_ecma_utils::{drop_span, DropSpan};
use swc_ecma_visit::{standard_only_visit_mut, FoldWith, VisitMut, VisitMutWith};
use swc_ecma_visit::{noop_visit_mut_type, FoldWith, VisitMut, VisitMutWith};
use tracing::debug;

pub(crate) struct Debugger {}

impl VisitMut for Debugger {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_ident(&mut self, n: &mut Ident) {
if !cfg!(feature = "debug") {
Expand Down
3 changes: 2 additions & 1 deletion crates/swc_ecma_minifier/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ use crate::{
mode::{Minification, Mode},
option::{CompressOptions, ExtraOptions, MinifyOptions},
pass::{
expand_names::name_expander,
global_defs,
mangle_names::{idents_to_preserve, name_mangler},
mangle_props::mangle_properties,
Expand Down Expand Up @@ -171,7 +172,7 @@ pub fn optimize(
if options.rename && DISABLE_BUGGY_PASSES {
// toplevel.figure_out_scope(options.mangle);
// TODO: Pass `options.mangle` to name expander.
// n.visit_mut_with(&mut name_expander());
n.visit_mut_with(&mut name_expander());
}

if let Some(ref mut t) = timings {
Expand Down
6 changes: 3 additions & 3 deletions crates/swc_ecma_minifier/src/metadata/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use swc_ecma_ast::*;
use swc_ecma_usage_analyzer::marks::Marks;
use swc_ecma_utils::NodeIgnoringSpan;
use swc_ecma_visit::{
standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, VisitWith,
noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith,
};

use crate::option::CompressOptions;
Expand Down Expand Up @@ -91,7 +91,7 @@ impl InfoMarker<'_> {
}

impl VisitMut for InfoMarker<'_> {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_call_expr(&mut self, n: &mut CallExpr) {
n.visit_mut_children_with(self);
Expand Down Expand Up @@ -234,7 +234,7 @@ struct InfoCollector<'a> {
}

impl Visit for InfoCollector<'_> {
standard_only_visit!();
noop_visit_type!();

fn visit_export_decl(&mut self, f: &ExportDecl) {
f.visit_children_with(self);
Expand Down
15 changes: 15 additions & 0 deletions crates/swc_ecma_minifier/src/pass/expand_names.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
use swc_ecma_visit::{noop_visit_mut_type, VisitMut};

/// Currently noop.
///
/// See: https://github.com/terser/terser/blob/0c5fde1f6951c70b2dfc91f6960dfedbf0e84fef/lib/minify.js#L177-L182
pub fn name_expander() -> impl VisitMut {
Expander {}
}

#[derive(Debug)]
struct Expander {}

impl VisitMut for Expander {
noop_visit_mut_type!();
}
4 changes: 2 additions & 2 deletions crates/swc_ecma_minifier/src/pass/global_defs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::borrow::Cow;

use swc_common::{pass::CompilerPass, EqIgnoreSpan, Mark, SyntaxContext};
use swc_ecma_ast::*;
use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith};
use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith};

pub fn globals_defs(
defs: Vec<(Box<Expr>, Box<Expr>)>,
Expand Down Expand Up @@ -35,7 +35,7 @@ impl CompilerPass for GlobalDefs {

/// We use [VisitMut] instead of [swc_ecma_visit::Fold] because it's faster.
impl VisitMut for GlobalDefs {
standard_only_visit_mut!();
noop_visit_mut_type!();

fn visit_mut_assign_expr(&mut self, n: &mut AssignExpr) {
let old = self.in_lhs_of_assign;
Expand Down
Loading

0 comments on commit 07ce20e

Please sign in to comment.