Index: dart/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java |
=================================================================== |
--- dart/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java (revision 30037) |
+++ dart/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java (working copy) |
@@ -335,9 +335,9 @@ |
private HashMap<String, LibraryElement> nameToImportElement = new HashMap<String, LibraryElement>(); |
/** |
- * A table mapping names to the export elements exported them. |
+ * A table mapping names to the exported elements. |
*/ |
- private HashMap<String, ExportElement> exportedNames = new HashMap<String, ExportElement>(); |
+ private HashMap<String, Element> exportedElements = new HashMap<String, Element>(); |
/** |
* A set of the names of the variable initializers we are visiting now. |
@@ -1730,19 +1730,21 @@ |
} |
// check exported names |
Namespace namespace = new NamespaceBuilder().createExportNamespace(exportElement); |
- Set<String> newNames = namespace.getDefinedNames().keySet(); |
- for (String name : newNames) { |
- ExportElement prevElement = exportedNames.get(name); |
- if (prevElement != null && prevElement != exportElement) { |
+ Map<String, Element> definedNames = namespace.getDefinedNames(); |
+ for (Entry<String, Element> definedEntry : definedNames.entrySet()) { |
+ String name = definedEntry.getKey(); |
+ Element element = definedEntry.getValue(); |
+ Element prevElement = exportedElements.get(name); |
+ if (element != null && prevElement != null && !prevElement.equals(element)) { |
errorReporter.reportError( |
CompileTimeErrorCode.AMBIGUOUS_EXPORT, |
node, |
name, |
- prevElement.getExportedLibrary().getDefiningCompilationUnit().getDisplayName(), |
- exportedLibrary.getDefiningCompilationUnit().getDisplayName()); |
+ prevElement.getLibrary().getDefiningCompilationUnit().getDisplayName(), |
+ element.getLibrary().getDefiningCompilationUnit().getDisplayName()); |
return true; |
} else { |
- exportedNames.put(name, exportElement); |
+ exportedElements.put(name, element); |
} |
} |
return false; |