summary refs log tree commit diff stats
path: root/compiler/pragmas.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2015-09-06 02:29:30 +0200
committerAraq <rumpf_a@web.de>2015-09-06 02:31:28 +0200
commitdc047931bbde432512053c91d0cb9b8a230a7574 (patch)
tree7a56044ed8db0c741cd5777bb192c7e155617c8e /compiler/pragmas.nim
parentd2e4d6ad8235e96191faae376c134e224fafdc11 (diff)
downloadNim-dc047931bbde432512053c91d0cb9b8a230a7574.tar.gz
fixes #2590; methods now require a .base annotation
Diffstat (limited to 'compiler/pragmas.nim')
-rw-r--r--compiler/pragmas.nim5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/pragmas.nim b/compiler/pragmas.nim
index 5f317ed24..1c51251fe 100644
--- a/compiler/pragmas.nim
+++ b/compiler/pragmas.nim
@@ -27,7 +27,7 @@ const
     wGensym, wInject, wRaises, wTags, wLocks, wDelegator, wGcSafe,
     wOverride, wConstructor}
   converterPragmas* = procPragmas
-  methodPragmas* = procPragmas
+  methodPragmas* = procPragmas+{wBase}
   templatePragmas* = {wImmediate, wDeprecated, wError, wGensym, wInject, wDirty,
     wDelegator}
   macroPragmas* = {FirstCallConv..LastCallConv, wImmediate, wImportc, wExportc,
@@ -867,6 +867,9 @@ proc singlePragma(c: PContext, sym: PSym, n: PNode, i: int,
           localError(it.info, "'experimental' pragma only valid as toplevel statement")
       of wNoRewrite:
         noVal(it)
+      of wBase:
+        noVal(it)
+        sym.flags.incl sfBase
       else: invalidPragma(it)
     else: invalidPragma(it)