fix genderef of jsgen (#5274)

This commit is contained in:
shsnow23
2017-01-25 00:59:34 +09:00
committed by Andreas Rumpf
parent c54bffae5b
commit c7e54eba91
2 changed files with 21 additions and 1 deletions

View File

@@ -1200,7 +1200,7 @@ proc genDeref(p: PProc, n: PNode, r: var TCompRes) =
r.res = "$1[$2]" % [a.address, a.res]
elif n.sons[0].kind == nkCall:
let tmp = p.getTemp
r.res = "($1 = $2, $1[0][$1[1]])" % [tmp, a.res]
r.res = "($1 = $2, $1[0])[$1[1]]" % [tmp, a.res]
else:
internalError(n.info, "genDeref")

20
tests/js/tderef.nim Normal file
View File

@@ -0,0 +1,20 @@
discard """
output: '''true
'''
"""
import tables
type EventStore = Table[string, seq[proc ()]]
proc newEventStore(): EventStore =
initTable[string, seq[proc ()]]()
proc register(store: var EventStore, name: string, callback: proc ()) =
if not store.hasKey(name):
store[name] = @[]
store[name].add(callback)
var store = newEventStore()
store.register("test", proc () = echo "true")
store["test"][0]()