summary refs log tree commit diff stats
path: root/compiler/importer.nim
diff options
context:
space:
mode:
authorKier Davis <kierdavis@gmail.com>2016-07-30 14:22:24 +0100
committerKier Davis <kierdavis@gmail.com>2016-07-30 14:29:45 +0100
commit2bea2bdbbf0b709811203f64d07ba6ddf3e90cc7 (patch)
tree132c9eac123668d1663211ae3992fed6da563f4e /compiler/importer.nim
parent2605c8c4ced0b088d5619d86903d659e8ff89a76 (diff)
downloadNim-2bea2bdbbf0b709811203f64d07ba6ddf3e90cc7.tar.gz
Locate 'attempt to redefine' errors at the import statement rather than at the first line of the imported module. Fixes #4541.
Diffstat (limited to 'compiler/importer.nim')
-rw-r--r--compiler/importer.nim6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/importer.nim b/compiler/importer.nim
index 5ffe12728..dd2c4d954 100644
--- a/compiler/importer.nim
+++ b/compiler/importer.nim
@@ -176,7 +176,7 @@ proc evalImport(c: PContext, n: PNode): PNode =
     var m = myImportModule(c, n.sons[i])
     if m != nil:
       # ``addDecl`` needs to be done before ``importAllSymbols``!
-      addDecl(c, m)             # add symbol to symbol table of module
+      addDecl(c, m, n.info)             # add symbol to symbol table of module
       importAllSymbolsExcept(c, m, emptySet)
       #importForwarded(c, m.ast, emptySet)
 
@@ -186,7 +186,7 @@ proc evalFrom(c: PContext, n: PNode): PNode =
   var m = myImportModule(c, n.sons[0])
   if m != nil:
     n.sons[0] = newSymNode(m)
-    addDecl(c, m)               # add symbol to symbol table of module
+    addDecl(c, m, n.info)               # add symbol to symbol table of module
     for i in countup(1, sonsLen(n) - 1):
       if n.sons[i].kind != nkNilLit:
         importSymbol(c, n.sons[i], m)
@@ -197,7 +197,7 @@ proc evalImportExcept*(c: PContext, n: PNode): PNode =
   var m = myImportModule(c, n.sons[0])
   if m != nil:
     n.sons[0] = newSymNode(m)
-    addDecl(c, m)               # add symbol to symbol table of module
+    addDecl(c, m, n.info)               # add symbol to symbol table of module
     var exceptSet = initIntSet()
     for i in countup(1, sonsLen(n) - 1):
       let ident = lookups.considerQuotedIdent(n.sons[i])