Duplicate sloppy block function declarations append duplicate runtime bindings, and name lookup resolves to the newest slot. The bytecode coordinate tracker was keeping the first slot instead, so a second InitializeLexicalBinding could target an already initialized binding when running through the C++ interpreter. Record every emitted binding creation and let later duplicates replace the coordinate map entry, matching the way DeclarativeEnvironment appends bindings. |
||
|---|---|---|
| .. | ||
| bytecode | ||
| parser | ||
| ast.rs | ||
| ast_dump.rs | ||
| bytecode_cache.rs | ||
| fast_hash.rs | ||
| lexer.rs | ||
| lib.rs | ||
| parser.rs | ||
| scope_collector.rs | ||
| token.rs | ||