allow StmtLists to pass through semExprWithType

This fix was necessary in order to fix the lambda lifting used in
the "jsffi" module, which relies on turning nkStmtList into nkLambda
in a catch-all dot operator.
This commit is contained in:
Zahary Karadjov 2017-04-11 02:22:13 +03:00
commit 03770daba4
2 changed files with 8 additions and 5 deletions

View file

@ -78,6 +78,7 @@ type
## Statically typed wrapper around a JavaScript object.
NotString = concept c
c isnot string
js* = JsObject
var jsarguments* {.importc: "arguments", nodecl}: JsObject
## JavaScript's arguments pseudo-variable
@ -133,10 +134,6 @@ proc `/=` *(x, y: JsObject): JsObject {. importcpp: "(# /= #)", discardable .}
proc `%=` *(x, y: JsObject): JsObject {. importcpp: "(# %= #)", discardable .}
proc `++` *(x: JsObject): JsObject {. importcpp: "(++#)" .}
proc `--` *(x: JsObject): JsObject {. importcpp: "(--#)" .}
# proc `==` *(x, y: JsObject): JsObject {. importcpp: "(# == #)" .}
# proc `===`*(x, y: JsObject): JsObject {. importcpp: "(# === #)" .}
# proc `!=` *(x, y: JsObject): JsObject {. importcpp: "(# != #)" .}
# proc `!==`*(x, y: JsObject): JsObject {. importcpp: "(# !== #)" .}
proc `>` *(x, y: JsObject): JsObject {. importcpp: "(# > #)" .}
proc `<` *(x, y: JsObject): JsObject {. importcpp: "(# < #)" .}
proc `>=` *(x, y: JsObject): JsObject {. importcpp: "(# >= #)" .}