mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:07:34 +00:00
LibJS: Update a couple of outdated spec comments
These are editorial changes in the ECMA-262 spec. See: -e080a7f
-c5a9094
-5091520
-1c6564b
-e06c80c
This commit is contained in:
parent
ce659e5eeb
commit
5a26a547db
6 changed files with 12 additions and 10 deletions
|
@ -1381,7 +1381,7 @@ ThrowCompletionOr<Reference> MemberExpression::to_reference(Interpreter& interpr
|
||||||
property_key = static_cast<Identifier const&>(property()).string();
|
property_key = static_cast<Identifier const&>(property()).string();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 6. If the code matched by this SuperProperty is strict mode code, let strict be true; else let strict be false.
|
// 6. If the source text matched by this SuperProperty is strict mode code, let strict be true; else let strict be false.
|
||||||
bool strict = interpreter.vm().in_strict_mode();
|
bool strict = interpreter.vm().in_strict_mode();
|
||||||
|
|
||||||
// 7. Return ? MakeSuperPropertyReference(actualThis, propertyKey, strict).
|
// 7. Return ? MakeSuperPropertyReference(actualThis, propertyKey, strict).
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, Stephan Unverwerth <s.unverwerth@serenityos.org>
|
* Copyright (c) 2020, Stephan Unverwerth <s.unverwerth@serenityos.org>
|
||||||
* Copyright (c) 2020-2021, Linus Groh <linusg@serenityos.org>
|
* Copyright (c) 2020-2022, Linus Groh <linusg@serenityos.org>
|
||||||
* Copyright (c) 2021-2022, David Tuin <davidot@serenityos.org>
|
* Copyright (c) 2021-2022, David Tuin <davidot@serenityos.org>
|
||||||
* Copyright (c) 2021, Ali Mohammad Pur <mpfard@serenityos.org>
|
* Copyright (c) 2021, Ali Mohammad Pur <mpfard@serenityos.org>
|
||||||
* Copyright (c) 2021, Idan Horowitz <idan.horowitz@serenityos.org>
|
* Copyright (c) 2021, Idan Horowitz <idan.horowitz@serenityos.org>
|
||||||
|
@ -3343,9 +3343,12 @@ NonnullRefPtr<IfStatement> Parser::parse_if_statement()
|
||||||
auto rule_start = push_start();
|
auto rule_start = push_start();
|
||||||
auto parse_function_declaration_as_block_statement = [&] {
|
auto parse_function_declaration_as_block_statement = [&] {
|
||||||
// https://tc39.es/ecma262/#sec-functiondeclarations-in-ifstatement-statement-clauses
|
// https://tc39.es/ecma262/#sec-functiondeclarations-in-ifstatement-statement-clauses
|
||||||
// Code matching this production is processed as if each matching occurrence of
|
// This production only applies when parsing non-strict code. Source text matched
|
||||||
|
// by this production is processed as if each matching occurrence of
|
||||||
// FunctionDeclaration[?Yield, ?Await, ~Default] was the sole StatementListItem
|
// FunctionDeclaration[?Yield, ?Await, ~Default] was the sole StatementListItem
|
||||||
// of a BlockStatement occupying that position in the source code.
|
// of a BlockStatement occupying that position in the source text.
|
||||||
|
// The semantics of such a synthetic BlockStatement includes the web legacy
|
||||||
|
// compatibility semantics specified in B.3.2.
|
||||||
VERIFY(match(TokenType::Function));
|
VERIFY(match(TokenType::Function));
|
||||||
auto block = create_ast_node<BlockStatement>({ m_state.current_token.filename(), rule_start.position(), position() });
|
auto block = create_ast_node<BlockStatement>({ m_state.current_token.filename(), rule_start.position(), position() });
|
||||||
ScopePusher block_scope = ScopePusher::block_scope(*this, *block);
|
ScopePusher block_scope = ScopePusher::block_scope(*this, *block);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
|
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
|
||||||
* Copyright (c) 2020-2021, Linus Groh <linusg@serenityos.org>
|
* Copyright (c) 2020-2022, Linus Groh <linusg@serenityos.org>
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: BSD-2-Clause
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
*/
|
*/
|
||||||
|
@ -82,7 +82,7 @@ ThrowCompletionOr<bool> Array::set_length(PropertyDescriptor const& property_des
|
||||||
// 12. If oldLenDesc.[[Writable]] is false, return false.
|
// 12. If oldLenDesc.[[Writable]] is false, return false.
|
||||||
// NOTE: Handled by step 16
|
// NOTE: Handled by step 16
|
||||||
|
|
||||||
// 13. If newLenDesc.[[Writable]] is absent or has the value true, let newWritable be true.
|
// 13. If newLenDesc.[[Writable]] is absent or is true, let newWritable be true.
|
||||||
// 14. Else,
|
// 14. Else,
|
||||||
// a. NOTE: Setting the [[Writable]] attribute to false is deferred in case any elements cannot be deleted.
|
// a. NOTE: Setting the [[Writable]] attribute to false is deferred in case any elements cannot be deleted.
|
||||||
// b. Let newWritable be false.
|
// b. Let newWritable be false.
|
||||||
|
|
|
@ -94,8 +94,7 @@ void DatePrototype::initialize(GlobalObject& global_object)
|
||||||
define_native_function(vm.names.valueOf, get_time, 0, attr);
|
define_native_function(vm.names.valueOf, get_time, 0, attr);
|
||||||
|
|
||||||
// B.2.4.3 Date.prototype.toGMTString ( ), https://tc39.es/ecma262/#sec-date.prototype.togmtstring
|
// B.2.4.3 Date.prototype.toGMTString ( ), https://tc39.es/ecma262/#sec-date.prototype.togmtstring
|
||||||
// The function object that is the initial value of Date.prototype.toGMTString
|
// The initial value of the "toGMTString" property is %Date.prototype.toUTCString%, defined in 21.4.4.43.
|
||||||
// is the same function object that is the initial value of Date.prototype.toUTCString.
|
|
||||||
define_direct_property(vm.names.toGMTString, get_without_side_effects(vm.names.toUTCString), attr);
|
define_direct_property(vm.names.toGMTString, get_without_side_effects(vm.names.toUTCString), attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ ThrowCompletionOr<Value> FunctionEnvironment::get_super_base() const
|
||||||
// 1. Let home be envRec.[[FunctionObject]].[[HomeObject]].
|
// 1. Let home be envRec.[[FunctionObject]].[[HomeObject]].
|
||||||
auto home_object = m_function_object->home_object();
|
auto home_object = m_function_object->home_object();
|
||||||
|
|
||||||
// 2. If home has the value undefined, return undefined.
|
// 2. If home is undefined, return undefined.
|
||||||
if (!home_object)
|
if (!home_object)
|
||||||
return js_undefined();
|
return js_undefined();
|
||||||
|
|
||||||
|
|
|
@ -582,7 +582,7 @@ ThrowCompletionOr<Reference> VM::resolve_binding(FlyString const& name, Environm
|
||||||
// 2. Assert: env is an Environment Record.
|
// 2. Assert: env is an Environment Record.
|
||||||
VERIFY(environment);
|
VERIFY(environment);
|
||||||
|
|
||||||
// 3. If the code matching the syntactic production that is being evaluated is contained in strict mode code, let strict be true; else let strict be false.
|
// 3. If the source text matched by the syntactic production that is being evaluated is contained in strict mode code, let strict be true; else let strict be false.
|
||||||
bool strict = in_strict_mode();
|
bool strict = in_strict_mode();
|
||||||
|
|
||||||
// 4. Return ? GetIdentifierReference(env, name, strict).
|
// 4. Return ? GetIdentifierReference(env, name, strict).
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue