mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
make tests green again
This commit is contained in:
@@ -300,7 +300,7 @@ macro `.()`*[K: string | cstring, V: proc](obj: JsAssoc[K, V],
|
||||
result = quote do:
|
||||
(`dotOp`(`obj`, `field`))()
|
||||
for elem in args:
|
||||
result[0].add elem
|
||||
result.add elem
|
||||
|
||||
# Iterators:
|
||||
|
||||
@@ -471,7 +471,7 @@ macro bindMethod*(procedure: typed): auto =
|
||||
# construct the `this` parameter:
|
||||
thisQuote = quote do:
|
||||
var `this` {. nodecl, importc .} : `thisType`
|
||||
call = newNimNode(nnkCall).add(rawProc[0], thisQuote[0][0][0][0])
|
||||
call = newNimNode(nnkCall).add(rawProc[0], thisQuote[0][0][0])
|
||||
# construct the procedure call inside the method
|
||||
if args.len > 2:
|
||||
for idx in 2..args.len-1:
|
||||
@@ -483,6 +483,6 @@ macro bindMethod*(procedure: typed): auto =
|
||||
params,
|
||||
rawProc[4],
|
||||
rawProc[5],
|
||||
newTree(nnkStmtList, thisQuote[0], call)
|
||||
newTree(nnkStmtList, thisQuote, call)
|
||||
)
|
||||
result = body
|
||||
|
||||
@@ -15,9 +15,9 @@ static:
|
||||
|
||||
proc checkNode(arg: NimNode; name: string): void {. compileTime .} =
|
||||
echo "checking ", name
|
||||
|
||||
|
||||
assertEq arg.lispRepr , "StmtList(DiscardStmt(Empty()))"
|
||||
|
||||
|
||||
node = arg
|
||||
nodeArray = [arg]
|
||||
nodeSeq[0] = arg
|
||||
@@ -38,9 +38,9 @@ proc checkNode(arg: NimNode; name: string): void {. compileTime .} =
|
||||
static:
|
||||
# the root node that is used to generate the Ast
|
||||
var stmtList: NimNode
|
||||
|
||||
|
||||
stmtList = newStmtList(nnkDiscardStmt.newTree(newEmptyNode()))
|
||||
|
||||
|
||||
checkNode(stmtList, "direct construction")
|
||||
|
||||
|
||||
@@ -50,12 +50,12 @@ macro foo(stmtList: untyped): untyped =
|
||||
foo:
|
||||
discard
|
||||
|
||||
|
||||
|
||||
static:
|
||||
stmtList = quote do:
|
||||
discard
|
||||
|
||||
checkNode(stmtList, "create with quote")
|
||||
checkNode(newTree(nnkStmtList, stmtList), "create with quote")
|
||||
|
||||
|
||||
static:
|
||||
@@ -64,13 +64,13 @@ static:
|
||||
for i in 0 ..< 10:
|
||||
discard
|
||||
|
||||
let innerBody = loop[0][2]
|
||||
let innerBody = loop[2]
|
||||
innerBody.add newCall(ident"echo", newLit("Hello World"))
|
||||
|
||||
assertEq loop[0][2].lispRepr, innerBody.lispRepr
|
||||
assertEq loop[2].lispRepr, innerBody.lispRepr
|
||||
|
||||
echo "OK"
|
||||
|
||||
|
||||
|
||||
static:
|
||||
echo "testing creation of comment node"
|
||||
|
||||
Reference in New Issue
Block a user