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.provisional.completion.dart.plugin; | 5 library analysis_server.src.provisional.completion.dart.plugin; |
6 | 6 |
7 import 'package:analysis_server/src/provisional/completion/dart/completion.dart'
; | 7 import 'package:analysis_server/src/provisional/completion/dart/completion.dart'
; |
8 import 'package:analysis_server/src/provisional/completion/dart/completion_dart.
dart'; | 8 import 'package:analysis_server/src/provisional/completion/dart/completion_dart.
dart'; |
9 import 'package:analysis_server/src/services/completion/dart/keyword_contributor
.dart'; | 9 import 'package:analysis_server/src/services/completion/dart/keyword_contributor
.dart'; |
10 import 'package:plugin/plugin.dart'; | 10 import 'package:plugin/plugin.dart'; |
(...skipping 20 matching lines...) Expand all Loading... |
31 /** | 31 /** |
32 * The extension point that allows plugins to register Dart specific | 32 * The extension point that allows plugins to register Dart specific |
33 * completion contributor factories. | 33 * completion contributor factories. |
34 */ | 34 */ |
35 ExtensionPoint _contributorExtensionPoint; | 35 ExtensionPoint _contributorExtensionPoint; |
36 | 36 |
37 @override | 37 @override |
38 String get uniqueIdentifier => UNIQUE_IDENTIFIER; | 38 String get uniqueIdentifier => UNIQUE_IDENTIFIER; |
39 | 39 |
40 /** | 40 /** |
41 * Return a list containing all of the Dart specific completion contributor | 41 * Return a list containing all of the Dart specific completion contributors. |
42 * factories that were contributed. | |
43 */ | 42 */ |
44 List<DartCompletionContributorFactory> get contributorFactories => | 43 Iterable<DartCompletionContributorFactory> get contributors => |
45 _contributorExtensionPoint.extensions; | 44 _contributorExtensionPoint.extensions |
| 45 .map((DartCompletionContributorFactory factory) => factory()); |
46 | 46 |
47 @override | 47 @override |
48 void registerExtensionPoints(RegisterExtensionPoint registerExtensionPoint) { | 48 void registerExtensionPoints(RegisterExtensionPoint registerExtensionPoint) { |
49 _contributorExtensionPoint = registerExtensionPoint( | 49 _contributorExtensionPoint = registerExtensionPoint( |
50 CONTRIBUTOR_EXTENSION_POINT, | 50 CONTRIBUTOR_EXTENSION_POINT, |
51 _validateDartCompletionContributorExtension); | 51 _validateDartCompletionContributorExtension); |
52 } | 52 } |
53 | 53 |
54 @override | 54 @override |
55 void registerExtensions(RegisterExtension registerExtension) { | 55 void registerExtensions(RegisterExtension registerExtension) { |
56 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | 56 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, |
57 () => new KeywordContributor()); | 57 () => new KeywordContributor()); |
58 } | 58 } |
59 | 59 |
60 /** | 60 /** |
61 * Validate the given extension by throwing an [ExtensionError] if it is not a | 61 * Validate the given extension by throwing an [ExtensionError] if it is not a |
62 * valid Dart specific completion contributor. | 62 * valid Dart specific completion contributor. |
63 */ | 63 */ |
64 void _validateDartCompletionContributorExtension(Object extension) { | 64 void _validateDartCompletionContributorExtension(Object extension) { |
65 if (extension is! DartCompletionContributorFactory) { | 65 if (extension is! DartCompletionContributorFactory) { |
66 String id = _contributorExtensionPoint.uniqueIdentifier; | 66 String id = _contributorExtensionPoint.uniqueIdentifier; |
67 throw new ExtensionError( | 67 throw new ExtensionError( |
68 'Extensions to $id must be a DartCompletionContributorFactory'); | 68 'Extensions to $id must be a DartCompletionContributorFactory'); |
69 } | 69 } |
70 } | 70 } |
71 } | 71 } |
OLD | NEW |