Cargo.lock | 1 + Cargo.toml | 1 - crates/ast/ast.rs | 104 ++---- crates/ast/operators.rs | 156 ++++++-- crates/cli/Cargo.lock | 532 --------------------------- crates/cli/Cargo.toml | 2 +- crates/cli/main.rs | 172 +++++++++ crates/cli/src/main.rs | 165 --------- crates/js_ast/Cargo.toml | 1 + crates/js_ast/convert_valid_expr.rs | 204 +++++++++++ crates/js_ast/has_side_effects.rs | 90 +++++ crates/js_ast/hoist.rs | 614 ++++++++++++++++++++++++++++++++ crates/js_ast/is_valid_js_expression.rs | 85 +++++ crates/js_ast/js_ast.rs | 268 +++++--------- crates/js_ast/lib.rs | 421 +--------------------- crates/js_ast/util.rs | 17 + crates/js_printer/Cargo.toml | 1 + crates/js_printer/lib.rs | 358 +++++++++++++++++++ crates/js_printer/printer_tests.rs | 53 +++ crates/js_printer/src/print_expression.rs | 14 +- crates/js_printer/src/print_statement.rs | 12 +- crates/parser/parse_block.rs | 32 +- crates/parser/parse_call_arguments.rs | 5 + crates/parser/parse_expr.rs | 61 +++- crates/parser/parse_expr_if.rs | 22 +- crates/parser/parse_fn_declaration.rs | 11 +- crates/parser/parse_module.rs | 6 +- crates/sema/Cargo.toml | 1 + crates/sema/ast_type_coersion.rs | 54 +++ crates/sema/sema.rs | 98 +++++ crates/sema/src/ast_type_coersion.rs | 54 --- crates/sema/src/lib.rs | 96 ----- crates/tokenizer/Cargo.toml | 1 + crates/tokenizer/src/lib.rs | 393 -------------------- crates/tokenizer/tokenizer.rs | 402 +++++++++++++++++++++ 35 files changed, 2549 insertions(+), 1958 deletions(-)