mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-13 22:40:01 -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,
|
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,
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => {}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue