diff --git a/dsymbol/src/dsymbol/conversion/first.d b/dsymbol/src/dsymbol/conversion/first.d index e488566..6197546 100644 --- a/dsymbol/src/dsymbol/conversion/first.d +++ b/dsymbol/src/dsymbol/conversion/first.d @@ -359,28 +359,31 @@ final class FirstPass : ASTVisitor dec.accept(this); } - override void visit(const Module mod) - { - rootSymbol = allocateSemanticSymbol(null, CompletionKind.moduleName, - symbolFile); - currentSymbol = rootSymbol; - moduleScope = GCAllocator.instance.make!Scope(0, uint.max); - currentScope = moduleScope; - auto objectLocation = cache.resolveImportLocation("object"); - if (objectLocation is null) - warning("Could not locate object.d or object.di"); - else - { - auto objectImport = allocateSemanticSymbol(IMPORT_SYMBOL_NAME, - CompletionKind.importSymbol, objectLocation); - objectImport.acSymbol.skipOver = true; - currentSymbol.addChild(objectImport, true); - currentScope.addSymbol(objectImport.acSymbol, false); - } - foreach (s; builtinSymbols[]) - currentScope.addSymbol(s, false); - mod.accept(this); - } + override void visit(const Module mod) + { + rootSymbol = allocateSemanticSymbol(null, CompletionKind.moduleName, + symbolFile); + currentSymbol = rootSymbol; + moduleScope = GCAllocator.instance.make!Scope(0, uint.max); + currentScope = moduleScope; + auto objectLocations = cache.resolveImportLocations("object"); + if (objectLocations is null) + warning("Could not locate object.d or object.di"); + else + { + foreach (objectLocation; objectLocations) + { + auto objectImport = allocateSemanticSymbol(IMPORT_SYMBOL_NAME, + CompletionKind.importSymbol, objectLocation); + objectImport.acSymbol.skipOver = true; + currentSymbol.addChild(objectImport, true); + currentScope.addSymbol(objectImport.acSymbol, false); + } + } + foreach (s; builtinSymbols[]) + currentScope.addSymbol(s, false); + mod.accept(this); + } override void visit(const EnumDeclaration dec) {