kaitai_struct
kaitai_struct copied to clipboard
Expressions: Implement cast for `go` target
This should fix 3 tests: https://github.com/kaitai-io/kaitai_struct_compiler/runs/4203900545?check_suite_focus=true#step:4:651
[info] - go:other.as<block>.bar *** FAILED ***
[info] scala.NotImplementedError: an implementation is missing
[info] at scala.Predef$.$qmark$qmark$qmark(Predef.scala:288)
[info] at io.kaitai.struct.translators.GoTranslator.doCast(GoTranslator.scala:257)
[info] at io.kaitai.struct.translators.GoTranslator.doCast(GoTranslator.scala:15)
[info] at io.kaitai.struct.translators.CommonArraysAndCast.doCastOrArray(CommonArraysAndCast.scala:71)
[info] at io.kaitai.struct.translators.CommonArraysAndCast.doCastOrArray$(CommonArraysAndCast.scala:53)
[info] at io.kaitai.struct.translators.GoTranslator.doCastOrArray(GoTranslator.scala:15)
[info] at io.kaitai.struct.translators.GoTranslator.translateExpr(GoTranslator.scala:101)
[info] at io.kaitai.struct.translators.GoTranslator.translate(GoTranslator.scala:28)
[info] at io.kaitai.struct.translators.GoTranslator.userTypeField(GoTranslator.scala:327)
[info] at io.kaitai.struct.translators.GoTranslator.userTypeField(GoTranslator.scala:15)
[info] ...
[info] - go:other.as<block::innerblock>.baz *** FAILED ***
[info] scala.NotImplementedError: an implementation is missing
[info] at scala.Predef$.$qmark$qmark$qmark(Predef.scala:288)
[info] at io.kaitai.struct.translators.GoTranslator.doCast(GoTranslator.scala:257)
[info] at io.kaitai.struct.translators.GoTranslator.doCast(GoTranslator.scala:15)
[info] at io.kaitai.struct.translators.CommonArraysAndCast.doCastOrArray(CommonArraysAndCast.scala:71)
[info] at io.kaitai.struct.translators.CommonArraysAndCast.doCastOrArray$(CommonArraysAndCast.scala:53)
[info] at io.kaitai.struct.translators.GoTranslator.doCastOrArray(GoTranslator.scala:15)
[info] at io.kaitai.struct.translators.GoTranslator.translateExpr(GoTranslator.scala:101)
[info] at io.kaitai.struct.translators.GoTranslator.translate(GoTranslator.scala:28)
[info] at io.kaitai.struct.translators.GoTranslator.userTypeField(GoTranslator.scala:327)
[info] at io.kaitai.struct.translators.GoTranslator.userTypeField(GoTranslator.scala:15)
[info] ...
[info] - go:(1 + 2).as<s2> *** FAILED ***
[info] scala.NotImplementedError: an implementation is missing
[info] at scala.Predef$.$qmark$qmark$qmark(Predef.scala:288)
[info] at io.kaitai.struct.translators.GoTranslator.doCast(GoTranslator.scala:257)
[info] at io.kaitai.struct.translators.GoTranslator.doCast(GoTranslator.scala:15)
[info] at io.kaitai.struct.translators.CommonArraysAndCast.doCastOrArray(CommonArraysAndCast.scala:71)
[info] at io.kaitai.struct.translators.CommonArraysAndCast.doCastOrArray$(CommonArraysAndCast.scala:53)
[info] at io.kaitai.struct.translators.GoTranslator.doCastOrArray(GoTranslator.scala:15)
[info] at io.kaitai.struct.translators.GoTranslator.translateExpr(GoTranslator.scala:101)
[info] at io.kaitai.struct.translators.GoTranslator.translate(GoTranslator.scala:28)
[info] at io.kaitai.struct.translators.TranslatorSpec.$anonfun$runTest$3(TranslatorSpec.scala:639)
[info] at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[info] ...
Relevant code: https://github.com/kaitai-io/kaitai_struct_compiler/blob/0acfa60452a10b770a2c2e746f3de057f8ab76d9/shared/src/main/scala/io/kaitai/struct/translators/GoTranslator.scala#L257