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

LibJS: get_iterator_values() should pass Value to callback (not Value&)

Value& implies that the callback is expected/able to modify the value,
which is not the case.
This commit is contained in:
Andreas Kling 2020-09-08 14:15:13 +02:00
parent b4bfc3ed54
commit d85eed585c
4 changed files with 6 additions and 6 deletions

View file

@ -163,7 +163,7 @@ Value CallExpression::execute(Interpreter& interpreter, GlobalObject& global_obj
if (interpreter.exception())
return {};
if (m_arguments[i].is_spread) {
get_iterator_values(global_object, value, [&](Value& iterator_value) {
get_iterator_values(global_object, value, [&](Value iterator_value) {
if (interpreter.exception())
return IterationDecision::Break;
arguments.append(iterator_value);
@ -419,7 +419,7 @@ Value ForOfStatement::execute(Interpreter& interpreter, GlobalObject& global_obj
if (interpreter.exception())
return {};
get_iterator_values(global_object, rhs_result, [&](Value& value) {
get_iterator_values(global_object, rhs_result, [&](Value value) {
interpreter.set_variable(variable_name, value, global_object);
last_value = interpreter.run(global_object, *m_body);
if (interpreter.exception())
@ -1652,7 +1652,7 @@ Value ArrayExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
return {};
if (element->is_spread_expression()) {
get_iterator_values(global_object, value, [&](Value& iterator_value) {
get_iterator_values(global_object, value, [&](Value iterator_value) {
array->indexed_properties().append(iterator_value);
return IterationDecision::Continue;
});