diff options
author | Araq <rumpf_a@web.de> | 2018-05-14 17:45:44 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2018-05-14 17:45:44 +0200 |
commit | 5526252fa0218816c3ca5399a7cb927d9b2bbdc4 (patch) | |
tree | c2b90cfebc5d1ac6dabe6664004fa6dd41a41f0e /compiler/importer.nim | |
parent | 1616c6e0297efd09000c4286d1fdfc986ee1ab7a (diff) | |
parent | 6b5ad56ab3b5c6f62f8a5f312fe282ff05f7bafa (diff) | |
download | Nim-5526252fa0218816c3ca5399a7cb927d9b2bbdc4.tar.gz |
fixes testament compilation
Diffstat (limited to 'compiler/importer.nim')
-rw-r--r-- | compiler/importer.nim | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/compiler/importer.nim b/compiler/importer.nim index ed988cea7..90e774a50 100644 --- a/compiler/importer.nim +++ b/compiler/importer.nim @@ -16,6 +16,13 @@ import proc evalImport*(c: PContext, n: PNode): PNode proc evalFrom*(c: PContext, n: PNode): PNode +proc readExceptSet*(c: PContext, n: PNode): IntSet = + assert n.kind in {nkImportExceptStmt, nkExportExceptStmt} + result = initIntSet() + for i in 1 ..< n.len: + let ident = lookups.considerQuotedIdent(c.config, n[i]) + result.incl(ident.id) + proc importPureEnumField*(c: PContext; s: PSym) = var check = strTableGet(c.importTable.symbols, s.name) if check == nil: @@ -199,9 +206,5 @@ proc evalImportExcept*(c: PContext, n: PNode): PNode = if m != nil: n.sons[0] = newSymNode(m) 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(c.config, n.sons[i]) - exceptSet.incl(ident.id) - importAllSymbolsExcept(c, m, exceptSet) + importAllSymbolsExcept(c, m, readExceptSet(c, n)) #importForwarded(c, m.ast, exceptSet) |