Correctly mangle this in the JS backend (#8853)
As shown in pragmagic/karax#67 using `this` as parameter name made the codegen output wrong code (and the user didn't notice the errors in the browser console).
This commit is contained in:
parent
0694c9080f
commit
1a60ffcf1d
3 changed files with 27 additions and 3 deletions
23
tests/js/tthismangle.nim
Normal file
23
tests/js/tthismangle.nim
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
proc moo1(this: int) =
|
||||
doAssert this == 42
|
||||
|
||||
proc moo2(x: int) =
|
||||
var this = x
|
||||
doAssert this == 42
|
||||
|
||||
proc moo3() =
|
||||
for this in [1,1,1]:
|
||||
doAssert this == 1
|
||||
|
||||
proc moo4() =
|
||||
type
|
||||
X = object
|
||||
this: int
|
||||
|
||||
var q = X(this: 42)
|
||||
doAssert q.this == 42
|
||||
|
||||
moo1(42)
|
||||
moo2(42)
|
||||
moo3()
|
||||
moo4()
|
||||
Loading…
Add table
Add a link
Reference in a new issue