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 |