| 533 | } |
| 534 | |
| 535 | ValueIteratorPtr GetValueIterator(PyObject* nested) { |
| 536 | if (PyDict_Check(nested)) { |
| 537 | return absl::make_unique<DictValueIterator>(nested); |
| 538 | } else if (IsMappingHelper(nested)) { |
| 539 | return absl::make_unique<MappingValueIterator>(nested); |
| 540 | } else if (IsAttrsHelper(nested)) { |
| 541 | return absl::make_unique<AttrsValueIterator>(nested); |
| 542 | } else { |
| 543 | return absl::make_unique<SequenceValueIterator>(nested); |
| 544 | } |
| 545 | } |
| 546 | |
| 547 | // Similar to above, just specialized for the functions in the data package. |
| 548 | ValueIteratorPtr GetValueIteratorForData(PyObject* nested) { |
no test coverage detected