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

LibJS: Add filename tracking to Script and Module

This will allow us to resolve modules dynamically loaded from a script.
This commit is contained in:
davidot 2022-01-18 19:21:42 +01:00 committed by Linus Groh
parent 57c5a59cab
commit 12c2f30c54
6 changed files with 22 additions and 10 deletions

View file

@ -23,13 +23,14 @@ Result<NonnullRefPtr<Script>, Vector<Parser::Error>> Script::parse(StringView so
return parser.errors();
// 3. Return Script Record { [[Realm]]: realm, [[ECMAScriptCode]]: body, [[HostDefined]]: hostDefined }.
return adopt_ref(*new Script(realm, move(body)));
return adopt_ref(*new Script(realm, filename, move(body)));
}
Script::Script(Realm& realm, NonnullRefPtr<Program> parse_node)
Script::Script(Realm& realm, StringView filename, NonnullRefPtr<Program> parse_node)
: m_vm(realm.vm())
, m_realm(make_handle(&realm))
, m_parse_node(move(parse_node))
, m_filename(filename)
{
}