mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-08 06:09:58 +00:00
LibJS: Let JS::Script remember whether its code is strict mode
We don't want to rely on having the AST node just to answer the question "is this script strict mode?"
This commit is contained in:
parent
b712caf855
commit
892c7d980e
Notes:
github-actions[bot]
2025-10-27 20:15:42 +00:00
Author: https://github.com/awesomekling
Commit: 892c7d980e
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6604
3 changed files with 11 additions and 4 deletions
|
|
@ -25,15 +25,18 @@ Result<GC::Ref<Script>, Vector<ParserError>> Script::parse(StringView source_tex
|
|||
if (parser.has_errors())
|
||||
return parser.errors();
|
||||
|
||||
bool strict_mode = script->is_strict_mode();
|
||||
|
||||
// 3. Return Script Record { [[Realm]]: realm, [[ECMAScriptCode]]: script, [[HostDefined]]: hostDefined }.
|
||||
return realm.heap().allocate<Script>(realm, filename, move(script), host_defined);
|
||||
return realm.heap().allocate<Script>(realm, filename, move(script), host_defined, strict_mode);
|
||||
}
|
||||
|
||||
Script::Script(Realm& realm, StringView filename, NonnullRefPtr<Program> parse_node, HostDefined* host_defined)
|
||||
Script::Script(Realm& realm, StringView filename, NonnullRefPtr<Program> parse_node, HostDefined* host_defined, bool strict_mode)
|
||||
: m_realm(realm)
|
||||
, m_parse_node(move(parse_node))
|
||||
, m_filename(filename)
|
||||
, m_host_defined(host_defined)
|
||||
, m_strict_mode(strict_mode)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue