From 18cff4acdf51d7e8d0bdd9918432b06e87bc85ca Mon Sep 17 00:00:00 2001 From: Mia Moretti Date: Sat, 11 Jun 2022 00:25:19 -0400 Subject: [PATCH] Construct: use `lambda this:` for ternary expressions --- .../io/kaitai/struct/translators/ConstructTranslator.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shared/src/main/scala/io/kaitai/struct/translators/ConstructTranslator.scala b/shared/src/main/scala/io/kaitai/struct/translators/ConstructTranslator.scala index 23e504385..5fe69680e 100644 --- a/shared/src/main/scala/io/kaitai/struct/translators/ConstructTranslator.scala +++ b/shared/src/main/scala/io/kaitai/struct/translators/ConstructTranslator.scala @@ -6,6 +6,9 @@ import io.kaitai.struct.format.Identifier import io.kaitai.struct.ConstructClassCompiler class ConstructTranslator(provider: TypeProvider, importList: ImportList) extends PythonTranslator(provider, importList) { + override def doIfExp(condition: Ast.expr, ifTrue: Ast.expr, ifFalse: Ast.expr): String = + s"(lambda this: ${translate(ifTrue)} if ${translate(condition)} else ${translate(ifFalse)})" + override def doLocalName(s: String) = { s match { case Identifier.ITERATOR => "obj_"