eval context for macros lives as long as the current module is compiled
This commit is contained in:
parent
fe9bb1869d
commit
a0a8934a4f
6 changed files with 68 additions and 25 deletions
|
|
@ -107,8 +107,9 @@ proc semAfterMacroCall(c: PContext, n: PNode, s: PSym): PNode =
|
|||
proc semMacroExpr(c: PContext, n: PNode, sym: PSym,
|
||||
semCheck: bool = true): PNode =
|
||||
markUsed(n, sym)
|
||||
var p = newEvalContext(c.module, "", false)
|
||||
result = evalMacroCall(p, n, sym)
|
||||
if c.evalContext == nil:
|
||||
c.evalContext = newEvalContext(c.module, "", false)
|
||||
result = evalMacroCall(c.evalContext, n, sym)
|
||||
if semCheck: result = semAfterMacroCall(c, result, sym)
|
||||
|
||||
proc forceBool(c: PContext, n: PNode): PNode =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue