| Index: pkg/analysis_server/lib/src/context_manager.dart
|
| diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
|
| index 630da7d205e5e0421589ae9d2bd72060e90c1fa0..b610510c21bcc504e473043dc72fd2461c3a768d 100644
|
| --- a/pkg/analysis_server/lib/src/context_manager.dart
|
| +++ b/pkg/analysis_server/lib/src/context_manager.dart
|
| @@ -901,22 +901,19 @@ class ContextManagerImpl implements ContextManager {
|
| // If there is no embedded URI resolver, a new source factory needs to
|
| // be recreated.
|
| if (sourceFactory is SourceFactoryImpl) {
|
| - if (!sourceFactory.resolvers
|
| - .any((UriResolver r) => r is EmbedderUriResolver)) {
|
| - // Get all but the dart: Uri resolver.
|
| - List<UriResolver> resolvers = sourceFactory.resolvers
|
| - .where((r) => r is! DartUriResolver)
|
| - .toList();
|
| - // Add an embedded URI resolver in its place.
|
| - resolvers.add(new EmbedderUriResolver(embedderYamls));
|
| -
|
| - // Set a new source factory.
|
| - SourceFactoryImpl newFactory = sourceFactory.clone();
|
| - newFactory.resolvers.clear();
|
| - newFactory.resolvers.addAll(resolvers);
|
| - info.context.sourceFactory = newFactory;
|
| - return;
|
| - }
|
| + // Get all but the dart: Uri resolver.
|
| + List<UriResolver> resolvers = sourceFactory.resolvers
|
| + .where((r) => r is! DartUriResolver)
|
| + .toList();
|
| + // Add an embedded URI resolver in its place.
|
| + resolvers.add(new DartUriResolver(new EmbedderSdk(embedderYamls)));
|
| +
|
| + // Set a new source factory.
|
| + SourceFactoryImpl newFactory = sourceFactory.clone();
|
| + newFactory.resolvers.clear();
|
| + newFactory.resolvers.addAll(resolvers);
|
| + info.context.sourceFactory = newFactory;
|
| + return;
|
| }
|
| }
|
|
|
| @@ -1157,16 +1154,16 @@ class ContextManagerImpl implements ContextManager {
|
| List<UriResolver> packageUriResolvers =
|
| disposition.createPackageUriResolvers(resourceProvider);
|
|
|
| - EmbedderUriResolver embedderUriResolver =
|
| - new EmbedderUriResolver(context.embedderYamlLocator.embedderYamls);
|
| - if (embedderUriResolver.length == 0) {
|
| + EmbedderSdk sdk =
|
| + new EmbedderSdk(context.embedderYamlLocator.embedderYamls);
|
| + if (sdk.libraryMap.size() == 0) {
|
| // The embedder uri resolver has no mappings. Use the default Dart SDK
|
| // uri resolver.
|
| resolvers.add(new DartUriResolver(sdkManager.getSdkForOptions(options)));
|
| } else {
|
| // The embedder uri resolver has mappings, use it instead of the default
|
| // Dart SDK uri resolver.
|
| - resolvers.add(embedderUriResolver);
|
| + resolvers.add(new DartUriResolver(sdk));
|
| }
|
|
|
| resolvers.addAll(packageUriResolvers);
|
|
|