Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code generator: RangeError: Invalid array length #975

Closed
lars-reimann opened this issue Apr 2, 2024 · 1 comment · Fixed by #977
Closed

Code generator: RangeError: Invalid array length #975

lars-reimann opened this issue Apr 2, 2024 · 1 comment · Fixed by #977
Assignees
Labels
bug 🪲 Something isn't working released Included in a release
Milestone

Comments

@lars-reimann
Copy link
Member

Describe the bug

Assigning the result of a constructor call seems to lead to errors in the code generator:

RangeError: Invalid array length
    at SafeDsPythonGenerator.generateAssignment (C:\Users\Lars\Repositories\safe-ds-org\DSL\packages\safe-ds-lang\src\language\generation\safe-ds-python-generator.ts:637:48)
    at SafeDsPythonGenerator.generateStatement (C:\Users\Lars\Repositories\safe-ds-org\DSL\packages\safe-ds-lang\src\language\generation\safe-ds-python-generator.ts:597:39)
    at __vite_ssr_import_1__.joinTracedToNode.separator (C:\Users\Lars\Repositories\safe-ds-org\DSL\packages\safe-ds-lang\src\language\generation\safe-ds-python-generator.ts:517:28)
    at file:///C:/Users/Lars/Repositories/safe-ds-org/DSL/node_modules/langium/src/generate/node-joiner.ts:226:108
    at file:///C:/Users/Lars/Repositories/safe-ds-org/DSL/node_modules/langium/src/generate/node-joiner.ts:113:25
    at reduceWithIsLast (file:///C:/Users/Lars/Repositories/safe-ds-org/DSL/node_modules/langium/src/generate/node-joiner.ts:354:18)
    at joinToNode (file:///C:/Users/Lars/Repositories/safe-ds-org/DSL/node_modules/langium/src/generate/node-joiner.ts:109:12)
    at file:///C:/Users/Lars/Repositories/safe-ds-org/DSL/node_modules/langium/src/generate/node-joiner.ts:224:13
    at SafeDsPythonGenerator.generateBlock (C:\Users\Lars\Repositories\safe-ds-org\DSL\packages\safe-ds-lang\src\language\generation\safe-ds-python-generator.ts:515:52)
    at SafeDsPythonGenerator.generatePipeline (C:\Users\Lars\Repositories\safe-ds-org\DSL\packages\safe-ds-lang\src\language\generation\safe-ds-python-generator.ts:463:47)

To Reproduce

Generate Python code for this:

package test

pipeline myPipeline {
    val table = Table();
}

Expected behavior

No error.

Screenshots (optional)

No response

Additional Context (optional)

No response

@lars-reimann lars-reimann added the bug 🪲 Something isn't working label Apr 2, 2024
@lars-reimann lars-reimann added this to DSL Apr 2, 2024
@github-project-automation github-project-automation bot moved this to Backlog in DSL Apr 2, 2024
@lars-reimann lars-reimann added this to the v0.9.1 milestone Apr 2, 2024
@lars-reimann lars-reimann moved this from Backlog to Todo in DSL Apr 2, 2024
@lars-reimann lars-reimann self-assigned this Apr 3, 2024
@lars-reimann lars-reimann moved this from Todo to In Progress in DSL Apr 3, 2024
lars-reimann added a commit that referenced this issue Apr 3, 2024
…t call as RHS (#977)

Closes #975

### Summary of Changes

The code generator no longer throws a `RangeError: Invalid array length`
for assignments that have a class or enum variant call as the
right-hand-side.
@github-project-automation github-project-automation bot moved this from In Progress to ✔️ Done in DSL Apr 3, 2024
lars-reimann pushed a commit that referenced this issue Apr 6, 2024
## [0.10.0](v0.9.0...v0.10.0) (2024-04-06)

### Features

* add settings to enable inlay hints individually ([#992](#992)) ([b0f3e62](b0f3e62))
* filter suggestions by node type ([#999](#999)) ([8d22e67](8d22e67)), closes [#998](#998)
* forbid instance and static class members with same name ([#988](#988)) ([7fa6fd4](7fa6fd4))
* improved completion provider ([#997](#997)) ([61e776b](61e776b)), closes [#41](#41)
* inlay hints for inferred types of lambda parameters ([#993](#993)) ([c064e0e](c064e0e))
* mark entire type cast as wrong if cast is impossible ([#991](#991)) ([72d4e2e](72d4e2e))
* profiling in EDA tool ([#954](#954)) ([854122c](854122c)), closes [#929](#929)
* require `safe-ds-runner>=0.8.0,<0.9.0` ([#976](#976)) ([1003e6c](1003e6c))
* resolve name paths in `{[@link](https://github.com/link) }` tags in documentation ([#978](#978)) ([b59d6f0](b59d6f0))

### Bug Fixes

* catch internal errors caused by wrong synthetic nodes created by completion provider ([#1001](#1001)) ([8a6ab99](8a6ab99))
* chained memoized calls ([#987](#987)) ([df89291](df89291))
* correctly import declarations for member functions ([#983](#983)) ([79f9b08](79f9b08))
* error in Python generator for assignments with class/enum variant call as RHS ([#977](#977)) ([46b2bb2](46b2bb2)), closes [#975](#975)
* generation of memoized class member calls ([#982](#982)) ([ed06aef](ed06aef))
* generation of Python imports ([#979](#979)) ([f69d836](f69d836)), closes [#974](#974)
* invalid Python code generated for constructor calls ([#981](#981)) ([c7d006f](c7d006f)), closes [#980](#980)
* Python generation for type casts ([#1000](#1000)) ([621ab86](621ab86))
@lars-reimann
Copy link
Member Author

🎉 This issue has been resolved in version 0.10.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label Apr 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🪲 Something isn't working released Included in a release
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant