Change TableVal::ToMap() to return ValPtr-indexed maps

This commit is contained in:
Jon Siwek 2021-04-03 09:51:18 -07:00
parent 583310f6dd
commit c0b8fc4d60
2 changed files with 4 additions and 6 deletions

View file

@ -2311,9 +2311,9 @@ ListValPtr TableVal::ToPureListVal() const
return ToListVal(tl[0]->Tag());
}
std::unordered_map<Val*, ValPtr> TableVal::ToMap() const
std::unordered_map<ValPtr, ValPtr> TableVal::ToMap() const
{
std::unordered_map<Val*, ValPtr> res;
std::unordered_map<ValPtr, ValPtr> res;
for ( const auto& iter : *table_val )
{
@ -2321,7 +2321,7 @@ std::unordered_map<Val*, ValPtr> TableVal::ToMap() const
auto v = iter.GetValue<TableEntryVal*>();
auto vl = table_hash->RecoverVals(*k);
res[vl.release()] = v->GetVal();
res[std::move(vl)] = v->GetVal();
}
return res;

View file

@ -896,9 +896,7 @@ public:
ListValPtr ToPureListVal() const;
// Returns a map of index-to-value's. The value is nil for sets.
// It's up to the caller to Unref() the index Val* when done
// with it.
std::unordered_map<Val*, ValPtr> ToMap() const;
std::unordered_map<ValPtr, ValPtr> ToMap() const;
void SetAttrs(detail::AttributesPtr attrs);