finos/morphir-elm

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

Ouverte

#566 ouverte le 29 nov. 2021

 (1 commentaire) (0 réaction) (0 personne assignée)Elm (69 forks)auto 404
buggood first issuehelp wantedscala-gen

Métriques du dépôt

Stars
 (51 étoiles)
Métriques de merge PR
 (Merge moyen 3h 4m) (2 PRs mergées en 30 j)

Description

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.

Guide contributeur