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 library analysis_server.src.plugin.server_plugin; | 5 library analysis_server.src.plugin.server_plugin; |
6 | 6 |
7 import 'package:analysis_server/plugin/analysis/analysis_domain.dart'; | 7 import 'package:analysis_server/plugin/analysis/analysis_domain.dart'; |
8 import 'package:analysis_server/plugin/analysis/analyzed_files.dart'; | 8 import 'package:analysis_server/plugin/analysis/analyzed_files.dart'; |
9 import 'package:analysis_server/plugin/analysis/navigation/navigation.dart'; | 9 import 'package:analysis_server/plugin/analysis/navigation/navigation.dart'; |
10 import 'package:analysis_server/plugin/analysis/navigation/navigation_core.dart'
; | 10 import 'package:analysis_server/plugin/analysis/navigation/navigation_core.dart'
; |
11 import 'package:analysis_server/plugin/analysis/occurrences/occurrences.dart'; | 11 import 'package:analysis_server/plugin/analysis/occurrences/occurrences.dart'; |
12 import 'package:analysis_server/plugin/analysis/occurrences/occurrences_core.dar
t'; | 12 import 'package:analysis_server/plugin/analysis/occurrences/occurrences_core.dar
t'; |
13 import 'package:analysis_server/plugin/edit/assist/assist.dart'; | 13 import 'package:analysis_server/plugin/edit/assist/assist.dart'; |
14 import 'package:analysis_server/plugin/edit/assist/assist_core.dart'; | 14 import 'package:analysis_server/plugin/edit/assist/assist_core.dart'; |
15 import 'package:analysis_server/plugin/edit/fix/fix.dart'; | 15 import 'package:analysis_server/plugin/edit/fix/fix.dart'; |
16 import 'package:analysis_server/plugin/edit/fix/fix_core.dart'; | 16 import 'package:analysis_server/plugin/edit/fix/fix_core.dart'; |
17 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 17 import 'package:analysis_server/plugin/protocol/protocol.dart'; |
18 import 'package:analysis_server/src/analysis_server.dart'; | 18 import 'package:analysis_server/src/analysis_server.dart'; |
19 import 'package:analysis_server/src/domain_analysis.dart'; | 19 import 'package:analysis_server/src/domain_analysis.dart'; |
20 import 'package:analysis_server/src/domain_completion.dart'; | 20 import 'package:analysis_server/src/domain_completion.dart'; |
21 import 'package:analysis_server/src/domain_diagnostic.dart'; | 21 import 'package:analysis_server/src/domain_diagnostic.dart'; |
22 import 'package:analysis_server/src/domain_execution.dart'; | 22 import 'package:analysis_server/src/domain_execution.dart'; |
23 import 'package:analysis_server/src/domain_server.dart'; | 23 import 'package:analysis_server/src/domain_server.dart'; |
24 import 'package:analysis_server/src/domains/analysis/navigation_dart.dart'; | 24 import 'package:analysis_server/src/domains/analysis/navigation_dart.dart'; |
25 import 'package:analysis_server/src/domains/analysis/occurrences_dart.dart'; | 25 import 'package:analysis_server/src/domains/analysis/occurrences_dart.dart'; |
26 import 'package:analysis_server/src/edit/edit_domain.dart'; | 26 import 'package:analysis_server/src/edit/edit_domain.dart'; |
27 import 'package:analysis_server/src/provisional/completion/completion_core.dart'
; | 27 import 'package:analysis_server/src/provisional/completion/completion_core.dart'
; |
28 import 'package:analysis_server/src/provisional/completion/dart/completion.dart'
; | |
29 import 'package:analysis_server/src/provisional/completion/dart/completion_dart.
dart'; | |
30 import 'package:analysis_server/src/provisional/index/index.dart'; | 28 import 'package:analysis_server/src/provisional/index/index.dart'; |
31 import 'package:analysis_server/src/provisional/index/index_core.dart'; | 29 import 'package:analysis_server/src/provisional/index/index_core.dart'; |
32 import 'package:analysis_server/src/search/search_domain.dart'; | 30 import 'package:analysis_server/src/search/search_domain.dart'; |
33 import 'package:analysis_server/src/services/completion/dart/completion_manager.
dart'; | |
34 import 'package:analysis_server/src/services/correction/assist_internal.dart'; | 31 import 'package:analysis_server/src/services/correction/assist_internal.dart'; |
35 import 'package:analysis_server/src/services/correction/fix_internal.dart'; | 32 import 'package:analysis_server/src/services/correction/fix_internal.dart'; |
36 import 'package:analysis_server/src/services/index/index_contributor.dart'; | 33 import 'package:analysis_server/src/services/index/index_contributor.dart'; |
37 import 'package:analyzer/src/generated/engine.dart'; | 34 import 'package:analyzer/src/generated/engine.dart'; |
38 import 'package:plugin/plugin.dart'; | 35 import 'package:plugin/plugin.dart'; |
39 | 36 |
40 /** | 37 /** |
41 * A function that will create a request handler that can be used by the given | 38 * A function that will create a request handler that can be used by the given |
42 * [server]. | 39 * [server]. |
43 */ | 40 */ |
(...skipping 19 matching lines...) Expand all Loading... |
63 | 60 |
64 /** | 61 /** |
65 * The simple identifier of the extension point that allows plugins to | 62 * The simple identifier of the extension point that allows plugins to |
66 * register completion contributors. | 63 * register completion contributors. |
67 */ | 64 */ |
68 static const String COMPLETION_CONTRIBUTOR_EXTENSION_POINT = | 65 static const String COMPLETION_CONTRIBUTOR_EXTENSION_POINT = |
69 'completionContributor'; | 66 'completionContributor'; |
70 | 67 |
71 /** | 68 /** |
72 * The simple identifier of the extension point that allows plugins to | 69 * The simple identifier of the extension point that allows plugins to |
73 * register Dart specific completion contributor factories. | |
74 */ | |
75 static const String DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT = | |
76 'dartCompletionContributor'; | |
77 | |
78 /** | |
79 * The simple identifier of the extension point that allows plugins to | |
80 * register domains. | 70 * register domains. |
81 */ | 71 */ |
82 static const String DOMAIN_EXTENSION_POINT = 'domain'; | 72 static const String DOMAIN_EXTENSION_POINT = 'domain'; |
83 | 73 |
84 /** | 74 /** |
85 * The simple identifier of the extension point that allows plugins to | 75 * The simple identifier of the extension point that allows plugins to |
86 * register fix contributors. | 76 * register fix contributors. |
87 */ | 77 */ |
88 static const String FIX_CONTRIBUTOR_EXTENSION_POINT = 'fixContributor'; | 78 static const String FIX_CONTRIBUTOR_EXTENSION_POINT = 'fixContributor'; |
89 | 79 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 */ | 119 */ |
130 ExtensionPoint assistContributorExtensionPoint; | 120 ExtensionPoint assistContributorExtensionPoint; |
131 | 121 |
132 /** | 122 /** |
133 * The extension point that allows plugins to register completion | 123 * The extension point that allows plugins to register completion |
134 * contributors. | 124 * contributors. |
135 */ | 125 */ |
136 ExtensionPoint completionContributorExtensionPoint; | 126 ExtensionPoint completionContributorExtensionPoint; |
137 | 127 |
138 /** | 128 /** |
139 * The extension point that allows plugins to register Dart specific | |
140 * completion contributor factories. | |
141 */ | |
142 ExtensionPoint dartCompletionContributorExtensionPoint; | |
143 | |
144 /** | |
145 * The extension point that allows plugins to register domains with the | 129 * The extension point that allows plugins to register domains with the |
146 * server. | 130 * server. |
147 */ | 131 */ |
148 ExtensionPoint domainExtensionPoint; | 132 ExtensionPoint domainExtensionPoint; |
149 | 133 |
150 /** | 134 /** |
151 * The extension point that allows plugins to register fix contributors with | 135 * The extension point that allows plugins to register fix contributors with |
152 * the server. | 136 * the server. |
153 */ | 137 */ |
154 ExtensionPoint fixContributorExtensionPoint; | 138 ExtensionPoint fixContributorExtensionPoint; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 assistContributorExtensionPoint.extensions; | 186 assistContributorExtensionPoint.extensions; |
203 | 187 |
204 /** | 188 /** |
205 * Return a list containing all of the completion contributors that were | 189 * Return a list containing all of the completion contributors that were |
206 * contributed. | 190 * contributed. |
207 */ | 191 */ |
208 List<CompletionContributor> get completionContributors => | 192 List<CompletionContributor> get completionContributors => |
209 completionContributorExtensionPoint.extensions; | 193 completionContributorExtensionPoint.extensions; |
210 | 194 |
211 /** | 195 /** |
212 * Return a list containing all of the Dart specific completion contributor | |
213 * factories that were contributed. | |
214 */ | |
215 List< | |
216 DartCompletionContributorFactory> get dartCompletionContributorFactories =
> | |
217 dartCompletionContributorExtensionPoint.extensions; | |
218 | |
219 /** | |
220 * Return a list containing all of the fix contributors that were contributed. | 196 * Return a list containing all of the fix contributors that were contributed. |
221 */ | 197 */ |
222 List<FixContributor> get fixContributors => | 198 List<FixContributor> get fixContributors => |
223 fixContributorExtensionPoint.extensions; | 199 fixContributorExtensionPoint.extensions; |
224 | 200 |
225 /** | 201 /** |
226 * Return a list containing all of the index contributors that were | 202 * Return a list containing all of the index contributors that were |
227 * contributed. | 203 * contributed. |
228 */ | 204 */ |
229 List<IndexContributor> get indexContributors => | 205 List<IndexContributor> get indexContributors => |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 _validateSetAnalysisDomainFunction); | 249 _validateSetAnalysisDomainFunction); |
274 analyzedFilePatternsExtensionPoint = registerExtensionPoint( | 250 analyzedFilePatternsExtensionPoint = registerExtensionPoint( |
275 ANALYZED_FILE_PATTERNS_EXTENSION_POINT, | 251 ANALYZED_FILE_PATTERNS_EXTENSION_POINT, |
276 _validateAnalyzedFilePatternsExtension); | 252 _validateAnalyzedFilePatternsExtension); |
277 assistContributorExtensionPoint = registerExtensionPoint( | 253 assistContributorExtensionPoint = registerExtensionPoint( |
278 ASSIST_CONTRIBUTOR_EXTENSION_POINT, | 254 ASSIST_CONTRIBUTOR_EXTENSION_POINT, |
279 _validateAssistContributorExtension); | 255 _validateAssistContributorExtension); |
280 completionContributorExtensionPoint = registerExtensionPoint( | 256 completionContributorExtensionPoint = registerExtensionPoint( |
281 COMPLETION_CONTRIBUTOR_EXTENSION_POINT, | 257 COMPLETION_CONTRIBUTOR_EXTENSION_POINT, |
282 _validateCompletionContributorExtension); | 258 _validateCompletionContributorExtension); |
283 dartCompletionContributorExtensionPoint = registerExtensionPoint( | |
284 DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT, | |
285 _validateDartCompletionContributorExtension); | |
286 domainExtensionPoint = registerExtensionPoint( | 259 domainExtensionPoint = registerExtensionPoint( |
287 DOMAIN_EXTENSION_POINT, _validateDomainExtension); | 260 DOMAIN_EXTENSION_POINT, _validateDomainExtension); |
288 fixContributorExtensionPoint = registerExtensionPoint( | 261 fixContributorExtensionPoint = registerExtensionPoint( |
289 FIX_CONTRIBUTOR_EXTENSION_POINT, _validateFixContributorExtension); | 262 FIX_CONTRIBUTOR_EXTENSION_POINT, _validateFixContributorExtension); |
290 indexContributorExtensionPoint = registerExtensionPoint( | 263 indexContributorExtensionPoint = registerExtensionPoint( |
291 INDEX_CONTRIBUTOR_EXTENSION_POINT, _validateIndexContributorExtension); | 264 INDEX_CONTRIBUTOR_EXTENSION_POINT, _validateIndexContributorExtension); |
292 navigationContributorExtensionPoint = registerExtensionPoint( | 265 navigationContributorExtensionPoint = registerExtensionPoint( |
293 NAVIGATION_CONTRIBUTOR_EXTENSION_POINT, | 266 NAVIGATION_CONTRIBUTOR_EXTENSION_POINT, |
294 _validateNavigationContributorExtension); | 267 _validateNavigationContributorExtension); |
295 occurrencesContributorExtensionPoint = registerExtensionPoint( | 268 occurrencesContributorExtensionPoint = registerExtensionPoint( |
(...skipping 16 matching lines...) Expand all Loading... |
312 // | 285 // |
313 // Register assist contributors. | 286 // Register assist contributors. |
314 // | 287 // |
315 registerExtension( | 288 registerExtension( |
316 ASSIST_CONTRIBUTOR_EXTENSION_POINT_ID, new DefaultAssistContributor()); | 289 ASSIST_CONTRIBUTOR_EXTENSION_POINT_ID, new DefaultAssistContributor()); |
317 // | 290 // |
318 // Register completion contributors. | 291 // Register completion contributors. |
319 // | 292 // |
320 // TODO(brianwilkerson) Register the completion contributors. | 293 // TODO(brianwilkerson) Register the completion contributors. |
321 //registerExtension(COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, ???); | 294 //registerExtension(COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, ???); |
322 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
323 defaultDartCompletionContributorFactory); | |
324 // | 295 // |
325 // Register analysis contributors. | 296 // Register analysis contributors. |
326 // | 297 // |
327 registerExtension(NAVIGATION_CONTRIBUTOR_EXTENSION_POINT_ID, | 298 registerExtension(NAVIGATION_CONTRIBUTOR_EXTENSION_POINT_ID, |
328 new DartNavigationComputer()); | 299 new DartNavigationComputer()); |
329 registerExtension(OCCURRENCES_CONTRIBUTOR_EXTENSION_POINT_ID, | 300 registerExtension(OCCURRENCES_CONTRIBUTOR_EXTENSION_POINT_ID, |
330 new DartOccurrencesComputer()); | 301 new DartOccurrencesComputer()); |
331 // | 302 // |
332 // Register domains. | 303 // Register domains. |
333 // | 304 // |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 void _validateCompletionContributorExtension(Object extension) { | 372 void _validateCompletionContributorExtension(Object extension) { |
402 if (extension is! CompletionContributor) { | 373 if (extension is! CompletionContributor) { |
403 String id = completionContributorExtensionPoint.uniqueIdentifier; | 374 String id = completionContributorExtensionPoint.uniqueIdentifier; |
404 throw new ExtensionError( | 375 throw new ExtensionError( |
405 'Extensions to $id must be an CompletionContributor'); | 376 'Extensions to $id must be an CompletionContributor'); |
406 } | 377 } |
407 } | 378 } |
408 | 379 |
409 /** | 380 /** |
410 * Validate the given extension by throwing an [ExtensionError] if it is not a | 381 * Validate the given extension by throwing an [ExtensionError] if it is not a |
411 * valid Dart specific completion contributor. | |
412 */ | |
413 void _validateDartCompletionContributorExtension(Object extension) { | |
414 if (extension is! DartCompletionContributorFactory) { | |
415 String id = dartCompletionContributorExtensionPoint.uniqueIdentifier; | |
416 throw new ExtensionError( | |
417 'Extensions to $id must be a DartCompletionContributorFactory'); | |
418 } | |
419 } | |
420 | |
421 /** | |
422 * Validate the given extension by throwing an [ExtensionError] if it is not a | |
423 * valid domain. | 382 * valid domain. |
424 */ | 383 */ |
425 void _validateDomainExtension(Object extension) { | 384 void _validateDomainExtension(Object extension) { |
426 if (extension is! RequestHandlerFactory) { | 385 if (extension is! RequestHandlerFactory) { |
427 String id = domainExtensionPoint.uniqueIdentifier; | 386 String id = domainExtensionPoint.uniqueIdentifier; |
428 throw new ExtensionError( | 387 throw new ExtensionError( |
429 'Extensions to $id must be a RequestHandlerFactory'); | 388 'Extensions to $id must be a RequestHandlerFactory'); |
430 } | 389 } |
431 } | 390 } |
432 | 391 |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 * valid analysis domain receiver. | 440 * valid analysis domain receiver. |
482 */ | 441 */ |
483 void _validateSetAnalysisDomainFunction(Object extension) { | 442 void _validateSetAnalysisDomainFunction(Object extension) { |
484 if (extension is! SetAnalysisDomain) { | 443 if (extension is! SetAnalysisDomain) { |
485 String id = setAnalysisDomainExtensionPoint.uniqueIdentifier; | 444 String id = setAnalysisDomainExtensionPoint.uniqueIdentifier; |
486 throw new ExtensionError( | 445 throw new ExtensionError( |
487 'Extensions to $id must be a SetAnalysisDomain function'); | 446 'Extensions to $id must be a SetAnalysisDomain function'); |
488 } | 447 } |
489 } | 448 } |
490 } | 449 } |
OLD | NEW |