@@ -138,12 +138,13 @@ class DartDoc {
138138 PackageMapInfo packageMapInfo =
139139 pubPackageMapProvider.computePackageMap (cwd);
140140 Map <String , List <fileSystem.Folder >> packageMap = packageMapInfo.packageMap;
141+ EmbedderUriResolver embedderUriResolver;
141142 if (packageMap != null ) {
142143 resolvers.add (new SdkExtUriResolver (packageMap));
143144 resolvers.add (new PackageMapUriResolver (
144145 PhysicalResourceProvider .INSTANCE , packageMap));
145146
146- EmbedderUriResolver embedderUriResolver = new EmbedderUriResolver (
147+ embedderUriResolver = new EmbedderUriResolver (
147148 new EmbedderYamlLocator (packageMap).embedderYamls);
148149 if (embedderUriResolver.length == 0 ) {
149150 // The embedder uri resolver has no mappings. Use the default Dart SDK
@@ -175,7 +176,7 @@ class DartDoc {
175176
176177 List <Source > sources = [];
177178
178- files. forEach ( (String filePath) {
179+ void processLibrary (String filePath) {
179180 String name = filePath;
180181 if (name.startsWith (Directory .current.path)) {
181182 name = name.substring (Directory .current.path.length);
@@ -193,7 +194,16 @@ class DartDoc {
193194 LibraryElement library = context.computeLibraryElement (source);
194195 libraries.add (library);
195196 }
196- });
197+ }
198+
199+ files.forEach (processLibrary);
200+
201+ if ((embedderUriResolver != null ) && (embedderUriResolver.length > 0 )) {
202+ embedderUriResolver.dartSdk.uris.forEach ((String dartUri) {
203+ Source source = embedderUriResolver.dartSdk.mapDartUri (dartUri);
204+ processLibrary (source.fullName);
205+ });
206+ }
197207
198208 // Ensure that the analysis engine performs all remaining work.
199209 AnalysisResult result = context.performAnalysisTask ();
0 commit comments