ladybird/Userland/Libraries/LibJS/Bytecode
Luke Wilde 3a48c7fdaf LibJS/Bytecode: Check for lexical bindings only in current scope
BlockDeclarationInstantiation takes as input the new lexical
environment that was created and checks if there is a binding for the
current name only in this new scope.

This allows shadowing lexical variables and prevents us crashing due to
an already initialized lexical variable in this case:
```js
let x = 1;
{
    let x = 1;
}
```
2022-07-18 09:00:21 +01:00
..
Pass Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
ASTCodegen.cpp LibJS/Bytecode: Check for lexical bindings only in current scope 2022-07-18 09:00:21 +01:00
BasicBlock.cpp
BasicBlock.h
CodeGenerationError.h LibJS: Make ASTNode::generate_bytecode() fallible 2022-02-13 14:41:33 +00:00
Executable.cpp
Executable.h LibJS/Bytecode: Determine strict mode on an executable basis 2022-07-18 09:00:21 +01:00
Generator.cpp LibJS/Bytecode: Determine strict mode on an executable basis 2022-07-18 09:00:21 +01:00
Generator.h LibJS/Bytecode: Check for lexical bindings only in current scope 2022-07-18 09:00:21 +01:00
IdentifierTable.cpp
IdentifierTable.h
Instruction.cpp
Instruction.h LibJS/Bytecode: Make typeof return "undefined" on unresolvable IDs 2022-06-13 07:13:03 +04:30
Interpreter.cpp LibJS/Bytecode: Determine strict mode on an executable basis 2022-07-18 09:00:21 +01:00
Interpreter.h LibJS: Avoid copying the frame into the interpreter in BC generators 2022-04-18 23:59:30 +04:30
Label.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Op.cpp LibJS/Bytecode: Create global variables before setting them 2022-07-18 09:00:21 +01:00
Op.h LibJS/Bytecode: Create global variables before setting them 2022-07-18 09:00:21 +01:00
PassManager.h
Register.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
StringTable.cpp
StringTable.h