This commit is contained in:
Araq 2014-08-19 20:42:48 +02:00
commit e935a35bcf

View file

@ -1374,20 +1374,19 @@ proc lookUpForDefined(c: PContext, n: PNode, onlyCurrentScope: bool): PSym =
if onlyCurrentScope: return if onlyCurrentScope: return
checkSonsLen(n, 2) checkSonsLen(n, 2)
var m = lookUpForDefined(c, n.sons[0], onlyCurrentScope) var m = lookUpForDefined(c, n.sons[0], onlyCurrentScope)
if (m != nil) and (m.kind == skModule): if m != nil and m.kind == skModule:
if (n.sons[1].kind == nkIdent): let ident = considerQuotedIdent(n[1])
var ident = n.sons[1].ident if m == c.module:
if m == c.module: result = strTableGet(c.topLevelScope.symbols, ident)
result = strTableGet(c.topLevelScope.symbols, ident)
else:
result = strTableGet(m.tab, ident)
else: else:
localError(n.sons[1].info, errIdentifierExpected, "") result = strTableGet(m.tab, ident)
of nkAccQuoted: of nkAccQuoted:
result = lookUpForDefined(c, considerQuotedIdent(n), onlyCurrentScope) result = lookUpForDefined(c, considerQuotedIdent(n), onlyCurrentScope)
of nkSym: of nkSym:
result = n.sym result = n.sym
else: of nkOpenSymChoice, nkClosedSymChoice:
result = n.sons[0].sym
else:
localError(n.info, errIdentifierExpected, renderTree(n)) localError(n.info, errIdentifierExpected, renderTree(n))
result = nil result = nil