diff --git a/rewriter/rewriter/src/changes.rs b/rewriter/rewriter/src/changes.rs index 7a59438..3b48d8a 100644 --- a/rewriter/rewriter/src/changes.rs +++ b/rewriter/rewriter/src/changes.rs @@ -30,6 +30,8 @@ pub(crate) enum Rewrite { span: Span, }, + // dead code only if debug is disabled + #[allow(dead_code)] /// `$scramerr(name)` ScramErr { span: Span, @@ -288,13 +290,13 @@ impl JsChange { "*/" ], }, - Self::ImportFn { span } => JsChangeInner::Replace { + Self::ImportFn { .. } => JsChangeInner::Replace { str: smallvec!["(", cfg.importfn.as_str(), "(\"", cfg.base.as_str(), "\")"], }, - Self::MetaFn { span } => JsChangeInner::Replace { + Self::MetaFn { .. } => JsChangeInner::Replace { str: smallvec![cfg.metafn.as_str(), "(\"", cfg.base.as_str()], }, - Self::AssignmentLeft { span, name, op } => JsChangeInner::Replace { + Self::AssignmentLeft { name, op, .. } => JsChangeInner::Replace { str: smallvec![ "((t)=>$scramjet$tryset(", name.as_str(), @@ -306,7 +308,7 @@ impl JsChange { "t))(" ], }, - Self::ReplaceClosingParen { span } => JsChangeInner::Replace { + Self::ReplaceClosingParen { .. } => JsChangeInner::Replace { str: smallvec![")"], }, Self::ClosingParen { span, semi } => JsChangeInner::Insert { @@ -321,10 +323,10 @@ impl JsChange { loc: span.start, str: smallvec!["))"], }, - Self::Replace { span, text } => JsChangeInner::Replace { + Self::Replace { text, .. } => JsChangeInner::Replace { str: smallvec![text.as_str()], }, - Self::Delete { span } => JsChangeInner::Replace { str: smallvec![""] }, + Self::Delete { .. } => JsChangeInner::Replace { str: smallvec![""] }, } } } @@ -354,7 +356,7 @@ pub(crate) struct JsChangeResult { } pub(crate) struct JsChanges { - pub inner: Vec, + inner: Vec, } impl JsChanges { @@ -363,7 +365,7 @@ impl JsChanges { } pub fn add(&mut self, change: Rewrite) { - self.inner.extend(change.into_inner().into_iter()); + self.inner.extend(change.into_inner()); } pub fn perform(&mut self, js: &str, cfg: &Config) -> Result @@ -376,8 +378,7 @@ impl JsChanges { macro_rules! tryget { ($range:expr) => { - js.get($range) - .ok_or_else(|| RewriterError::Oob($range))? + js.get($range).ok_or_else(|| RewriterError::Oob($range))? }; } @@ -414,11 +415,7 @@ impl JsChanges { } let js_len = js.len(); - buffer.extend_from_slice( - js.get(offset..js_len) - .ok_or_else(|| RewriterError::Oob(offset..js_len))? - .as_bytes(), - ); + buffer.extend_from_slice(tryget!(offset..js_len).as_bytes()); Ok(JsChangeResult { js: buffer, diff --git a/rewriter/rewriter/src/visitor.rs b/rewriter/rewriter/src/visitor.rs index fbf851c..be9bd2b 100644 --- a/rewriter/rewriter/src/visitor.rs +++ b/rewriter/rewriter/src/visitor.rs @@ -15,7 +15,7 @@ use oxc::{ use crate::{ cfg::Config, - changes::{Rewrite, JsChanges}, + changes::{JsChanges, Rewrite}, }; // js MUST not be able to get a reference to any of these because sbx @@ -77,8 +77,7 @@ where } { return true; } - // TODO: WE SHOULD PROBABLY WALK THE REST OF THE TREE - // walk::walk_expression(self, it); + walk::walk_expression(self, it); false } @@ -248,17 +247,14 @@ where fn visit_object_expression(&mut self, it: &ObjectExpression<'a>) { for prop in &it.properties { if let ObjectPropertyKind::ObjectProperty(p) = prop { - match &p.value { - Expression::Identifier(s) => { - if UNSAFE_GLOBALS.contains(&s.name.to_string().as_str()) && p.shorthand { - self.jschanges.add(Rewrite::ShorthandObj { - span: s.span, - name: s.name.to_compact_str(), - }); - return; - } + if let Expression::Identifier(s) = &p.value { + if UNSAFE_GLOBALS.contains(&s.name.to_string().as_str()) && p.shorthand { + self.jschanges.add(Rewrite::ShorthandObj { + span: s.span, + name: s.name.to_compact_str(), + }); + return; } - _ => {} } } }