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

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

Issue 2380573006: ContextBuilder can configure contexts to use summaries (Closed)
Patch Set: Created 4 years, 2 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/analyzer/lib/src/context/builder.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'; 9 import 'dart:core';
10 import 'dart:io' as io; 10 import 'dart:io' as io;
(...skipping 1585 matching lines...) Expand 10 before | Expand all | Expand 10 after
1596 */ 1596 */
1597 final ResourceProvider resourceProvider; 1597 final ResourceProvider resourceProvider;
1598 1598
1599 ServerContextManagerCallbacks(this.analysisServer, this.resourceProvider); 1599 ServerContextManagerCallbacks(this.analysisServer, this.resourceProvider);
1600 1600
1601 @override 1601 @override
1602 AnalysisContext addContext(Folder folder, AnalysisOptions options) { 1602 AnalysisContext addContext(Folder folder, AnalysisOptions options) {
1603 ContextBuilder builder = createContextBuilder(folder, options); 1603 ContextBuilder builder = createContextBuilder(folder, options);
1604 AnalysisContext context = builder.buildContext(folder.path); 1604 AnalysisContext context = builder.buildContext(folder.path);
1605 1605
1606 // TODO(brianwilkerson) Move bundle discovery into ContextBuilder
1607 if (analysisServer.options.enablePubSummaryManager) {
1608 List<LinkedPubPackage> linkedBundles =
1609 analysisServer.pubSummaryManager.getLinkedBundles(context);
1610 if (linkedBundles.isNotEmpty) {
1611 SummaryDataStore store = new SummaryDataStore([]);
1612 for (LinkedPubPackage package in linkedBundles) {
1613 store.addBundle(null, package.unlinked);
1614 store.addBundle(null, package.linked);
1615 }
1616 (context as InternalAnalysisContext).resultProvider =
1617 new InputPackagesResultProvider(context, store);
1618 }
1619 }
1620
1621 analysisServer.folderMap[folder] = context; 1606 analysisServer.folderMap[folder] = context;
1622 analysisServer._onContextsChangedController 1607 analysisServer._onContextsChangedController
1623 .add(new ContextsChangedEvent(added: [context])); 1608 .add(new ContextsChangedEvent(added: [context]));
1624 analysisServer.schedulePerformAnalysisOperation(context); 1609 analysisServer.schedulePerformAnalysisOperation(context);
1625 1610
1626 return context; 1611 return context;
1627 } 1612 }
1628 1613
1629 @override 1614 @override
1630 void applyChangesToContext(Folder contextFolder, ChangeSet changeSet) { 1615 void applyChangesToContext(Folder contextFolder, ChangeSet changeSet) {
(...skipping 30 matching lines...) Expand all
1661 } 1646 }
1662 } 1647 }
1663 1648
1664 ContextBuilder builder = new ContextBuilder(resourceProvider, 1649 ContextBuilder builder = new ContextBuilder(resourceProvider,
1665 analysisServer.sdkManager, analysisServer.overlayState); 1650 analysisServer.sdkManager, analysisServer.overlayState);
1666 builder.defaultOptions = options; 1651 builder.defaultOptions = options;
1667 builder.fileResolverProvider = analysisServer.fileResolverProvider; 1652 builder.fileResolverProvider = analysisServer.fileResolverProvider;
1668 builder.packageResolverProvider = analysisServer.packageResolverProvider; 1653 builder.packageResolverProvider = analysisServer.packageResolverProvider;
1669 builder.defaultPackageFilePath = defaultPackageFilePath; 1654 builder.defaultPackageFilePath = defaultPackageFilePath;
1670 builder.defaultPackagesDirectoryPath = defaultPackagesDirectoryPath; 1655 builder.defaultPackagesDirectoryPath = defaultPackagesDirectoryPath;
1656 if (analysisServer.options.enablePubSummaryManager) {
1657 builder.pubSummaryManager = analysisServer.pubSummaryManager;
1658 }
1671 return builder; 1659 return builder;
1672 } 1660 }
1673 1661
1674 @override 1662 @override
1675 void moveContext(Folder from, Folder to) { 1663 void moveContext(Folder from, Folder to) {
1676 // There is nothing to do. 1664 // There is nothing to do.
1677 // This method is mostly for tests. 1665 // This method is mostly for tests.
1678 // Context managers manage folders and contexts themselves. 1666 // Context managers manage folders and contexts themselves.
1679 } 1667 }
1680 1668
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1793 /** 1781 /**
1794 * The [PerformanceTag] for time spent in server request handlers. 1782 * The [PerformanceTag] for time spent in server request handlers.
1795 */ 1783 */
1796 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); 1784 static PerformanceTag serverRequests = new PerformanceTag('serverRequests');
1797 1785
1798 /** 1786 /**
1799 * The [PerformanceTag] for time spent in split store microtasks. 1787 * The [PerformanceTag] for time spent in split store microtasks.
1800 */ 1788 */
1801 static PerformanceTag splitStore = new PerformanceTag('splitStore'); 1789 static PerformanceTag splitStore = new PerformanceTag('splitStore');
1802 } 1790 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/context/builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698