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

Side by Side Diff: pkg/analysis_server/lib/src/analysis_server.dart

Issue 2272093003: Use SdkExtensionFinder in the old Analysis Server implementation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 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
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/context_manager.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 analysis.server; 5 library analysis.server;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 import 'dart:core' hide Resource; 9 import 'dart:core' hide Resource;
10 import 'dart:io' as io; 10 import 'dart:io' as io;
(...skipping 1665 matching lines...) Expand 10 before | Expand all | Expand 10 after
1676 * Set up a [SourceFactory] that resolves packages as appropriate for the 1676 * Set up a [SourceFactory] that resolves packages as appropriate for the
1677 * given [disposition]. 1677 * given [disposition].
1678 */ 1678 */
1679 SourceFactory _createSourceFactory(InternalAnalysisContext context, 1679 SourceFactory _createSourceFactory(InternalAnalysisContext context,
1680 AnalysisOptions options, FolderDisposition disposition, Folder folder) { 1680 AnalysisOptions options, FolderDisposition disposition, Folder folder) {
1681 List<UriResolver> resolvers = []; 1681 List<UriResolver> resolvers = [];
1682 List<UriResolver> packageUriResolvers = 1682 List<UriResolver> packageUriResolvers =
1683 disposition.createPackageUriResolvers(resourceProvider); 1683 disposition.createPackageUriResolvers(resourceProvider);
1684 1684
1685 // If no embedded URI resolver was provided, defer to a locator-backed one. 1685 // If no embedded URI resolver was provided, defer to a locator-backed one.
1686 SdkExtensionFinder extFinder =
1687 disposition.getSdkExtensionFinder(resourceProvider);
1688 List<String> extFilePaths = extFinder.extensionFilePaths;
1686 EmbedderYamlLocator locator = 1689 EmbedderYamlLocator locator =
1687 disposition.getEmbedderLocator(resourceProvider); 1690 disposition.getEmbedderLocator(resourceProvider);
1688 Map<Folder, YamlMap> embedderYamls = locator.embedderYamls; 1691 Map<Folder, YamlMap> embedderYamls = locator.embedderYamls;
1689 EmbedderSdk embedderSdk = new EmbedderSdk(resourceProvider, embedderYamls); 1692 EmbedderSdk embedderSdk = new EmbedderSdk(resourceProvider, embedderYamls);
1690 if (embedderSdk.libraryMap.size() == 0) { 1693 if (embedderSdk.libraryMap.size() == 0) {
1691 // There was no embedder file, or the file was empty, so used the default 1694 // There was no embedder file, or the file was empty, so used the default
1692 // SDK. 1695 // SDK.
1693 resolvers.add(new DartUriResolver( 1696 resolvers.add(new DartUriResolver(
1694 analysisServer.sdkManager.getSdkForOptions(options))); 1697 analysisServer.sdkManager.getSdkForOptions(options)));
1695 } else { 1698 } else {
1696 // The embedder file defines an alternate SDK, so use it. 1699 // The embedder file defines an alternate SDK, so use it.
1697 List<String> paths = <String>[]; 1700 List<String> paths = <String>[];
1698 for (Folder folder in embedderYamls.keys) { 1701 for (Folder folder in embedderYamls.keys) {
1699 paths.add(folder 1702 paths.add(folder
1700 .getChildAssumingFile(EmbedderYamlLocator.EMBEDDER_FILE_NAME) 1703 .getChildAssumingFile(EmbedderYamlLocator.EMBEDDER_FILE_NAME)
1701 .path); 1704 .path);
1702 } 1705 }
1706 paths.addAll(extFilePaths);
1703 DartSdk dartSdk = analysisServer.sdkManager 1707 DartSdk dartSdk = analysisServer.sdkManager
1704 .getSdk(new SdkDescription(paths, options), () { 1708 .getSdk(new SdkDescription(paths, options), () {
1709 if (extFilePaths.isNotEmpty) {
1710 embedderSdk.addExtensions(extFinder.urlMappings);
1711 }
1705 embedderSdk.analysisOptions = options; 1712 embedderSdk.analysisOptions = options;
1706 // TODO(brianwilkerson) Enable summary use after we have decided where 1713 // TODO(brianwilkerson) Enable summary use after we have decided where
1707 // summary files for embedder files will live. 1714 // summary files for embedder files will live.
1708 embedderSdk.useSummary = false; 1715 embedderSdk.useSummary = false;
1709 return embedderSdk; 1716 return embedderSdk;
1710 }); 1717 });
1711 resolvers.add(new DartUriResolver(dartSdk)); 1718 resolvers.add(new DartUriResolver(dartSdk));
1712 } 1719 }
1713 1720
1714 resolvers.addAll(packageUriResolvers); 1721 resolvers.addAll(packageUriResolvers);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1815 /** 1822 /**
1816 * The [PerformanceTag] for time spent in server request handlers. 1823 * The [PerformanceTag] for time spent in server request handlers.
1817 */ 1824 */
1818 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); 1825 static PerformanceTag serverRequests = new PerformanceTag('serverRequests');
1819 1826
1820 /** 1827 /**
1821 * The [PerformanceTag] for time spent in split store microtasks. 1828 * The [PerformanceTag] for time spent in split store microtasks.
1822 */ 1829 */
1823 static PerformanceTag splitStore = new PerformanceTag('splitStore'); 1830 static PerformanceTag splitStore = new PerformanceTag('splitStore');
1824 } 1831 }
OLDNEW
« 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