diff options
-rw-r--r-- | compiler/semexprs.nim | 3 | ||||
-rw-r--r-- | lib/core/macros.nim | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index eb5b8d2c1..1ab43d84f 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -2019,7 +2019,8 @@ proc semQuoteAst(c: PContext, n: PNode): PNode = var tmpl = semTemplateDef(c, dummyTemplate) quotes[0] = tmpl[namePos] # This adds a call to newIdentNode("result") as the first argument to the template call - quotes[1] = newNode(nkCall, n.info, @[newIdentNode(getIdent(c.cache, "newIdentNode"), n.info), newStrNode(nkStrLit, "result")]) + let identNode = getCompilerProc(c.graph, "newIdentNode") + quotes[1] = newNode(nkCall, n.info, @[identNode.newSymNode, newStrNode(nkStrLit, "result")]) result = newNode(nkCall, n.info, @[ createMagic(c.graph, "getAst", mExpandToAst).newSymNode, newNode(nkCall, n.info, quotes)]) diff --git a/lib/core/macros.nim b/lib/core/macros.nim index 2e1eeb042..b0414153e 100644 --- a/lib/core/macros.nim +++ b/lib/core/macros.nim @@ -446,7 +446,7 @@ proc newIdentNode*(i: NimIdent): NimNode {.compileTime, deprecated.} = {.pop.} -proc newIdentNode*(i: string): NimNode {.magic: "StrToIdent", noSideEffect.} +proc newIdentNode*(i: string): NimNode {.magic: "StrToIdent", noSideEffect, compilerproc.} ## creates an identifier node from `i`. It is simply an alias for ## ``ident(string)``. Use that, it's shorter. |