| Index: pkg/analyzer/lib/source/package_map_resolver.dart
|
| diff --git a/pkg/analyzer/lib/source/package_map_resolver.dart b/pkg/analyzer/lib/source/package_map_resolver.dart
|
| index 22b1b2056f7870acbf922e1e298b02d87edaeaf7..f083f9fdfc3d9091eea2b8996bebba50c914327f 100644
|
| --- a/pkg/analyzer/lib/source/package_map_resolver.dart
|
| +++ b/pkg/analyzer/lib/source/package_map_resolver.dart
|
| @@ -84,6 +84,22 @@ class PackageMapUriResolver extends UriResolver {
|
| return new NonExistingSource(uri.toString(), UriKind.PACKAGE_URI);
|
| }
|
|
|
| + @override
|
| + Uri restoreAbsolute(Source source) {
|
| + String sourcePath = source.fullName;
|
| + for (String pkgName in packageMap.keys) {
|
| + List<Folder> pkgFolders = packageMap[pkgName];
|
| + for (Folder pkgFolder in pkgFolders) {
|
| + String pkgFolderPath = pkgFolder.path;
|
| + if (sourcePath.startsWith(pkgFolderPath)) {
|
| + String relPath = sourcePath.substring(pkgFolderPath.length);
|
| + return new Uri(path: '${PACKAGE_SCHEME}:$pkgName$relPath');
|
| + }
|
| + }
|
| + }
|
| + return null;
|
| + }
|
| +
|
| /**
|
| * Returns `true` if [uri] is a `package` URI.
|
| */
|
|
|