crates/ast/ast.rs | 45 ++- crates/js_ast/convert/block_convert_context.rs | 244 ++++++++++++ crates/js_ast/convert/convert_valid_block.rs | 37 ++ crates/js_ast/convert/convert_valid_expr.rs | 115 ++++++ crates/js_ast/convert/convert_valid_if.rs | 38 ++ crates/js_ast/convert/convert_valid_statement.rs | 32 ++ crates/js_ast/convert/hoist_block_to_expr.rs | 78 ++++ crates/js_ast/convert/hoist_block_to_js_block.rs | 68 ++++ crates/js_ast/convert/hoist_expr.rs | 132 +++++++ crates/js_ast/convert/hoist_if.rs | 113 ++++++ crates/js_ast/convert/is_valid_js_expression.rs | 91 +++++ crates/js_ast/convert/mod.rs | 42 +++ crates/js_ast/convert/process_function.rs | 63 ++++ crates/js_ast/convert/process_statement.rs | 95 +++++ crates/js_ast/convert/side_effects.rs | 91 +++++ crates/js_ast/convert/tree_shake_statement_list.rs | 31 ++ crates/js_ast/convert_valid_expr.rs | 204 ---------- crates/js_ast/has_side_effects.rs | 90 ----- crates/js_ast/hoist.rs | 638 -------------------------------- crates/js_ast/is_valid_js_expression.rs | 85 ----- crates/js_ast/lib.rs | 25 +- crates/js_printer/lib.rs | 14 + crates/js_printer/src/lib.rs | 16 - crates/js_printer/src/print_expression.rs | 276 -------------- crates/js_printer/src/print_statement.rs | 153 -------- crates/parser/parse_block.rs | 10 +- crates/parser/parse_declaration.rs | 6 +- crates/parser/parse_expr_basic.rs | 2 +- crates/parser/parse_fn_declaration.rs | 88 ++--- crates/parser/parse_statement.rs | 20 +- crates/parser/parser.rs | 4 +- crates/tokenizer/tokenizer.rs | 17 +- examples/basics/stupid.blight | 2 + 33 files changed, 1397 insertions(+), 1568 deletions(-)