Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Unified Diff: pkg/analysis_server/lib/src/analysis_server.dart

Issue 1258473003: Introduce FolderDisposition class hierarchy for use in ContextManagerCallback. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/context_manager.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
}
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/context_manager.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698