Skip to content
New issue

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

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

Already on GitHub? # to your account

[Bug]: Chained assignment operator with field access of super during static field initialization #6309

Closed
p51lee opened this issue Nov 1, 2022 · 1 comment · Fixed by #6319
Assignees
Labels
Milestone

Comments

@p51lee
Copy link

p51lee commented Nov 1, 2022

Describe the bug

A normal termination is expected but there is an invalid left-hand side in the output code.

Input code

class x { static x = super . x += super . x += 0 ; }

Config

No response

Playground link

https://play.swc.rs/?version=1.3.11&code=H4sIAAAAAAAAA0vOSSwuVqhQqFYoLkksyUwGMm0ViksLUosU9IBsbTSOgYK1Qi0Ad6xXZjQAAAA%3D&config=H4sIAAAAAAAAA0WMTQrEIAxG75K1286id5hDBCctFv9IUhgR714tlu7C915ehUMsrBUyshCPS0pU%2FMMKZAOKZZcVTNf6tKEXagYUeScdiiyd%2BZSEJjUQXHRbGSWbQmYSeRHG3T9m66GQfucYKmjJdAc%2F0N7G%2FHPynaLySe0Cj9ke9LUAAAA%3D

Expected behavior

A normal termination is expected:

$ node input.js
// terminates without error

Actual behavior

The output code has an invalid left-hand side:

$ node output.js
output.js:100
_defineProperty(x, "x", _update(_getPrototypeOf(x), "x", x, true)._ += _get(_getPrototypeOf(x), "x", x) += 0);
                                                                       ^

ReferenceError: Invalid left-hand side in assignment
    at Object.<anonymous> (/Users/p51lee/dev/esmeta-plrg/output.js:100:72)
    at Module._compile (node:internal/modules/cjs/loader:1159:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.11.0

Version

1.3.11 (default SWC playground)

Additional context

No response

@p51lee p51lee added the C-bug label Nov 1, 2022
@kdy1 kdy1 added this to the Planned milestone Nov 2, 2022
@kdy1 kdy1 self-assigned this Nov 3, 2022
@kdy1 kdy1 closed this as completed in #6319 Nov 3, 2022
@kdy1 kdy1 modified the milestones: Planned, v1.3.15 Nov 12, 2022
@swc-bot
Copy link
Collaborator

swc-bot commented Dec 12, 2022

This closed issue has been automatically locked because it had no new activity for a month. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you.

@swc-project swc-project locked as resolved and limited conversation to collaborators Dec 12, 2022
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
Development

Successfully merging a pull request may close this issue.

3 participants