@@ -138,12 +138,13 @@ class DartDoc {
138
138
PackageMapInfo packageMapInfo =
139
139
pubPackageMapProvider.computePackageMap (cwd);
140
140
Map <String , List <fileSystem.Folder >> packageMap = packageMapInfo.packageMap;
141
+ EmbedderUriResolver embedderUriResolver;
141
142
if (packageMap != null ) {
142
143
resolvers.add (new SdkExtUriResolver (packageMap));
143
144
resolvers.add (new PackageMapUriResolver (
144
145
PhysicalResourceProvider .INSTANCE , packageMap));
145
146
146
- EmbedderUriResolver embedderUriResolver = new EmbedderUriResolver (
147
+ embedderUriResolver = new EmbedderUriResolver (
147
148
new EmbedderYamlLocator (packageMap).embedderYamls);
148
149
if (embedderUriResolver.length == 0 ) {
149
150
// The embedder uri resolver has no mappings. Use the default Dart SDK
@@ -175,7 +176,7 @@ class DartDoc {
175
176
176
177
List <Source > sources = [];
177
178
178
- files. forEach ( (String filePath) {
179
+ void processLibrary (String filePath) {
179
180
String name = filePath;
180
181
if (name.startsWith (Directory .current.path)) {
181
182
name = name.substring (Directory .current.path.length);
@@ -193,7 +194,16 @@ class DartDoc {
193
194
LibraryElement library = context.computeLibraryElement (source);
194
195
libraries.add (library);
195
196
}
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
+ }
197
207
198
208
// Ensure that the analysis engine performs all remaining work.
199
209
AnalysisResult result = context.performAnalysisTask ();
0 commit comments