ladybird/Tests/LibJS/Bytecode/expected/block-function-declaration-order.txt
Martin Chrástek 29dc4df4e5 LibJS: Fix var declarations in direct eval inside catch blocks
The Annex B.3.4 spec change requires distinguishing
catch clause environments from other lexical environments
when checking for var/let conflicts in eval, which is now tracked
via a flag on DeclarativeEnvironment and propagated through the
CreateLexicalEnvironment bytecode instruction from the Rust codegen.
2026-05-15 10:01:08 +02:00

21 lines
859 B
Text

$2a66ad4a block-function-declaration-order.js:1:1
Registers: 7
Blocks: 1
Constants:
[0] = Undefined
block0:
[ 0] GetLexicalEnvironment dst:reg4
[ 8] CreateLexicalEnvironment dst:reg5, parent:reg4, capacity:0, is_catch_environment:false
[ 20] CreateMutableBinding environment:reg5, `f1`, can_be_deleted:false
[ 30] NewFunction dst:reg6, shared_function_data_index:0
[ 48] InitializeLexicalBinding `f1`, src:reg6
[ 60] CreateMutableBinding environment:reg5, `f2`, can_be_deleted:false
[ 70] NewFunction dst:reg6, shared_function_data_index:1
[ 88] InitializeLexicalBinding `f2`, src:reg6
[ a0] GetBinding dst:reg6, `f1`
[ b8] SetVariableBinding `f1`, src:reg6
[ d0] GetBinding dst:reg6, `f2`
[ e8] SetVariableBinding `f2`, src:reg6
[ 100] SetLexicalEnvironment environment:reg4
[ 108] End value:Undefined