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

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

Issue 2611523005: Cache results for priority files in AnalysisDriver. (Closed)
Patch Set: Created 3 years, 12 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/analyzer/lib/src/dart/analysis/driver.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 5ee2afdbf4865fe44c23bcc49b96b95fae6cafa0..da0500e8ca8d6905f01e845abc75d6c0bf0e3243 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -332,12 +332,6 @@ class AnalysisServer {
final Set<String> priorityFiles = new Set<String>();
/**
- * The cached results for [priorityFiles].
- * These results must have not `null` units.
- */
- final Map<String, nd.AnalysisResult> priorityFileResults = {};
-
- /**
* Initialize a newly created server to receive requests from and send
* responses to the given [channel].
*
@@ -630,10 +624,6 @@ class AnalysisServer {
* otherwise in the first driver, otherwise `null` is returned.
*/
Future<nd.AnalysisResult> getAnalysisResult(String path) async {
- nd.AnalysisResult result = priorityFileResults[path];
- if (result != null) {
- return result;
- }
try {
nd.AnalysisDriver driver = getAnalysisDriver(path);
return await driver?.getResult(path);
@@ -1333,10 +1323,6 @@ class AnalysisServer {
*/
void setPriorityFiles(String requestId, List<String> files) {
if (options.enableNewAnalysisDriver) {
- // Flush results for files that are not priority anymore.
- priorityFiles
- .difference(files.toSet())
- .forEach(priorityFileResults.remove);
priorityFiles.clear();
priorityFiles.addAll(files);
// Set priority files in drivers.
@@ -1466,8 +1452,6 @@ class AnalysisServer {
void updateContent(String id, Map<String, dynamic> changes) {
if (options.enableNewAnalysisDriver) {
changes.forEach((file, change) {
- priorityFileResults.remove(file);
-
// Prepare the new contents.
String oldContents = fileContentOverlay[file];
String newContents;
@@ -1846,10 +1830,6 @@ class ServerContextManagerCallbacks extends ContextManagerCallbacks {
// TODO(scheglov) send server status
});
analysisDriver.results.listen((result) {
- if (analysisServer.priorityFiles.contains(result.path) &&
- result.unit != null) {
- analysisServer.priorityFileResults[result.path] = result;
- }
new_sendErrorNotification(analysisServer, result);
String path = result.path;
CompilationUnit unit = result.unit;
@@ -1999,11 +1979,6 @@ class ServerContextManagerCallbacks extends ContextManagerCallbacks {
sendAnalysisNotificationFlushResults(analysisServer, flushedFiles);
nd.AnalysisDriver driver = analysisServer.driverMap.remove(folder);
driver.dispose();
- // Remove cached priority results for the driver.
- var results = analysisServer.priorityFileResults;
- results.keys
- .where((key) => results[key].driver == driver)
- .forEach(results.remove);
} else {
AnalysisContext context = analysisServer.folderMap.remove(folder);
sendAnalysisNotificationFlushResults(analysisServer, flushedFiles);
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/dart/analysis/driver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698