mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-13 14:30:02 -04:00
clippy fixes and walk more of the tree
This commit is contained in:
parent
174375be1b
commit
8fe0d895f0
2 changed files with 21 additions and 28 deletions
|
@ -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<JsChange>,
|
||||
inner: Vec<JsChange>,
|
||||
}
|
||||
|
||||
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<E>(&mut self, js: &str, cfg: &Config<E>) -> Result<JsChangeResult, RewriterError>
|
||||
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue