1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:27:35 +00:00

LibJS: Replace GlobalObject with VM in Value AOs [Part 4/19]

This is where the fun begins. :^)
This commit is contained in:
Linus Groh 2022-08-21 14:00:56 +01:00
parent f6c4a0f5d0
commit a022e548b8
129 changed files with 1230 additions and 1325 deletions

View file

@ -38,9 +38,10 @@ void SymbolConstructor::initialize(Realm& realm)
// 20.4.1.1 Symbol ( [ description ] ), https://tc39.es/ecma262/#sec-symbol-description
ThrowCompletionOr<Value> SymbolConstructor::call()
{
if (vm().argument(0).is_undefined())
return js_symbol(heap(), {}, false);
return js_symbol(heap(), TRY(vm().argument(0).to_string(global_object())), false);
auto& vm = this->vm();
if (vm.argument(0).is_undefined())
return js_symbol(vm, {}, false);
return js_symbol(vm, TRY(vm.argument(0).to_string(vm)), false);
}
// 20.4.1.1 Symbol ( [ description ] ), https://tc39.es/ecma262/#sec-symbol-description
@ -52,7 +53,7 @@ ThrowCompletionOr<Object*> SymbolConstructor::construct(FunctionObject&)
// 20.4.2.2 Symbol.for ( key ), https://tc39.es/ecma262/#sec-symbol.for
JS_DEFINE_NATIVE_FUNCTION(SymbolConstructor::for_)
{
auto description = TRY(vm.argument(0).to_string(global_object));
auto description = TRY(vm.argument(0).to_string(vm));
return global_object.vm().get_global_symbol(description);
}