diff options
Diffstat (limited to 'pit/src/runtime/dump.c')
| -rw-r--r-- | pit/src/runtime/dump.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/pit/src/runtime/dump.c b/pit/src/runtime/dump.c index 0bd605e..9627a36 100644 --- a/pit/src/runtime/dump.c +++ b/pit/src/runtime/dump.c @@ -122,9 +122,26 @@ pit_dump_condition pit_dump_with_callback( if ((ret = write((u8 *) buf, i, data)) < 0) goto end; break; } + case PIT_VALUE_HEAVY_SORT_FUNC: { + if (h->in.func.nm == PIT_NIL) { + slen = pit_libc_string_snprintf(buf, (size_t) len, "<anonymous function: %ld>", r); + if ((ret = write((u8 *) buf, slen, data)) < 0) goto end; + } else { + pit_traversal_push_dump_string(rt, rt->traversal, ">"); + pit_traversal_push_value(rt, rt->traversal, h->in.func.nm); + pit_traversal_push_dump_string(rt, rt->traversal, "<function: "); + } + break; + } + case PIT_VALUE_HEAVY_SORT_NATIVEFUNC: { + slen = pit_libc_string_snprintf(buf, (size_t) len, "<native function: %ld>", r); + if ((ret = write((u8 *) buf, slen, data)) < 0) goto end; + break; + } default: - slen = pit_libc_string_snprintf(buf, (size_t) len, "<ref %ld>", r); + slen = pit_libc_string_snprintf(buf, (size_t) len, "<ref: %ld>", r); if ((ret = write((u8 *) buf, slen, data)) < 0) goto end; + break; } } break; |
