Index: pkg/compiler/lib/src/elements/modelx.dart |
diff --git a/pkg/compiler/lib/src/elements/modelx.dart b/pkg/compiler/lib/src/elements/modelx.dart |
index 7f887ac200094c022a0349398c0e66926423be03..afe3d805b7de7c5787ea5dbb89c6b44a5714ef84 100644 |
--- a/pkg/compiler/lib/src/elements/modelx.dart |
+++ b/pkg/compiler/lib/src/elements/modelx.dart |
@@ -768,6 +768,20 @@ class CompilationUnitElementX extends ElementX |
} |
partTag = tag; |
LibraryName libraryTag = library.libraryTag; |
+ |
+ Expression libraryReference = tag.name; |
+ if (libraryReference is LiteralString) { |
+ // Name is a URI. Resolve and compare to library's URI. |
+ String content = libraryReference.dartString.slowToString(); |
+ Uri uri = this.script.readableUri.resolve(content); |
+ Uri expectedUri = library.canonicalUri; |
+ if (uri != expectedUri) { |
+ // Consider finding a relative URI reference for the error message. |
+ reporter.reportWarningMessage(tag.name, |
+ MessageKind.LIBRARY_URI_MISMATCH, {'libraryUri': expectedUri}); |
+ } |
+ return; |
+ } |
String actualName = tag.name.toString(); |
if (libraryTag != null) { |
String expectedName = libraryTag.name.toString(); |