Skip to content

Commit c4113fa

Browse files
committed
More cleanup of objectFields (stuff not needed since super restriction)
1 parent 1b3571b commit c4113fa

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

core/vm.cpp

+4-10
Original file line numberDiff line numberDiff line change
@@ -600,20 +600,17 @@ class Interpreter {
600600

601601
/** Auxiliary function.
602602
*/
603-
IdHideMap objectFields(const HeapObject *obj_,
604-
unsigned &counter, unsigned skip)
603+
IdHideMap objectFieldsAux(const HeapObject *obj_)
605604
{
606605
IdHideMap r;
607606
if (auto *obj = dynamic_cast<const HeapSimpleObject*>(obj_)) {
608-
counter++;
609-
if (counter <= skip) return r;
610607
for (const auto &f : obj->fields) {
611608
r[f.first] = f.second.hide;
612609
}
613610

614611
} else if (auto *obj = dynamic_cast<const HeapExtendedObject*>(obj_)) {
615-
r = objectFields(obj->right, counter, skip);
616-
for (const auto &pair : objectFields(obj->left, counter, skip)) {
612+
r = objectFieldsAux(obj->right);
613+
for (const auto &pair : objectFieldsAux(obj->left)) {
617614
auto it = r.find(pair.first);
618615
if (it == r.end()) {
619616
// First time it is seen
@@ -625,8 +622,6 @@ class Interpreter {
625622
}
626623

627624
} else if (auto *obj = dynamic_cast<const HeapComprehensionObject*>(obj_)) {
628-
counter++;
629-
if (counter <= skip) return r;
630625
for (const auto &f : obj->compValues)
631626
r[f.first] = ObjectField::VISIBLE;
632627
}
@@ -637,9 +632,8 @@ class Interpreter {
637632
*/
638633
std::set<const Identifier*> objectFields(const HeapObject *obj_, bool manifesting)
639634
{
640-
unsigned counter = 0;
641635
std::set<const Identifier*> r;
642-
for (const auto &pair : objectFields(obj_, counter, 0)) {
636+
for (const auto &pair : objectFieldsAux(obj_)) {
643637
if (!manifesting || pair.second != ObjectField::HIDDEN) r.insert(pair.first);
644638
}
645639
return r;

0 commit comments

Comments
 (0)