1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 06:07:44 +00:00

LibJS: Convert Interpreter::run() to ThrowCompletionOr<Value>

Instead of making it a void function, checking for an exception, and
then receiving the relevant result via VM::last_value(), we can
consolidate all of this by using completions.

This allows us to remove more uses of VM::exception(), and all uses of
VM::last_value().
This commit is contained in:
Linus Groh 2022-01-08 21:28:27 +01:00
parent f73afbb5ae
commit eb60d16549
13 changed files with 62 additions and 56 deletions

View file

@ -331,9 +331,9 @@ void ClientConnection::run_javascript(String const& js_source)
auto parser = JS::Parser(JS::Lexer(js_source));
auto program = parser.parse_program();
interpreter.run(interpreter.global_object(), *program);
auto result = interpreter.run(interpreter.global_object(), *program);
if (interpreter.vm().exception()) {
if (result.is_error()) {
dbgln("Exception :(");
interpreter.vm().clear_exception();
}