This commit is contained in:
Andreas Rumpf 2019-07-06 20:38:10 +02:00
commit cab0c3e544

View file

@ -79,19 +79,19 @@ proc importSymbol(c: PContext, n: PNode, fromMod: PSym) =
else: else:
when false: when false:
if s.kind == skStub: loadStub(s) if s.kind == skStub: loadStub(s)
if s.kind notin ExportableSymKinds: let multiImport = s.kind notin ExportableSymKinds or s.kind in skProcKinds
internalError(c.config, n.info, "importSymbol: 2")
# for an enumeration we have to add all identifiers # for an enumeration we have to add all identifiers
case s.kind if multiImport:
of skProcKinds:
# for a overloadable syms add all overloaded routines # for a overloadable syms add all overloaded routines
var it: TIdentIter var it: TIdentIter
var e = initIdentIter(it, fromMod.tab, s.name) var e = initIdentIter(it, fromMod.tab, s.name)
while e != nil: while e != nil:
if e.name.id != s.name.id: internalError(c.config, n.info, "importSymbol: 3") if e.name.id != s.name.id: internalError(c.config, n.info, "importSymbol: 3")
if s.kind in ExportableSymKinds:
rawImportSymbol(c, e) rawImportSymbol(c, e)
e = nextIdentIter(it, fromMod.tab) e = nextIdentIter(it, fromMod.tab)
else: rawImportSymbol(c, s) else:
rawImportSymbol(c, s)
suggestSym(c.config, n.info, s, c.graph.usageSym, false) suggestSym(c.config, n.info, s, c.graph.usageSym, false)
proc importAllSymbolsExcept(c: PContext, fromMod: PSym, exceptSet: IntSet) = proc importAllSymbolsExcept(c: PContext, fromMod: PSym, exceptSet: IntSet) =