| Index: compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| diff --git a/compiler/java/com/google/dart/compiler/resolver/Resolver.java b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| index c3fd4d8e3549192495551baa81dcecc0389e561d..cc585dfba236f0a4524a071ff90bf133f537a907 100644
|
| --- a/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| +++ b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| @@ -40,6 +40,7 @@ import com.google.dart.compiler.ast.DartFunctionTypeAlias;
|
| import com.google.dart.compiler.ast.DartGotoStatement;
|
| import com.google.dart.compiler.ast.DartIdentifier;
|
| import com.google.dart.compiler.ast.DartIfStatement;
|
| +import com.google.dart.compiler.ast.DartImportDirective;
|
| import com.google.dart.compiler.ast.DartInitializer;
|
| import com.google.dart.compiler.ast.DartIntegerLiteral;
|
| import com.google.dart.compiler.ast.DartInvocation;
|
| @@ -76,6 +77,8 @@ import com.google.dart.compiler.ast.DartUnqualifiedInvocation;
|
| import com.google.dart.compiler.ast.DartVariable;
|
| import com.google.dart.compiler.ast.DartVariableStatement;
|
| import com.google.dart.compiler.ast.DartWhileStatement;
|
| +import com.google.dart.compiler.ast.LibraryImport;
|
| +import com.google.dart.compiler.ast.LibraryUnit;
|
| import com.google.dart.compiler.ast.Modifiers;
|
| import com.google.dart.compiler.common.HasSourceInfo;
|
| import com.google.dart.compiler.common.SourceInfo;
|
| @@ -230,11 +233,33 @@ public class Resolver {
|
|
|
| @Override
|
| public Element visitUnit(DartUnit unit) {
|
| + List<DartImportDirective> importDirectives = Lists.newArrayList();
|
| for (DartDirective directive : unit.getDirectives()) {
|
| + if (directive instanceof DartImportDirective) {
|
| + importDirectives.add((DartImportDirective) directive);
|
| + }
|
| if (directive instanceof DartPartOfDirective) {
|
| directive.accept(this);
|
| }
|
| }
|
| + // set LibraryElement for "import" directives
|
| + {
|
| + LibraryUnit library = unit.getLibrary();
|
| + if (library != null) {
|
| + Iterator<LibraryImport> importIterator = library.getImports().iterator();
|
| + Iterator<DartImportDirective> directiveIterator = importDirectives.iterator();
|
| + while (importIterator.hasNext() && directiveIterator.hasNext()) {
|
| + LibraryImport imp = importIterator.next();
|
| + DartImportDirective dir = directiveIterator.next();
|
| + DartStringLiteral uri = dir.getLibraryUri();
|
| + LibraryUnit impLibrary = imp.getLibrary();
|
| + if (uri != null && impLibrary != null) {
|
| + uri.setElement(impLibrary.getElement());
|
| + }
|
| + }
|
| + }
|
| + }
|
| + // visit top-level nodes
|
| for (DartNode node : unit.getTopLevelNodes()) {
|
| node.accept(this);
|
| }
|
|
|