mirror of
https://github.com/zrax/pycdc.git
synced 2026-06-23 11:34:07 +00:00
Simplify PycDict key/value storage a bit
This commit is contained in:
parent
e27faa1e88
commit
21c35b2f4c
4 changed files with 21 additions and 37 deletions
17
bytecode.cpp
17
bytecode.cpp
|
|
@ -219,20 +219,17 @@ void print_const(std::ostream& pyc_output, PycRef<PycObject> obj, PycModule* mod
|
|||
case PycObject::TYPE_DICT:
|
||||
{
|
||||
pyc_output << "{";
|
||||
PycDict::key_t keys = obj.cast<PycDict>()->keys();
|
||||
PycDict::value_t values = obj.cast<PycDict>()->values();
|
||||
auto ki = keys.cbegin();
|
||||
auto vi = values.cbegin();
|
||||
if (ki != keys.cend()) {
|
||||
print_const(pyc_output, *ki, mod);
|
||||
auto it = values.cbegin();
|
||||
if (it != values.cend()) {
|
||||
print_const(pyc_output, std::get<0>(*it), mod);
|
||||
pyc_output << ": ";
|
||||
print_const(pyc_output, *vi, mod);
|
||||
while (++ki != keys.cend()) {
|
||||
++vi;
|
||||
print_const(pyc_output, std::get<1>(*it), mod);
|
||||
while (++it != values.cend()) {
|
||||
pyc_output << ", ";
|
||||
print_const(pyc_output, *ki, mod);
|
||||
print_const(pyc_output, std::get<0>(*it), mod);
|
||||
pyc_output << ": ";
|
||||
print_const(pyc_output, *vi, mod);
|
||||
print_const(pyc_output, std::get<1>(*it), mod);
|
||||
}
|
||||
}
|
||||
pyc_output << "}";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue