map: Add mp_map_dump() (#ifdef'ed) to be handy when debugging maps.

This commit is contained in:
Paul Sokolovsky 2014-04-05 04:14:22 +03:00
parent c39368427c
commit e3f58c8380
2 changed files with 15 additions and 0 deletions

View File

@ -243,3 +243,17 @@ void mp_set_clear(mp_set_t *set) {
set->used = 0;
set->table = NULL;
}
#if DEBUG_PRINT
void mp_map_dump(mp_map_t *map) {
for (int i = 0; i < map->alloc; i++) {
if (map->table[i].key != NULL) {
mp_obj_print(map->table[i].key, PRINT_REPR);
} else {
printf("(nil)");
}
printf(": %p\n", map->table[i].value);
}
printf("---\n");
}
#endif

View File

@ -117,6 +117,7 @@ void mp_map_deinit(mp_map_t *map);
void mp_map_free(mp_map_t *map);
mp_map_elem_t* mp_map_lookup(mp_map_t *map, mp_obj_t index, mp_map_lookup_kind_t lookup_kind);
void mp_map_clear(mp_map_t *map);
void mp_map_dump(mp_map_t *map);
// Underlying set implementation (not set object)