| 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 analyzer.src.plugin.engine_plugin; | 5 library analyzer.src.plugin.engine_plugin; |
| 6 | 6 |
| 7 import 'package:analyzer/plugin/plugin.dart'; | 7 import 'package:analyzer/plugin/plugin.dart'; |
| 8 import 'package:analyzer/plugin/task.dart'; | 8 import 'package:analyzer/plugin/task.dart'; |
| 9 import 'package:analyzer/src/task/dart.dart'; | 9 import 'package:analyzer/src/task/dart.dart'; |
| 10 import 'package:analyzer/src/task/general.dart'; | 10 import 'package:analyzer/src/task/general.dart'; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 * The extension point that allows plugins to register new analysis tasks with | 30 * The extension point that allows plugins to register new analysis tasks with |
| 31 * the analysis engine. | 31 * the analysis engine. |
| 32 */ | 32 */ |
| 33 ExtensionPoint taskExtensionPoint; | 33 ExtensionPoint taskExtensionPoint; |
| 34 | 34 |
| 35 /** | 35 /** |
| 36 * Initialize a newly created plugin. | 36 * Initialize a newly created plugin. |
| 37 */ | 37 */ |
| 38 EnginePlugin(); | 38 EnginePlugin(); |
| 39 | 39 |
| 40 /** | |
| 41 * Return a list containing all of the task descriptors that were contributed. | |
| 42 */ | |
| 43 List<TaskDescriptor> taskDescriptors() { | |
| 44 return taskExtensionPoint.extensions; | |
| 45 } | |
| 46 | |
| 47 @override | 40 @override |
| 48 String get uniqueIdentifier => UNIQUE_IDENTIFIER; | 41 String get uniqueIdentifier => UNIQUE_IDENTIFIER; |
| 49 | 42 |
| 50 @override | 43 @override |
| 51 void registerExtensionPoints(RegisterExtensionPoint registerExtensionPoint) { | 44 void registerExtensionPoints(RegisterExtensionPoint registerExtensionPoint) { |
| 52 taskExtensionPoint = | 45 taskExtensionPoint = |
| 53 registerExtensionPoint(TASK_EXTENSION_POINT, _validateTaskExtension); | 46 registerExtensionPoint(TASK_EXTENSION_POINT, _validateTaskExtension); |
| 54 } | 47 } |
| 55 | 48 |
| 56 @override | 49 @override |
| 57 void registerExtensions(RegisterExtension registerExtension) { | 50 void registerExtensions(RegisterExtension registerExtension) { |
| 58 String taskId = TASK_EXTENSION_POINT_ID; | 51 String taskId = TASK_EXTENSION_POINT_ID; |
| 59 // | 52 // |
| 60 // Register general tasks. | 53 // Register general tasks. |
| 61 // | 54 // |
| 62 registerExtension(taskId, GetContentTask.DESCRIPTOR); | 55 registerExtension(taskId, GetContentTask.DESCRIPTOR); |
| 63 // | 56 // |
| 64 // Register Dart tasks. | 57 // Register Dart tasks. |
| 65 // | 58 // |
| 59 registerExtension(taskId, BuildClassConstructorsTask.DESCRIPTOR); |
| 66 registerExtension(taskId, BuildCompilationUnitElementTask.DESCRIPTOR); | 60 registerExtension(taskId, BuildCompilationUnitElementTask.DESCRIPTOR); |
| 67 registerExtension(taskId, BuildDirectiveElementsTask.DESCRIPTOR); | 61 registerExtension(taskId, BuildDirectiveElementsTask.DESCRIPTOR); |
| 68 registerExtension(taskId, BuildEnumMemberElementsTask.DESCRIPTOR); | 62 registerExtension(taskId, BuildEnumMemberElementsTask.DESCRIPTOR); |
| 69 registerExtension(taskId, BuildExportNamespaceTask.DESCRIPTOR); | 63 registerExtension(taskId, BuildExportNamespaceTask.DESCRIPTOR); |
| 70 registerExtension(taskId, BuildSourceClosuresTask.DESCRIPTOR); | |
| 71 registerExtension(taskId, BuildFunctionTypeAliasesTask.DESCRIPTOR); | 64 registerExtension(taskId, BuildFunctionTypeAliasesTask.DESCRIPTOR); |
| 65 registerExtension(taskId, BuildLibraryConstructorsTask.DESCRIPTOR); |
| 72 registerExtension(taskId, BuildLibraryElementTask.DESCRIPTOR); | 66 registerExtension(taskId, BuildLibraryElementTask.DESCRIPTOR); |
| 73 registerExtension(taskId, BuildPublicNamespaceTask.DESCRIPTOR); | 67 registerExtension(taskId, BuildPublicNamespaceTask.DESCRIPTOR); |
| 68 registerExtension(taskId, BuildSourceClosuresTask.DESCRIPTOR); |
| 74 registerExtension(taskId, BuildTypeProviderTask.DESCRIPTOR); | 69 registerExtension(taskId, BuildTypeProviderTask.DESCRIPTOR); |
| 70 registerExtension(taskId, GatherUsedImportedElementsTask.DESCRIPTOR); |
| 71 registerExtension(taskId, GatherUsedLocalElementsTask.DESCRIPTOR); |
| 72 registerExtension(taskId, GenerateHintsTask.DESCRIPTOR); |
| 75 registerExtension(taskId, ParseDartTask.DESCRIPTOR); | 73 registerExtension(taskId, ParseDartTask.DESCRIPTOR); |
| 76 registerExtension(taskId, ResolveLibraryTypeNamesTask.DESCRIPTOR); | 74 registerExtension(taskId, ResolveLibraryTypeNamesTask.DESCRIPTOR); |
| 75 registerExtension(taskId, ResolveReferencesTask.DESCRIPTOR); |
| 77 registerExtension(taskId, ResolveUnitTypeNamesTask.DESCRIPTOR); | 76 registerExtension(taskId, ResolveUnitTypeNamesTask.DESCRIPTOR); |
| 77 registerExtension(taskId, ResolveVariableReferencesTask.DESCRIPTOR); |
| 78 registerExtension(taskId, ScanDartTask.DESCRIPTOR); | 78 registerExtension(taskId, ScanDartTask.DESCRIPTOR); |
| 79 registerExtension(taskId, VerifyUnitTask.DESCRIPTOR); |
| 79 // | 80 // |
| 80 // Register HTML tasks. | 81 // Register HTML tasks. |
| 81 // | 82 // |
| 82 } | 83 } |
| 83 | 84 |
| 84 /** | 85 /** |
| 86 * Return a list containing all of the task descriptors that were contributed. |
| 87 */ |
| 88 List<TaskDescriptor> taskDescriptors() { |
| 89 return taskExtensionPoint.extensions; |
| 90 } |
| 91 |
| 92 /** |
| 85 * Validate the given extension by throwing an [ExtensionError] if it is not a | 93 * Validate the given extension by throwing an [ExtensionError] if it is not a |
| 86 * valid domain. | 94 * valid domain. |
| 87 */ | 95 */ |
| 88 void _validateTaskExtension(Object extension) { | 96 void _validateTaskExtension(Object extension) { |
| 89 if (extension is! TaskDescriptor) { | 97 if (extension is! TaskDescriptor) { |
| 90 String id = taskExtensionPoint.uniqueIdentifier; | 98 String id = taskExtensionPoint.uniqueIdentifier; |
| 91 throw new ExtensionError('Extensions to $id must be a TaskDescriptor'); | 99 throw new ExtensionError('Extensions to $id must be a TaskDescriptor'); |
| 92 } | 100 } |
| 93 } | 101 } |
| 94 } | 102 } |
| OLD | NEW |