From f4e1adbf8877a23c890fc338ebd3bc2edb6536f3 Mon Sep 17 00:00:00 2001 From: Mingun Date: Sun, 23 Feb 2020 23:33:08 +0500 Subject: [PATCH] Java: wrap each field in own block to isolate the scope of temporary variables --- .../scala/io/kaitai/struct/languages/JavaCompiler.scala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/shared/src/main/scala/io/kaitai/struct/languages/JavaCompiler.scala b/shared/src/main/scala/io/kaitai/struct/languages/JavaCompiler.scala index 231b4aeab..b42234aea 100644 --- a/shared/src/main/scala/io/kaitai/struct/languages/JavaCompiler.scala +++ b/shared/src/main/scala/io/kaitai/struct/languages/JavaCompiler.scala @@ -221,6 +221,14 @@ class JavaCompiler(typeProvider: ClassTypeProvider, config: RuntimeConfig) out.puts( " */") } + override def attrParse(attr: AttrLikeSpec, id: Identifier, defEndian: Option[Endianness]): Unit = { + out.puts(s"{// ${idToStr(id)}") + out.inc + super.attrParse(attr, id, defEndian) + out.dec + out.puts("}") + } + override def attrParseHybrid(leProc: () => Unit, beProc: () => Unit): Unit = { out.puts("if (_is_le) {") out.inc