Index: pkg/analyzer/lib/src/plugin/engine_plugin.dart |
diff --git a/pkg/analyzer/lib/src/plugin/engine_plugin.dart b/pkg/analyzer/lib/src/plugin/engine_plugin.dart |
index 69b74c6feace5ecfc063089660b0cdf07a9c336a..85bad9d7dda873864f3664a39b3eb41c7638fe69 100644 |
--- a/pkg/analyzer/lib/src/plugin/engine_plugin.dart |
+++ b/pkg/analyzer/lib/src/plugin/engine_plugin.dart |
@@ -66,31 +66,33 @@ class EnginePlugin implements Plugin { |
* The extension point that allows plugins to register new analysis error |
* results for a Dart source. |
*/ |
- ExtensionPoint dartErrorsForSourceExtensionPoint; |
+ ExtensionPoint<ListResultDescriptor<AnalysisError>> |
+ dartErrorsForSourceExtensionPoint; |
/** |
* The extension point that allows plugins to register new analysis error |
* results for a Dart library specific unit. |
*/ |
- ExtensionPoint dartErrorsForUnitExtensionPoint; |
+ ExtensionPoint<ListResultDescriptor<AnalysisError>> |
+ dartErrorsForUnitExtensionPoint; |
/** |
* The extension point that allows plugins to register new analysis error |
* results for an HTML source. |
*/ |
- ExtensionPoint htmlErrorsExtensionPoint; |
+ ExtensionPoint<ListResultDescriptor<AnalysisError>> htmlErrorsExtensionPoint; |
/** |
* The extension point that allows plugins to register new analysis tasks with |
* the analysis engine. |
*/ |
- ExtensionPoint taskExtensionPoint; |
+ ExtensionPoint<TaskDescriptor> taskExtensionPoint; |
/** |
* The extension point that allows plugins to register new work manager |
* factories with the analysis engine. |
*/ |
- ExtensionPoint workManagerFactoryExtensionPoint; |
+ ExtensionPoint<WorkManagerFactory> workManagerFactoryExtensionPoint; |
/** |
* Initialize a newly created plugin. |
@@ -137,20 +139,24 @@ class EnginePlugin implements Plugin { |
@override |
void registerExtensionPoints(RegisterExtensionPoint registerExtensionPoint) { |
- dartErrorsForSourceExtensionPoint = registerExtensionPoint( |
- DART_ERRORS_FOR_SOURCE_EXTENSION_POINT, |
- _validateAnalysisErrorListResultDescriptor); |
- dartErrorsForUnitExtensionPoint = registerExtensionPoint( |
- DART_ERRORS_FOR_UNIT_EXTENSION_POINT, |
- _validateAnalysisErrorListResultDescriptor); |
- htmlErrorsExtensionPoint = registerExtensionPoint( |
- HTML_ERRORS_EXTENSION_POINT, |
- _validateAnalysisErrorListResultDescriptor); |
+ dartErrorsForSourceExtensionPoint = |
+ new ExtensionPoint<ListResultDescriptor<AnalysisError>>( |
+ this, DART_ERRORS_FOR_SOURCE_EXTENSION_POINT, null); |
+ registerExtensionPoint(dartErrorsForSourceExtensionPoint); |
+ dartErrorsForUnitExtensionPoint = |
+ new ExtensionPoint<ListResultDescriptor<AnalysisError>>( |
+ this, DART_ERRORS_FOR_UNIT_EXTENSION_POINT, null); |
+ registerExtensionPoint(dartErrorsForUnitExtensionPoint); |
+ htmlErrorsExtensionPoint = |
+ new ExtensionPoint<ListResultDescriptor<AnalysisError>>( |
+ this, HTML_ERRORS_EXTENSION_POINT, null); |
+ registerExtensionPoint(htmlErrorsExtensionPoint); |
taskExtensionPoint = |
- registerExtensionPoint(TASK_EXTENSION_POINT, _validateTaskExtension); |
- workManagerFactoryExtensionPoint = registerExtensionPoint( |
- WORK_MANAGER_FACTORY_EXTENSION_POINT, |
- _validateWorkManagerFactoryExtension); |
+ new ExtensionPoint<TaskDescriptor>(this, TASK_EXTENSION_POINT, null); |
+ registerExtensionPoint(taskExtensionPoint); |
+ workManagerFactoryExtensionPoint = new ExtensionPoint<WorkManagerFactory>( |
+ this, WORK_MANAGER_FACTORY_EXTENSION_POINT, null); |
+ registerExtensionPoint(workManagerFactoryExtensionPoint); |
} |
@override |
@@ -259,41 +265,6 @@ class EnginePlugin implements Plugin { |
registerExtension(taskId, |
(InternalAnalysisContext context) => new OptionsWorkManager(context)); |
} |
- |
- /** |
- * Validate the given extension by throwing an [ExtensionError] if it is not |
- * a [ListResultDescriptor] of [AnalysisError]s. |
- */ |
- void _validateAnalysisErrorListResultDescriptor(Object extension) { |
- if (extension is! ListResultDescriptor<AnalysisError>) { |
- String id = taskExtensionPoint.uniqueIdentifier; |
- throw new ExtensionError( |
- 'Extensions to $id must be a ListResultDescriptor<AnalysisError>'); |
- } |
- } |
- |
- /** |
- * Validate the given extension by throwing an [ExtensionError] if it is not |
- * a [TaskDescriptor]. |
- */ |
- void _validateTaskExtension(Object extension) { |
- if (extension is! TaskDescriptor) { |
- String id = taskExtensionPoint.uniqueIdentifier; |
- throw new ExtensionError('Extensions to $id must be a TaskDescriptor'); |
- } |
- } |
- |
- /** |
- * Validate the given extension by throwing an [ExtensionError] if it is not |
- * a [WorkManagerFactory]. |
- */ |
- void _validateWorkManagerFactoryExtension(Object extension) { |
- if (extension is! WorkManagerFactory) { |
- String id = taskExtensionPoint.uniqueIdentifier; |
- throw new ExtensionError( |
- 'Extensions to $id must be a WorkManagerFactory'); |
- } |
- } |
} |
/** |