finos/morphir-elm

The Scala code generated from the reference-model does not compile

Aperta

#566 aperta il 29 nov 2021

 (1 commento) (0 reazioni) (0 assegnatari)Elm (69 fork)auto 404
buggood first issuehelp wantedscala-gen

Metriche repository

Star
 (51 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Describe the bug The Scala compiler reports the following error on the generated code:

[error] C:/dev/ws/morphir-elm/tests-integration/generated/refModel/src/scala/morphir/reference/model/Values.scala:334:27: illegal start of simple expression
[error]     morphir.sdk.List.all((val: morphir.sdk.Basics.Int) =>
[error]                           ^
[error] C:/dev/ws/morphir-elm/tests-integration/generated/refModel/src/scala/morphir/reference/model/Values.scala:613:1: ')' expected but '}' found.
[error] }
[error] ^
[error] two errors found
1 targets failed
generated.refModel.compile Compilation failed
[13:31:01] 'testIntegrationBuildScala' errored after 14 s
[13:31:01] Error: Command failed: mill __.compile
    at makeError (C:\dev\ws\morphir-elm\node_modules\execa\index.js:174:9)
    at C:\dev\ws\morphir-elm\node_modules\execa\index.js:278:16
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async testIntegrationBuildScala (C:\dev\ws\morphir-elm\gulpfile.js:140:9)

To Reproduce Steps to reproduce the behavior:

  1. Make sure the mill Scala build tool is installed on your system.
  2. Run npm test
  3. See error

Expected behavior The generated Scala code should compile. The specific issue here is that the model contains a variable name that clashes with the val keyword in Scala. The Scala Backend should be clever enough to change the name to avoid collisions.

Guida contributor