| Index: pkg/analyzer/tool/summary/dump_inferred_types.dart
|
| diff --git a/pkg/analyzer/tool/summary/dump_inferred_types.dart b/pkg/analyzer/tool/summary/dump_inferred_types.dart
|
| index 32a1a65bfd39416ea1f169ec51d3b5a3c4437bad..3f5ce3251ee5d4a0536de7510921898f150bdc08 100644
|
| --- a/pkg/analyzer/tool/summary/dump_inferred_types.dart
|
| +++ b/pkg/analyzer/tool/summary/dump_inferred_types.dart
|
| @@ -194,8 +194,22 @@ class InferredTypeCollector {
|
| for (int i = 0; i < bundle.unlinkedUnitUris.length; i++) {
|
| unlinkedUnits[bundle.unlinkedUnitUris[i]] = bundle.unlinkedUnits[i];
|
| }
|
| + // Figure out which unlinked units are a part of another library so we won't
|
| + // visit them redundantly.
|
| + Set<String> partOfUris = new Set<String>();
|
| + unlinkedUnits.forEach((String unitUriString, UnlinkedUnit unlinkedUnit) {
|
| + Uri unitUri = Uri.parse(unitUriString);
|
| + for (String relativePartUriString in unlinkedUnit.publicNamespace.parts) {
|
| + partOfUris.add(
|
| + resolveRelativeUri(unitUri, Uri.parse(relativePartUriString))
|
| + .toString());
|
| + }
|
| + });
|
| linkedLibraries
|
| .forEach((String libraryUriString, LinkedLibrary linkedLibrary) {
|
| + if (partOfUris.contains(libraryUriString)) {
|
| + return;
|
| + }
|
| Uri libraryUri = Uri.parse(libraryUriString);
|
| UnlinkedUnit definingUnlinkedUnit = unlinkedUnits[libraryUriString];
|
| visitUnit(definingUnlinkedUnit, linkedLibrary.units[0], libraryUriString);
|
|
|