set up infrastructure for having the original code above each function for debugging

This commit is contained in:
wearrrrr 2024-10-02 15:29:31 -05:00
parent 2a319b9cf6
commit 794f9a8a46
2 changed files with 7 additions and 4 deletions

View file

@ -22,6 +22,7 @@ enum JsChange {
}, },
SourceTag { SourceTag {
tagstart: u32, tagstart: u32,
tagend: usize,
}, },
Assignment { Assignment {
name: String, name: String,
@ -260,6 +261,7 @@ impl<'a> Visit<'a> for Rewriter {
if self.config.do_sourcemaps { if self.config.do_sourcemaps {
self.jschanges.push(JsChange::SourceTag { self.jschanges.push(JsChange::SourceTag {
tagstart: it.span.start, tagstart: it.span.start,
tagend: it.span.end as usize,
}); });
} }
walk::walk_function_body(self, it); walk::walk_function_body(self, it);
@ -450,7 +452,7 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec<u8> {
rhsspan: _, rhsspan: _,
op: _, op: _,
} => entirespan.start, } => entirespan.start,
JsChange::SourceTag { tagstart } => *tagstart, JsChange::SourceTag { tagstart, tagend } => *tagstart,
}; };
let b = match b { let b = match b {
JsChange::GenericChange { span, text: _ } => span.start, JsChange::GenericChange { span, text: _ } => span.start,
@ -460,7 +462,7 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec<u8> {
rhsspan: _, rhsspan: _,
op: _, op: _,
} => entirespan.start, } => entirespan.start,
JsChange::SourceTag { tagstart } => *tagstart, JsChange::SourceTag { tagstart,tagend } => *tagstart,
}; };
a.cmp(&b) a.cmp(&b)
}); });
@ -540,10 +542,11 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec<u8> {
offset = entirespan.end as usize; offset = entirespan.end as usize;
} }
JsChange::SourceTag { tagstart } => { JsChange::SourceTag { tagstart, tagend } => {
let start = *tagstart as usize; let start = *tagstart as usize;
buffer.extend_from_slice(unsafe { js.get_unchecked(offset..start) }.as_bytes()); buffer.extend_from_slice(unsafe { js.get_unchecked(offset..start) }.as_bytes());
// let inject = format!("/*scramtag {} */", &js[start..*tagend]);
let inject = format!("/*scramtag {} {}*/", start, sourcetag); let inject = format!("/*scramtag {} {}*/", start, sourcetag);
buffer.extend_from_slice(inject.as_bytes()); buffer.extend_from_slice(inject.as_bytes());

View file

@ -33,7 +33,7 @@ export class ScramjetController {
captureErrors: true, captureErrors: true,
syncxhr: false, syncxhr: false,
cleanerrors: false, cleanerrors: false,
sourcemaps: false, sourcemaps: true,
}, },
}; };