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

Syntax errors in Python code for constructor call #980

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

Syntax errors in Python code for constructor call #980

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

Comments

@lars-reimann
Copy link
Member

lars-reimann commented Apr 3, 2024

Describe the bug

Syntactically wrong Python code is created for constructor calls if runner integration is enabled.

To Reproduce

Generate Python code with runner integration for this:

package tests.generator.safeds

pipeline test {
    val a = Table();
}

Output:

# Imports ----------------------------------------------------------------------

import safeds_runner
from safeds.data.tabular.containers import Table

# Pipelines --------------------------------------------------------------------

def test():
    a = safeds_runner.memoized_call("safeds.data.tabular.containers.Table", Table, [, None], [])
    safeds_runner.save_placeholder('a', a)

[, None] is not syntactically correct. Before the comma, an empty thisParam is inserted.

Expected behavior

The following code should be created:

# Imports ----------------------------------------------------------------------

import safeds_runner
from safeds.data.tabular.containers import Table

# Pipelines --------------------------------------------------------------------

def test():
    a = safeds_runner.memoized_call("safeds.data.tabular.containers.Table", Table, [None], [])
    safeds_runner.save_placeholder('a', a)

Screenshots (optional)

No response

Additional Context (optional)

No response

@lars-reimann lars-reimann added the bug 🪲 Something isn't working label Apr 3, 2024
@lars-reimann lars-reimann added this to the v0.10.0 milestone Apr 3, 2024
@lars-reimann lars-reimann self-assigned this Apr 3, 2024
@lars-reimann lars-reimann added this to DSL Apr 3, 2024
@github-project-automation github-project-automation bot moved this to Backlog in DSL Apr 3, 2024
@lars-reimann lars-reimann moved this from Backlog to In Progress in DSL Apr 3, 2024
@lars-reimann lars-reimann linked a pull request Apr 3, 2024 that will close this issue
lars-reimann added a commit that referenced this issue Apr 3, 2024
Closes #980

### Summary of Changes

No longer add an empty receiver parameter to the code that is generated
for constructor calls.
@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