kaitai_struct icon indicating copy to clipboard operation
kaitai_struct copied to clipboard

Expressions: Implement cast for `go` target

Open Mingun opened this issue 2 years ago • 0 comments

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

Mingun avatar Nov 25 '21 17:11 Mingun