Index: pkg/analysis_server/lib/src/analysis_server.dart |
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart |
index 5a3cd535e99be72ae2de8b0261bbed7e65ad049b..ec02b57eabb909277b93fadd35ce3ffb876afd72 100644 |
--- a/pkg/analysis_server/lib/src/analysis_server.dart |
+++ b/pkg/analysis_server/lib/src/analysis_server.dart |
@@ -25,8 +25,6 @@ import 'package:analysis_server/src/source/optimizing_pub_package_map_provider.d |
import 'package:analysis_server/uri/resolver_provider.dart'; |
import 'package:analyzer/file_system/file_system.dart'; |
import 'package:analyzer/instrumentation/instrumentation.dart'; |
-import 'package:analyzer/source/package_map_resolver.dart'; |
-import 'package:analyzer/source/sdk_ext.dart'; |
import 'package:analyzer/src/generated/ast.dart'; |
import 'package:analyzer/src/generated/element.dart'; |
import 'package:analyzer/src/generated/engine.dart'; |
@@ -1355,13 +1353,12 @@ class ServerContextManagerCallbacks extends ContextManagerCallbacks { |
ServerContextManagerCallbacks(this.analysisServer, this.resourceProvider); |
@override |
- AnalysisContext addContext( |
- Folder folder, UriResolver packageUriResolver, Packages packages) { |
+ AnalysisContext addContext(Folder folder, FolderDisposition disposition) { |
InternalAnalysisContext context = |
AnalysisEngine.instance.createAnalysisContext(); |
context.contentCache = analysisServer.overlayState; |
analysisServer.folderMap[folder] = context; |
- context.sourceFactory = _createSourceFactory(packageUriResolver, packages); |
+ context.sourceFactory = _createSourceFactory(disposition); |
context.analysisOptions = |
new AnalysisOptionsImpl.from(analysisServer.defaultContextOptions); |
analysisServer._onContextsChangedController |
@@ -1430,9 +1427,9 @@ class ServerContextManagerCallbacks extends ContextManagerCallbacks { |
@override |
void updateContextPackageUriResolver( |
- Folder contextFolder, UriResolver packageUriResolver, Packages packages) { |
+ Folder contextFolder, FolderDisposition disposition) { |
AnalysisContext context = analysisServer.folderMap[contextFolder]; |
- context.sourceFactory = _createSourceFactory(packageUriResolver, packages); |
+ context.sourceFactory = _createSourceFactory(disposition); |
analysisServer._onContextsChangedController |
.add(new ContextsChangedEvent(changed: [context])); |
analysisServer.schedulePerformAnalysisOperation(context); |
@@ -1447,25 +1444,17 @@ class ServerContextManagerCallbacks extends ContextManagerCallbacks { |
} |
/** |
- * Set up a [SourceFactory] that resolves packages using the given |
- * [packageUriResolver] and [packages] resolution strategy. |
+ * Set up a [SourceFactory] that resolves packages as appropriate for the |
+ * given [disposition]. |
*/ |
- SourceFactory _createSourceFactory( |
- UriResolver packageUriResolver, Packages packages) { |
+ SourceFactory _createSourceFactory(FolderDisposition disposition) { |
UriResolver dartResolver = new DartUriResolver(analysisServer.defaultSdk); |
UriResolver resourceResolver = new ResourceUriResolver(resourceProvider); |
List<UriResolver> resolvers = []; |
resolvers.add(dartResolver); |
- if (packageUriResolver is PackageMapUriResolver) { |
- UriResolver sdkExtResolver = |
- new SdkExtUriResolver(packageUriResolver.packageMap); |
- resolvers.add(sdkExtResolver); |
- } |
- if (packageUriResolver != null) { |
- resolvers.add(packageUriResolver); |
- } |
+ resolvers.addAll(disposition.createPackageUriResolvers(resourceProvider)); |
resolvers.add(resourceResolver); |
- return new SourceFactory(resolvers, packages); |
+ return new SourceFactory(resolvers, disposition.packages); |
} |
} |