From be2e7290fb6e21569237a1230669985d3c317c78 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sat, 23 Sep 2017 23:29:23 +0200 Subject: [PATCH] write tracking for funcs implemented --- compiler/semexprs.nim | 3 ++- compiler/semstmts.nim | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index 315efa4401..903db115f9 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -2330,7 +2330,8 @@ proc semExpr(c: PContext, n: PNode, flags: TExprFlags = {}): PNode = of nkYieldStmt: result = semYield(c, n) of nkPragma: pragma(c, c.p.owner, n, stmtPragmas) of nkIteratorDef: result = semIterator(c, n) - of nkProcDef, nkFuncDef: result = semProc(c, n) + of nkProcDef: result = semProc(c, n) + of nkFuncDef: result = semFunc(c, n) of nkMethodDef: result = semMethod(c, n) of nkConverterDef: result = semConverterDef(c, n) of nkMacroDef: result = semMacroDef(c, n) diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index 2581c20e51..35f0cf6dc3 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -1604,6 +1604,9 @@ proc semIterator(c: PContext, n: PNode): PNode = proc semProc(c: PContext, n: PNode): PNode = result = semProcAux(c, n, skProc, procPragmas) +proc semFunc(c: PContext, n: PNode): PNode = + result = semProcAux(c, n, skFunc, procPragmas) + proc semMethod(c: PContext, n: PNode): PNode = if not isTopLevel(c): localError(n.info, errXOnlyAtModuleScope, "method") result = semProcAux(c, n, skMethod, methodPragmas)