Files
rose-ash/lib/js
giles 0df2b1c7b2
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
js-on-sx: hoist var across nested blocks; var-decls become set!
JS var is function-scoped, but the transpiler only collected
top-level vars and re-emitted (define) everywhere; for-body var
shadowed the outer (un-hoisted) scope. Three-part fix:
1. js-collect-var-names recurses into js-block/js-for/js-while
   /js-do-while/js-if/js-try/js-switch/js-for-of-in;
2. var-kind decls emit (set! ...) instead of (define ...) since
   the binding is already created at function scope;
3. js-block uses js-transpile-stmt-list (no re-hoist) instead of
   js-transpile-stmts.
built-ins/Array: 17/45 → 18/45, String: 77/99 → 78/99.
conformance.sh: 148/148.
2026-05-08 02:21:54 +00:00
..