This commit is contained in:
Dominik Picheta 2014-08-14 19:03:31 +01:00
commit bd32255f90

View file

@ -27,7 +27,6 @@ export TPort, TSocketFlags
## **Note:** This module is still largely experimental. ## **Note:** This module is still largely experimental.
# TODO: Discarded void PFutures need to be checked for exception.
# TODO: ``except`` statement (without `try`) does not work. # TODO: ``except`` statement (without `try`) does not work.
# TODO: Multiple exception names in a ``except`` don't work. # TODO: Multiple exception names in a ``except`` don't work.
# TODO: The effect system (raises: []) has trouble with my try transformation. # TODO: The effect system (raises: []) has trouble with my try transformation.
@ -1003,7 +1002,7 @@ proc processBody(node, retFutureSym: PNimrodNode,
of nnkIdent: of nnkIdent:
# await x # await x
result = newNimNode(nnkYieldStmt, node).add(node[1]) # -> yield x result = newNimNode(nnkYieldStmt, node).add(node[1]) # -> yield x
of nnkCall: of nnkCall, nnkCommand:
# await foo(p, x) # await foo(p, x)
var futureValue: PNimrodNode var futureValue: PNimrodNode
result.createVar("future" & $node[1][0].toStrLit, node[1], futureValue, result.createVar("future" & $node[1][0].toStrLit, node[1], futureValue,
@ -1020,7 +1019,7 @@ proc processBody(node, retFutureSym: PNimrodNode,
of nnkVarSection, nnkLetSection: of nnkVarSection, nnkLetSection:
case node[0][2].kind case node[0][2].kind
of nnkCommand: of nnkCommand:
if node[0][2][0].ident == !"await": if node[0][2][0].kind == nnkIdent and node[0][2][0].ident == !"await":
# var x = await y # var x = await y
var newVarSection = node # TODO: Should this use copyNimNode? var newVarSection = node # TODO: Should this use copyNimNode?
result.createVar("future" & $node[0][0].ident, node[0][2][1], result.createVar("future" & $node[0][0].ident, node[0][2][1],