OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 /** | |
6 * Support for client code that interacts with the analysis domain of an | |
7 * analysis server. | |
8 * | |
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 | |
11 * [AnalysisDomain] defines the API of the analysis domain that plugins can use. | |
12 * | |
13 * If a plugin is interested in gaining access to the analysis domain, it should | |
14 * register a function by including code like the following in the plugin's | |
15 * registerExtensions method: | |
16 * | |
17 * AnalysisDomain analysisDomain; | |
18 * | |
19 * @override | |
20 * void registerExtensions(RegisterExtension registerExtension) { | |
21 * ... | |
22 * registerExtension( | |
23 * SET_ANALYSIS_DOMAIN_EXTENSION_POINT_ID, | |
24 * (AnalysisDomain domain) => analysisDomain = domain); | |
25 * ... | |
26 * } | |
27 */ | |
28 import 'package:analysis_server/src/plugin/server_plugin.dart'; | |
29 import 'package:plugin/plugin.dart'; | |
30 | |
31 /** | |
32 * The identifier of the extension point that allows plugins to get access to an | |
33 * [AnalysisDomain]. The object used as an extension must be a | |
34 * [SetAnalysisDomain]. | |
35 */ | |
36 final String SET_ANALYSIS_DOMAIN_EXTENSION_POINT_ID = Plugin.join( | |
37 ServerPlugin.UNIQUE_IDENTIFIER, | |
38 ServerPlugin.SET_ANALISYS_DOMAIN_EXTENSION_POINT); | |
39 | |
40 /** | |
41 * A function that is invoked after the analysis domain has been created and is | |
42 * initialized. | |
43 */ | |
44 typedef void SetAnalysisDomain(AnalysisDomain domain); | |
45 | |
46 /** | |
47 * An object that gives plugins access to the analysis domain of the analysis | |
48 * server. | |
49 * | |
50 * Clients may not extend, implement or mix-in this class. | |
51 */ | |
52 abstract class AnalysisDomain {} | |
OLD | NEW |