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