clippy fixes and walk more of the tree

This commit is contained in:
Toshit Chawda 2024-12-13 20:51:58 -08:00
parent 174375be1b
commit 8fe0d895f0
No known key found for this signature in database
GPG key ID: 91480ED99E2B3D9D
2 changed files with 21 additions and 28 deletions

View file

@ -30,6 +30,8 @@ pub(crate) enum Rewrite {
span: Span, span: Span,
}, },
// dead code only if debug is disabled
#[allow(dead_code)]
/// `$scramerr(name)` /// `$scramerr(name)`
ScramErr { ScramErr {
span: Span, 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(), "\")"], 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()], 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![ str: smallvec![
"((t)=>$scramjet$tryset(", "((t)=>$scramjet$tryset(",
name.as_str(), name.as_str(),
@ -306,7 +308,7 @@ impl JsChange {
"t))(" "t))("
], ],
}, },
Self::ReplaceClosingParen { span } => JsChangeInner::Replace { Self::ReplaceClosingParen { .. } => JsChangeInner::Replace {
str: smallvec![")"], str: smallvec![")"],
}, },
Self::ClosingParen { span, semi } => JsChangeInner::Insert { Self::ClosingParen { span, semi } => JsChangeInner::Insert {
@ -321,10 +323,10 @@ impl JsChange {
loc: span.start, loc: span.start,
str: smallvec!["))"], str: smallvec!["))"],
}, },
Self::Replace { span, text } => JsChangeInner::Replace { Self::Replace { text, .. } => JsChangeInner::Replace {
str: smallvec![text.as_str()], 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(crate) struct JsChanges {
pub inner: Vec<JsChange>, inner: Vec<JsChange>,
} }
impl JsChanges { impl JsChanges {
@ -363,7 +365,7 @@ impl JsChanges {
} }
pub fn add(&mut self, change: Rewrite) { pub fn add(&mut self, change: Rewrite) {
self.inner.extend(change.into_inner().into_iter()); self.inner.extend(change.into_inner());
} }
pub fn perform<E>(&mut self, js: &str, cfg: &Config<E>) -> Result<JsChangeResult, RewriterError> pub fn perform<E>(&mut self, js: &str, cfg: &Config<E>) -> Result<JsChangeResult, RewriterError>
@ -376,8 +378,7 @@ impl JsChanges {
macro_rules! tryget { macro_rules! tryget {
($range:expr) => { ($range:expr) => {
js.get($range) js.get($range).ok_or_else(|| RewriterError::Oob($range))?
.ok_or_else(|| RewriterError::Oob($range))?
}; };
} }
@ -414,11 +415,7 @@ impl JsChanges {
} }
let js_len = js.len(); let js_len = js.len();
buffer.extend_from_slice( buffer.extend_from_slice(tryget!(offset..js_len).as_bytes());
js.get(offset..js_len)
.ok_or_else(|| RewriterError::Oob(offset..js_len))?
.as_bytes(),
);
Ok(JsChangeResult { Ok(JsChangeResult {
js: buffer, js: buffer,

View file

@ -15,7 +15,7 @@ use oxc::{
use crate::{ use crate::{
cfg::Config, cfg::Config,
changes::{Rewrite, JsChanges}, changes::{JsChanges, Rewrite},
}; };
// js MUST not be able to get a reference to any of these because sbx // js MUST not be able to get a reference to any of these because sbx
@ -77,8 +77,7 @@ where
} { } {
return true; return true;
} }
// TODO: WE SHOULD PROBABLY WALK THE REST OF THE TREE walk::walk_expression(self, it);
// walk::walk_expression(self, it);
false false
} }
@ -248,8 +247,7 @@ where
fn visit_object_expression(&mut self, it: &ObjectExpression<'a>) { fn visit_object_expression(&mut self, it: &ObjectExpression<'a>) {
for prop in &it.properties { for prop in &it.properties {
if let ObjectPropertyKind::ObjectProperty(p) = prop { if let ObjectPropertyKind::ObjectProperty(p) = prop {
match &p.value { if let Expression::Identifier(s) = &p.value {
Expression::Identifier(s) => {
if UNSAFE_GLOBALS.contains(&s.name.to_string().as_str()) && p.shorthand { if UNSAFE_GLOBALS.contains(&s.name.to_string().as_str()) && p.shorthand {
self.jschanges.add(Rewrite::ShorthandObj { self.jschanges.add(Rewrite::ShorthandObj {
span: s.span, span: s.span,
@ -258,8 +256,6 @@ where
return; return;
} }
} }
_ => {}
}
} }
} }