mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 19:47:34 +00:00
LibJS: Port this_string_value() to NonnullGCPtr
This commit is contained in:
parent
9c6eba771a
commit
dd91f1a5a5
1 changed files with 3 additions and 3 deletions
|
@ -228,18 +228,18 @@ ThrowCompletionOr<void> StringPrototype::initialize(Realm& realm)
|
|||
}
|
||||
|
||||
// thisStringValue ( value ), https://tc39.es/ecma262/#thisstringvalue
|
||||
static ThrowCompletionOr<PrimitiveString*> this_string_value(VM& vm, Value value)
|
||||
static ThrowCompletionOr<NonnullGCPtr<PrimitiveString>> this_string_value(VM& vm, Value value)
|
||||
{
|
||||
// 1. If value is a String, return value.
|
||||
if (value.is_string())
|
||||
return &value.as_string();
|
||||
return value.as_string();
|
||||
|
||||
// 2. If value is an Object and value has a [[StringData]] internal slot, then
|
||||
if (value.is_object() && is<StringObject>(value.as_object())) {
|
||||
// a. Let s be value.[[StringData]].
|
||||
// b. Assert: s is a String.
|
||||
// c. Return s.
|
||||
return &static_cast<StringObject&>(value.as_object()).primitive_string();
|
||||
return static_cast<StringObject&>(value.as_object()).primitive_string();
|
||||
}
|
||||
|
||||
// 3. Throw a TypeError exception.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue