Simplify PycDict key/value storage a bit

This commit is contained in:
Michael Hansen
2023-11-09 15:05:55 -08:00
parent e27faa1e88
commit 21c35b2f4c
4 changed files with 21 additions and 37 deletions

View File

@@ -183,14 +183,9 @@ void output_object(PycRef<PycObject> obj, PycModule* mod, int indent,
case PycObject::TYPE_DICT:
{
iputs(pyc_output, indent, "{\n");
PycDict::key_t keys = obj.cast<PycDict>()->keys();
PycDict::value_t values = obj.cast<PycDict>()->values();
PycDict::key_t::const_iterator ki = keys.begin();
PycDict::value_t::const_iterator vi = values.begin();
while (ki != keys.end()) {
output_object(*ki, mod, indent + 1, flags, pyc_output);
output_object(*vi, mod, indent + 2, flags, pyc_output);
++ki, ++vi;
for (const auto& val : obj.cast<PycDict>()->values()) {
output_object(std::get<0>(val), mod, indent + 1, flags, pyc_output);
output_object(std::get<1>(val), mod, indent + 2, flags, pyc_output);
}
iputs(pyc_output, indent, "}\n");
}