| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 /** | 5 /** |
| 6 * Support for client code that interacts with the analysis domain of an | 6 * Support for client code that interacts with the analysis domain of an |
| 7 * analysis server. | 7 * analysis server. |
| 8 * | 8 * |
| 9 * Plugins can gain access to the request handler that implements the analysis | 9 * Plugins can gain access to the request handler that implements the analysis |
| 10 * domain in order to extend the functionality of that domain. The class | 10 * domain in order to extend the functionality of that domain. The class |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 /** | 50 /** |
| 51 * A function that is invoked after the analysis domain has been created and is | 51 * A function that is invoked after the analysis domain has been created and is |
| 52 * initialized. | 52 * initialized. |
| 53 */ | 53 */ |
| 54 typedef void SetAnalysisDomain(AnalysisDomain domain); | 54 typedef void SetAnalysisDomain(AnalysisDomain domain); |
| 55 | 55 |
| 56 /** | 56 /** |
| 57 * An object that gives plugins access to the analysis domain of the analysis | 57 * An object that gives plugins access to the analysis domain of the analysis |
| 58 * server. | 58 * server. |
| 59 * | 59 * |
| 60 * Clients are not expected to subtype this class. | 60 * Clients may not extend, implement or mix-in this class. |
| 61 */ | 61 */ |
| 62 abstract class AnalysisDomain { | 62 abstract class AnalysisDomain { |
| 63 /** | 63 /** |
| 64 * Return the stream that is notified when a new value for the given | 64 * Return the stream that is notified when a new value for the given |
| 65 * [result] is computed. | 65 * [result] is computed. |
| 66 * | 66 * |
| 67 * This method should be used by plugins that need to perform some additional | 67 * This method should be used by plugins that need to perform some additional |
| 68 * processing after analysis has completed. One example would be a plugin that | 68 * processing after analysis has completed. One example would be a plugin that |
| 69 * needed to send a notification to the client because some data was now | 69 * needed to send a notification to the client because some data was now |
| 70 * invalidated. | 70 * invalidated. |
| 71 */ | 71 */ |
| 72 Stream<ComputedResult> onResultComputed(ResultDescriptor result); | 72 Stream<ComputedResult> onResultComputed(ResultDescriptor result); |
| 73 | 73 |
| 74 /** | 74 /** |
| 75 * Schedule sending the given [service] notifications for the given [source] | 75 * Schedule sending the given [service] notifications for the given [source] |
| 76 * in the given [context]. | 76 * in the given [context]. |
| 77 */ | 77 */ |
| 78 void scheduleNotification( | 78 void scheduleNotification( |
| 79 AnalysisContext context, Source source, AnalysisService service); | 79 AnalysisContext context, Source source, AnalysisService service); |
| 80 } | 80 } |
| OLD | NEW |