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

Side by Side Diff: pkg/analysis_server/test/context_manager_test.dart

Issue 1686613002: Use different SDKs based on option settings (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.context.directory.manager; 5 library test.context.directory.manager;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import 'package:analysis_server/src/context_manager.dart'; 9 import 'package:analysis_server/src/context_manager.dart';
10 import 'package:analyzer/file_system/file_system.dart'; 10 import 'package:analyzer/file_system/file_system.dart';
(...skipping 2292 matching lines...) Expand 10 before | Expand all | Expand 10 after
2303 final ResourceProvider resourceProvider; 2303 final ResourceProvider resourceProvider;
2304 2304
2305 TestContextManagerCallbacks(this.resourceProvider); 2305 TestContextManagerCallbacks(this.resourceProvider);
2306 2306
2307 /** 2307 /**
2308 * Iterable of the paths to contexts that currently exist. 2308 * Iterable of the paths to contexts that currently exist.
2309 */ 2309 */
2310 Iterable<String> get currentContextPaths => currentContextTimestamps.keys; 2310 Iterable<String> get currentContextPaths => currentContextTimestamps.keys;
2311 2311
2312 @override 2312 @override
2313 AnalysisContext addContext(Folder folder, FolderDisposition disposition) { 2313 AnalysisOptions get defaultAnalysisOptions => new AnalysisOptionsImpl();
2314
2315 @override
2316 AnalysisContext addContext(
2317 Folder folder, AnalysisOptions options, FolderDisposition disposition) {
2314 String path = folder.path; 2318 String path = folder.path;
2315 expect(currentContextPaths, isNot(contains(path))); 2319 expect(currentContextPaths, isNot(contains(path)));
2316 currentContextTimestamps[path] = now; 2320 currentContextTimestamps[path] = now;
2317 currentContextFilePaths[path] = <String, int>{}; 2321 currentContextFilePaths[path] = <String, int>{};
2318 currentContextSources[path] = new HashSet<Source>(); 2322 currentContextSources[path] = new HashSet<Source>();
2319 currentContextDispositions[path] = disposition; 2323 currentContextDispositions[path] = disposition;
2320 currentContext = AnalysisEngine.instance.createAnalysisContext(); 2324 currentContext = AnalysisEngine.instance.createAnalysisContext();
2321 _locateEmbedderYamls(currentContext, disposition); 2325 _locateEmbedderYamls(currentContext, disposition);
2322 List<UriResolver> resolvers = []; 2326 List<UriResolver> resolvers = [];
2323 if (currentContext is InternalAnalysisContext) { 2327 if (currentContext is InternalAnalysisContext) {
2324 EmbedderYamlLocator embedderYamlLocator = 2328 EmbedderYamlLocator embedderYamlLocator =
2325 (currentContext as InternalAnalysisContext).embedderYamlLocator; 2329 (currentContext as InternalAnalysisContext).embedderYamlLocator;
2326 EmbedderUriResolver embedderUriResolver = 2330 EmbedderUriResolver embedderUriResolver =
2327 new EmbedderUriResolver(embedderYamlLocator.embedderYamls); 2331 new EmbedderUriResolver(embedderYamlLocator.embedderYamls);
2328 if (embedderUriResolver.length > 0) { 2332 if (embedderUriResolver.length > 0) {
2329 // We have some embedder dart: uri mappings, add the resolver 2333 // We have some embedder dart: uri mappings, add the resolver
2330 // to the list. 2334 // to the list.
2331 resolvers.add(embedderUriResolver); 2335 resolvers.add(embedderUriResolver);
2332 } 2336 }
2333 } 2337 }
2334 resolvers.addAll(disposition.createPackageUriResolvers(resourceProvider)); 2338 resolvers.addAll(disposition.createPackageUriResolvers(resourceProvider));
2335 resolvers.add(new FileUriResolver()); 2339 resolvers.add(new FileUriResolver());
2340 currentContext.analysisOptions = options;
2336 currentContext.sourceFactory = 2341 currentContext.sourceFactory =
2337 new SourceFactory(resolvers, disposition.packages); 2342 new SourceFactory(resolvers, disposition.packages);
2338 return currentContext; 2343 return currentContext;
2339 } 2344 }
2340 2345
2341 @override 2346 @override
2342 void applyChangesToContext(Folder contextFolder, ChangeSet changeSet) { 2347 void applyChangesToContext(Folder contextFolder, ChangeSet changeSet) {
2343 Map<String, int> filePaths = currentContextFilePaths[contextFolder.path]; 2348 Map<String, int> filePaths = currentContextFilePaths[contextFolder.path];
2344 Set<Source> sources = currentContextSources[contextFolder.path]; 2349 Set<Source> sources = currentContextSources[contextFolder.path];
2345 2350
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
2427 class TestUriResolver extends UriResolver { 2432 class TestUriResolver extends UriResolver {
2428 Map<Uri, Source> uriMap; 2433 Map<Uri, Source> uriMap;
2429 2434
2430 TestUriResolver(this.uriMap); 2435 TestUriResolver(this.uriMap);
2431 2436
2432 @override 2437 @override
2433 Source resolveAbsolute(Uri uri, [Uri actualUri]) { 2438 Source resolveAbsolute(Uri uri, [Uri actualUri]) {
2434 return uriMap[uri]; 2439 return uriMap[uri];
2435 } 2440 }
2436 } 2441 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698