From 49d21de89401909691619c7a4f21bd1cb251aeee Mon Sep 17 00:00:00 2001 From: Max Wash Date: Thu, 15 May 2025 12:10:58 +0100 Subject: [PATCH] frontend: disassemble: implement dumping ident, atom, and null constpool values --- frontend/cmd/disassemble.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/frontend/cmd/disassemble.c b/frontend/cmd/disassemble.c index 57ca9f0..ccc4b53 100644 --- a/frontend/cmd/disassemble.c +++ b/frontend/cmd/disassemble.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -229,6 +230,18 @@ static enum ivy_status dump_constpool(struct ivy_asm_reader *object) printf("selector %s", s); break; } + case IVY_ASM_CONSTPOOL_TYPE_IDENT: { + char s[256]; + ivy_ident_to_string(v->v_ident, s, sizeof s); + printf("ident %s", s); + break; + } + case IVY_ASM_CONSTPOOL_TYPE_NONE: + printf(""); + break; + case IVY_ASM_CONSTPOOL_TYPE_ATOM: + printf("atom $%s", v->v_str); + break; default: printf(""); break; @@ -553,7 +566,8 @@ B_COMMAND(CMD_DISASSEMBLE, CMD_ROOT) B_OPTION_SHORT_NAME('p'); B_OPTION_LONG_NAME("pool-data"); B_OPTION_DESC( - "print the constant pool data in the object file."); + "print the constant pool data in the object " + "file."); } B_COMMAND_HELP_OPTION();