mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-13 06:20:02 -04:00
nuke typescript again
This commit is contained in:
parent
7b881c0013
commit
e366d4b029
3 changed files with 52 additions and 9 deletions
|
@ -386,7 +386,8 @@ 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).start, ($range).end))?
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use std::ops::Range;
|
||||
|
||||
use cfg::Config;
|
||||
use changes::{JsChangeResult, JsChanges};
|
||||
use oxc::{
|
||||
|
@ -18,10 +16,10 @@ mod visitor;
|
|||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum RewriterError {
|
||||
#[error("oxc panicked in parser: {0:?}")]
|
||||
OxcPanicked(Vec<OxcDiagnostic>),
|
||||
#[error("out of bounds while applying range: {0:?})")]
|
||||
Oob(Range<usize>),
|
||||
#[error("oxc panicked in parser: {0}")]
|
||||
OxcPanicked(String),
|
||||
#[error("out of bounds while applying range: {0}..{1})")]
|
||||
Oob(usize, usize),
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
|
@ -49,7 +47,12 @@ where
|
|||
.parse();
|
||||
|
||||
if ret.panicked {
|
||||
return Err(RewriterError::OxcPanicked(ret.errors));
|
||||
let mut errors = String::new();
|
||||
for error in ret.errors {
|
||||
errors.push_str(&format!("{}", error));
|
||||
errors.push('\n');
|
||||
}
|
||||
return Err(RewriterError::OxcPanicked(errors));
|
||||
}
|
||||
|
||||
let mut visitor = Visitor {
|
||||
|
|
|
@ -29,7 +29,46 @@ sed -i 's/import.meta.url/""/g' out/wasm.js
|
|||
|
||||
cd ../../
|
||||
|
||||
wasm-snip rewriter/wasm/out/wasm_bg.wasm -o rewriter/wasm/out/wasm_snipped.wasm -p 'oxc_regular_expression::.*'
|
||||
wasm-snip rewriter/wasm/out/wasm_bg.wasm -o rewriter/wasm/out/wasm_snipped.wasm \
|
||||
-p 'oxc_regular_expression::.*' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_non_array_type' \
|
||||
'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::parse_declaration' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_ts_import_type' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_type_operator_or_higher' \
|
||||
'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::parse_ts_interface_declaration' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_mapped_type' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_index_signature_declaration' \
|
||||
'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::parse_ts_import_equals_declaration' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_type_or_type_predicate' \
|
||||
'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::parse_ts_namespace_or_module_declaration_body' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_ts_implements_clause' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_intersection_type_or_higher' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_ts_type_name' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_literal_type_node' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_asserts_type_predicate' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_tuple_element_type' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_type_arguments_of_type_reference' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_ts_call_signature_member' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::is_start_of_type' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_this_type_predicate' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_type_query' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_type_reference' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_type_operator' \
|
||||
'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_type_literal' \
|
||||
'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::is_at_enum_declaration'
|
||||
#
|
||||
# these are confirmed to break oxc
|
||||
# 'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_ts_type' \
|
||||
# 'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_type_arguments_in_expression' \
|
||||
# 'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_ts_type_parameters' \
|
||||
# 'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_class_element_modifiers' \
|
||||
# 'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::eat_decorators' \
|
||||
# 'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::is_nth_at_modifier' \
|
||||
# 'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::try_parse_type_arguments' \
|
||||
# 'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::is_at_ts_index_signature_member' \
|
||||
# 'oxc_parser::ts::types::<impl oxc_parser::ParserImpl>::parse_ts_return_type_annotation' \
|
||||
# 'oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::parse_ts_type_annotation' \
|
||||
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
time wasm-opt $WASMOPTFLAGS --converge -tnh -O4 --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd rewriter/wasm/out/wasm_snipped.wasm -o rewriter/wasm/out/optimized.wasm
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue