improved comment satement support in macros (#5904)

This commit is contained in:
Arne Döring 2017-06-02 01:22:21 +02:00 • committed by Andreas Rumpf
commit eb8e267ff6
4 changed files with 29 additions and 20 deletions

View file

@ -255,6 +255,11 @@ proc newStrLitNode*(s: string): NimNode {.compileTime, noSideEffect.} =
result = newNimNode(nnkStrLit)
result.strVal = s
proc newCommentStmtNode*(s: string): NimNode {.compileTime, noSideEffect.} =
## creates a comment statement node
result = newNimNode(nnkCommentStmt)
result.strVal = s
proc newIntLitNode*(i: BiggestInt): NimNode {.compileTime.} =
## creates a int literal node from `i`
result = newNimNode(nnkIntLit)
@ -275,6 +280,7 @@ proc newIdentNode*(i: string): NimNode {.compileTime.} =
result = newNimNode(nnkIdent)
result.ident = !i
type
BindSymRule* = enum ## specifies how ``bindSym`` behaves
brClosed, ## only the symbols in current scope are bound
@ -835,6 +841,8 @@ proc `$`*(node: NimNode): string {.compileTime.} =
result = $node[0]
of nnkAccQuoted:
result = $node[0]
of nnkCommentStmt:
result = node.strVal
else:
badNodeKind node.kind, "$"