summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--py/map.c14
-rw-r--r--py/obj.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/py/map.c b/py/map.c
index d424c277cc..301ea51ae4 100644
--- a/py/map.c
+++ b/py/map.c
@@ -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
diff --git a/py/obj.h b/py/obj.h
index 82b7bdadd8..b44b9c0a51 100644
--- a/py/obj.h
+++ b/py/obj.h
@@ -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)