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

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

Issue 2843093002: Send re-analyze requests to plugins (Closed)
Patch Set: Created 3 years, 7 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:collection'; 6 import 'dart:collection';
7 import 'dart:io' show Platform; 7 import 'dart:io' show Platform;
8 8
9 import 'package:analysis_server/src/plugin/notification_manager.dart'; 9 import 'package:analysis_server/src/plugin/notification_manager.dart';
10 import 'package:analyzer/context/context_root.dart' as analyzer; 10 import 'package:analyzer/context/context_root.dart' as analyzer;
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 } 244 }
245 } 245 }
246 } 246 }
247 247
248 /** 248 /**
249 * Broadcast a request built from the given [params] to all of the plugins 249 * Broadcast a request built from the given [params] to all of the plugins
250 * that are currently associated with the given [contextRoot]. Return a list 250 * that are currently associated with the given [contextRoot]. Return a list
251 * containing futures that will complete when each of the plugins have sent a 251 * containing futures that will complete when each of the plugins have sent a
252 * response. 252 * response.
253 */ 253 */
254 Map<PluginInfo, Future<Response>> broadcastRequest( 254 Map<PluginInfo, Future<Response>> broadcastRequest(RequestParams params,
255 analyzer.ContextRoot contextRoot, RequestParams params) { 255 {analyzer.ContextRoot contextRoot}) {
256 List<PluginInfo> plugins = pluginsForContextRoot(contextRoot); 256 List<PluginInfo> plugins = pluginsForContextRoot(contextRoot);
257 Map<PluginInfo, Future<Response>> responseMap = 257 Map<PluginInfo, Future<Response>> responseMap =
258 <PluginInfo, Future<Response>>{}; 258 <PluginInfo, Future<Response>>{};
259 for (PluginInfo plugin in plugins) { 259 for (PluginInfo plugin in plugins) {
260 responseMap[plugin] = plugin.currentSession?.sendRequest(params); 260 responseMap[plugin] = plugin.currentSession?.sendRequest(params);
261 } 261 }
262 return responseMap; 262 return responseMap;
263 } 263 }
264 264
265 /** 265 /**
(...skipping 27 matching lines...) Expand all
293 } 293 }
294 return responses; 294 return responses;
295 } 295 }
296 296
297 /** 297 /**
298 * Return a list of all of the plugins that are currently associated with the 298 * Return a list of all of the plugins that are currently associated with the
299 * given [contextRoot]. 299 * given [contextRoot].
300 */ 300 */
301 @visibleForTesting 301 @visibleForTesting
302 List<PluginInfo> pluginsForContextRoot(analyzer.ContextRoot contextRoot) { 302 List<PluginInfo> pluginsForContextRoot(analyzer.ContextRoot contextRoot) {
303 if (contextRoot == null) {
304 return _pluginMap.values.toList();
305 }
303 List<PluginInfo> plugins = <PluginInfo>[]; 306 List<PluginInfo> plugins = <PluginInfo>[];
304 for (PluginInfo plugin in _pluginMap.values) { 307 for (PluginInfo plugin in _pluginMap.values) {
305 if (plugin.contextRoots.contains(contextRoot)) { 308 if (plugin.contextRoots.contains(contextRoot)) {
306 plugins.add(plugin); 309 plugins.add(plugin);
307 } 310 }
308 } 311 }
309 return plugins; 312 return plugins;
310 } 313 }
311 314
312 /** 315 /**
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 Future<Null> stop() { 666 Future<Null> stop() {
664 if (channel == null) { 667 if (channel == null) {
665 throw new StateError('Cannot stop a plugin that is not running.'); 668 throw new StateError('Cannot stop a plugin that is not running.');
666 } 669 }
667 // TODO(brianwilkerson) Ensure that the isolate is killed if it does not 670 // TODO(brianwilkerson) Ensure that the isolate is killed if it does not
668 // terminate normally. 671 // terminate normally.
669 sendRequest(new PluginShutdownParams()); 672 sendRequest(new PluginShutdownParams());
670 return pluginStoppedCompleter.future; 673 return pluginStoppedCompleter.future;
671 } 674 }
672 } 675 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/edit/edit_domain.dart ('k') | pkg/analysis_server/lib/src/plugin/request_converter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698