Fixes #5112 (Fix error messages raised when multiple modules have the same original name) (#5220)

Fixes #5112
This commit is contained in:
Lolo Iccl 2017-01-18 00:58:50 +09:00 • committed by Andreas Rumpf
commit b6b5a11be7
5 changed files with 18 additions and 3 deletions

View file

@ -133,11 +133,12 @@ proc newModule(graph: ModuleGraph; fileIdx: int32): PSym =
rawMessage(errInvalidModuleName, result.name.s)
result.info = newLineInfo(fileIdx, 1, 1)
let pack = getIdent(getPackageName(filename))
let
pck = getPackageName(filename)
pck2 = if pck.len > 0: pck else: "unknown"
pack = getIdent(pck2)
var packSym = graph.packageSyms.strTableGet(pack)
if packSym == nil:
let pck = getPackageName(filename)
let pck2 = if pck.len > 0: pck else: "unknown"
packSym = newSym(skPackage, getIdent(pck2), nil, result.info)
initStrTable(packSym.tab)
graph.packageSyms.strTableAdd(packSym)

View file

View file

@ -0,0 +1,7 @@
discard """
file: "tnotuniquename/mnotuniquename.nim"
errormsg: "module names need to be unique per Nimble package"
"""
import mnotuniquename
import tnotuniquename/mnotuniquename as nun

View file

@ -0,0 +1,7 @@
discard """
file: "tnotuniquename/mnotuniquename.nim"
errormsg: "module names need to be unique per Nimble package"
"""
import mnotuniquename
import tnotuniquename/mnotuniquename