mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:37:46 +00:00
LibJS: Skip trailing empty values in IndexedPropertyIterator
When we reach the end of the pre-computed indices vector we can just skip to the end (array-like size) as only empty values will follow. Fixes #3970.
This commit is contained in:
parent
d5bb5d109b
commit
021c8dea1f
1 changed files with 2 additions and 5 deletions
|
@ -264,16 +264,13 @@ ValueAndAttributes IndexedPropertyIterator::value_and_attributes(Object* this_ob
|
||||||
void IndexedPropertyIterator::skip_empty_indices()
|
void IndexedPropertyIterator::skip_empty_indices()
|
||||||
{
|
{
|
||||||
auto indices = m_indexed_properties.indices();
|
auto indices = m_indexed_properties.indices();
|
||||||
if (indices.is_empty()) {
|
|
||||||
m_index = m_indexed_properties.array_like_size();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (auto i : indices) {
|
for (auto i : indices) {
|
||||||
if (i < m_index)
|
if (i < m_index)
|
||||||
continue;
|
continue;
|
||||||
m_index = i;
|
m_index = i;
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
m_index = m_indexed_properties.array_like_size();
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<ValueAndAttributes> IndexedProperties::get(Object* this_object, u32 index, bool evaluate_accessors) const
|
Optional<ValueAndAttributes> IndexedProperties::get(Object* this_object, u32 index, bool evaluate_accessors) const
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue