| Index: sdk/lib/_internal/dartdoc/lib/src/export_map.dart
|
| diff --git a/sdk/lib/_internal/dartdoc/lib/src/export_map.dart b/sdk/lib/_internal/dartdoc/lib/src/export_map.dart
|
| index ec754a5907c210548e89816d5efa70e1084f3197..0aa1a1a1ba5874171c4bb633140d5e815d8bf966 100644
|
| --- a/sdk/lib/_internal/dartdoc/lib/src/export_map.dart
|
| +++ b/sdk/lib/_internal/dartdoc/lib/src/export_map.dart
|
| @@ -34,14 +34,15 @@ class ExportMap {
|
| /// objects, to make it easier to merge multiple exports of the same library.
|
| final _transitiveExportsByPath = <String, Map<String, Export>>{};
|
|
|
| - /// Parse an export map from a set of [libraries], which should be paths to
|
| - /// libraries on disk. [packageRoot] should be the path to the `packages`
|
| - /// directory to use when resolving `package:` imports.
|
| + /// Parse an export map from a set of [libraries], which should be Dart import
|
| + /// [Uri]s. [packageRoot] should be the path to the `packages` directory to
|
| + /// use when resolving `package:` imports and libraries. Libraries that are
|
| + /// not available on the local machine will be ignored.
|
| ///
|
| /// In addition to parsing the exports in [libraries], this will parse the
|
| /// exports in all libraries transitively reachable from [libraries] via
|
| /// `import` or `export`.
|
| - factory ExportMap.parse(Iterable<String> libraries, String packageRoot) {
|
| + factory ExportMap.parse(Iterable<Uri> libraries, String packageRoot) {
|
| var exports = <String, List<Export>>{};
|
|
|
| void traverse(String path) {
|
| @@ -58,7 +59,8 @@ class ExportMap {
|
| }
|
|
|
| for (var library in libraries) {
|
| - traverse(pathos.normalize(pathos.absolute(library)));
|
| + var path = importUriToPath(library, packageRoot: packageRoot);
|
| + if (path != null) traverse(path);
|
| }
|
|
|
| return new ExportMap._(exports);
|
|
|