summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2017-09-23 23:22:53 +0200
committerAndreas Rumpf <rumpf_a@web.de>2017-09-23 23:22:53 +0200
commit1a61c4d46de11e957bdb6ff545bf52ccf15dbe06 (patch)
treec8f93a1b0abae22523f85dc7cf7720209ab57ce7 /lib
parent2e93bac227bf266e710bf4966a0f93461033583a (diff)
downloadNim-1a61c4d46de11e957bdb6ff545bf52ccf15dbe06.tar.gz
first implementation of the 'func' keyword
Diffstat (limited to 'lib')
-rw-r--r--lib/core/macros.nim8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/core/macros.nim b/lib/core/macros.nim
index e88002c7b..28b3dd7ab 100644
--- a/lib/core/macros.nim
+++ b/lib/core/macros.nim
@@ -75,7 +75,8 @@ type
     nnkClosure,
     nnkGotoState,
     nnkState,
-    nnkBreakState
+    nnkBreakState,
+    nnkFuncDef
 
   NimNodeKinds* = set[NimNodeKind]
   NimTypeKind* = enum  # some types are no longer used, see ast.nim
@@ -103,7 +104,7 @@ type
     nskUnknown, nskConditional, nskDynLib, nskParam,
     nskGenericParam, nskTemp, nskModule, nskType, nskVar, nskLet,
     nskConst, nskResult,
-    nskProc, nskMethod, nskIterator,
+    nskProc, nskFunc, nskMethod, nskIterator,
     nskConverter, nskMacro, nskTemplate, nskField,
     nskEnumField, nskForVar, nskLabel,
     nskStub
@@ -843,7 +844,8 @@ proc last*(node: NimNode): NimNode {.compileTime.} = node[<node.len]
 
 
 const
-  RoutineNodes* = {nnkProcDef, nnkMethodDef, nnkDo, nnkLambda, nnkIteratorDef, nnkTemplateDef, nnkConverterDef}
+  RoutineNodes* = {nnkProcDef, nnkFuncDef, nnkMethodDef, nnkDo, nnkLambda,
+                   nnkIteratorDef, nnkTemplateDef, nnkConverterDef}
   AtomicNodes* = {nnkNone..nnkNilLit}
   CallNodes* = {nnkCall, nnkInfix, nnkPrefix, nnkPostfix, nnkCommand,
     nnkCallStrLit, nnkHiddenCallConv}