From d800fdb25ca9539f566ca069daf48db81996546c Mon Sep 17 00:00:00 2001 From: Aki <75532970+AkiSakurai@users.noreply.github.com> Date: Sun, 15 Dec 2024 20:56:22 +0800 Subject: [PATCH] Add debug information for enum type parameters - This change improves debugging capabilities by providing more detailed information about enum type parameters in the generated JavaScript code. --- .../kaitai/struct/languages/JavaScriptCompiler.scala | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/shared/src/main/scala/io/kaitai/struct/languages/JavaScriptCompiler.scala b/shared/src/main/scala/io/kaitai/struct/languages/JavaScriptCompiler.scala index a039b4560..343979d38 100644 --- a/shared/src/main/scala/io/kaitai/struct/languages/JavaScriptCompiler.scala +++ b/shared/src/main/scala/io/kaitai/struct/languages/JavaScriptCompiler.scala @@ -111,6 +111,18 @@ class JavaScriptCompiler(typeProvider: ClassTypeProvider, config: RuntimeConfig) if (config.readStoresPos) { out.puts("this._debug = {};") + params.foreach { p => + // Add debug information for enum type parameters + p.dataType match { + case t: EnumType => + out.puts(s"this._debug['${idToStr(p.id)}'] = {") + out.inc + out.puts(s"enumName: \"${types2class(t.enumSpec.get.name, false)}\"") + out.dec + out.puts("};") + case _ => // Do nothing for non-enum types + } + } } out.puts }