1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:38:12 +00:00

LibJS/Bytecode: Determine strict mode on an executable basis

An executable is generated for the top-level script and for each
function. Strict mode can only be changed with the first statement of
the top-level script and each function, which corresponds directly to
Executable.
This commit is contained in:
Luke Wilde 2022-07-17 18:56:36 +01:00 committed by Linus Groh
parent 37ab7cc694
commit 8568d18d7d
3 changed files with 15 additions and 3 deletions

View file

@ -20,6 +20,7 @@ struct Executable {
NonnullOwnPtr<StringTable> string_table;
NonnullOwnPtr<IdentifierTable> identifier_table;
size_t number_of_registers { 0 };
bool is_strict_mode { false };
String const& get_string(StringTableIndex index) const { return string_table->get(index); }
FlyString const& get_identifier(IdentifierTableIndex index) const { return identifier_table->get(index); }