Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Unified Diff: pkg/analyzer/lib/src/plugin/engine_plugin.dart

Issue 2564303002: Revert "Change the way tasks are registered" (TBD) (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/generated/engine.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 fb0599db48ef6d65ff16b1bb4b61fda369765ec0..9a8f619a0c874ad0b074096c28554e9aa624d86c 100644
--- a/pkg/analyzer/lib/src/plugin/engine_plugin.dart
+++ b/pkg/analyzer/lib/src/plugin/engine_plugin.dart
@@ -10,9 +10,12 @@ import 'package:analyzer/src/generated/engine.dart'
show InternalAnalysisContext;
import 'package:analyzer/src/task/dart.dart';
import 'package:analyzer/src/task/dart_work_manager.dart';
+import 'package:analyzer/src/task/general.dart';
import 'package:analyzer/src/task/html.dart';
import 'package:analyzer/src/task/html_work_manager.dart';
+import 'package:analyzer/src/task/options.dart';
import 'package:analyzer/src/task/options_work_manager.dart';
+import 'package:analyzer/src/task/yaml.dart';
import 'package:analyzer/task/model.dart';
import 'package:plugin/plugin.dart';
@@ -44,6 +47,12 @@ class EnginePlugin implements Plugin {
/**
* The simple identifier of the extension point that allows plugins to
+ * register new analysis tasks with the analysis engine.
+ */
+ static const String TASK_EXTENSION_POINT = 'task';
+
+ /**
+ * The simple identifier of the extension point that allows plugins to
* register new work manager factories with the analysis engine.
*/
static const String WORK_MANAGER_FACTORY_EXTENSION_POINT =
@@ -75,6 +84,12 @@ class EnginePlugin implements Plugin {
ExtensionPoint<ListResultDescriptor<AnalysisError>> htmlErrorsExtensionPoint;
/**
+ * The extension point that allows plugins to register new analysis tasks with
+ * the analysis engine.
+ */
+ ExtensionPoint<TaskDescriptor> taskExtensionPoint;
+
+ /**
* The extension point that allows plugins to register new work manager
* factories with the analysis engine.
*/
@@ -108,6 +123,11 @@ class EnginePlugin implements Plugin {
@ExtensionPointId('HTML_ERRORS_EXTENSION_POINT_ID')
List<ResultDescriptor> get htmlErrors => htmlErrorsExtensionPoint.extensions;
+ /**
+ * Return a list containing all of the task descriptors that were contributed.
+ */
+ List<TaskDescriptor> get taskDescriptors => taskExtensionPoint.extensions;
+
@override
String get uniqueIdentifier => UNIQUE_IDENTIFIER;
@@ -132,6 +152,9 @@ class EnginePlugin implements Plugin {
new ExtensionPoint<ListResultDescriptor<AnalysisError>>(
this, HTML_ERRORS_EXTENSION_POINT, null);
registerExtensionPoint(htmlErrorsExtensionPoint);
+ taskExtensionPoint =
+ new ExtensionPoint<TaskDescriptor>(this, TASK_EXTENSION_POINT, null);
+ registerExtensionPoint(taskExtensionPoint);
workManagerFactoryExtensionPoint = new ExtensionPoint<WorkManagerFactory>(
this, WORK_MANAGER_FACTORY_EXTENSION_POINT, null);
registerExtensionPoint(workManagerFactoryExtensionPoint);
@@ -139,6 +162,7 @@ class EnginePlugin implements Plugin {
@override
void registerExtensions(RegisterExtension registerExtension) {
+ _registerTaskExtensions(registerExtension);
_registerWorkManagerFactoryExtensions(registerExtension);
_registerDartErrorsForSource(registerExtension);
_registerDartErrorsForUnit(registerExtension);
@@ -159,6 +183,80 @@ class EnginePlugin implements Plugin {
registerExtension(HTML_ERRORS_EXTENSION_POINT_ID, HTML_DOCUMENT_ERRORS);
}
+ void _registerTaskExtensions(RegisterExtension registerExtension) {
+ String taskId = TASK_EXTENSION_POINT_ID;
+ //
+ // Register general tasks.
+ //
+ registerExtension(taskId, GetContentTask.DESCRIPTOR);
+ //
+ // Register Dart tasks.
+ //
+ registerExtension(taskId, BuildCompilationUnitElementTask.DESCRIPTOR);
+ registerExtension(taskId, BuildDirectiveElementsTask.DESCRIPTOR);
+ registerExtension(taskId, BuildEnumMemberElementsTask.DESCRIPTOR);
+ registerExtension(taskId, BuildExportNamespaceTask.DESCRIPTOR);
+ registerExtension(taskId, BuildLibraryElementTask.DESCRIPTOR);
+ registerExtension(taskId, BuildPublicNamespaceTask.DESCRIPTOR);
+ registerExtension(taskId, BuildSourceExportClosureTask.DESCRIPTOR);
+ registerExtension(taskId, BuildTypeProviderTask.DESCRIPTOR);
+ registerExtension(taskId, ComputeConstantDependenciesTask.DESCRIPTOR);
+ registerExtension(taskId, ComputeConstantValueTask.DESCRIPTOR);
+ registerExtension(
+ taskId, ComputeInferableStaticVariableDependenciesTask.DESCRIPTOR);
+ registerExtension(taskId, ComputeLibraryCycleTask.DESCRIPTOR);
+ registerExtension(taskId, ComputeRequiredConstantsTask.DESCRIPTOR);
+ registerExtension(taskId, ContainingLibrariesTask.DESCRIPTOR);
+ registerExtension(taskId, DartErrorsTask.DESCRIPTOR);
+ registerExtension(taskId, EvaluateUnitConstantsTask.DESCRIPTOR);
+ registerExtension(taskId, GatherUsedImportedElementsTask.DESCRIPTOR);
+ registerExtension(taskId, GatherUsedLocalElementsTask.DESCRIPTOR);
+ registerExtension(taskId, GenerateHintsTask.DESCRIPTOR);
+ registerExtension(taskId, GenerateLintsTask.DESCRIPTOR);
+ registerExtension(taskId, InferInstanceMembersInUnitTask.DESCRIPTOR);
+ registerExtension(taskId, InferStaticVariableTypesInUnitTask.DESCRIPTOR);
+ registerExtension(taskId, InferStaticVariableTypeTask.DESCRIPTOR);
+ registerExtension(taskId, LibraryErrorsReadyTask.DESCRIPTOR);
+ registerExtension(taskId, LibraryUnitErrorsTask.DESCRIPTOR);
+ registerExtension(taskId, ParseDartTask.DESCRIPTOR);
+ registerExtension(taskId, PartiallyResolveUnitReferencesTask.DESCRIPTOR);
+ registerExtension(taskId, ReadyLibraryElement2Task.DESCRIPTOR);
+ registerExtension(taskId, ReadyLibraryElement5Task.DESCRIPTOR);
+ registerExtension(taskId, ReadyLibraryElement7Task.DESCRIPTOR);
+ registerExtension(taskId, ReadyResolvedUnitTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveConstantExpressionTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveDirectiveElementsTask.DESCRIPTOR);
+ registerExtension(taskId, ResolvedUnit7InLibraryClosureTask.DESCRIPTOR);
+ registerExtension(taskId, ResolvedUnit7InLibraryTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveInstanceFieldsInUnitTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveLibraryReferencesTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveLibraryTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveLibraryTypeNamesTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveTopLevelLibraryTypeBoundsTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveTopLevelUnitTypeBoundsTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveUnitTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveUnitTypeNamesTask.DESCRIPTOR);
+ registerExtension(taskId, ResolveVariableReferencesTask.DESCRIPTOR);
+ registerExtension(taskId, ScanDartTask.DESCRIPTOR);
+ registerExtension(taskId, StrongModeVerifyUnitTask.DESCRIPTOR);
+ registerExtension(taskId, VerifyUnitTask.DESCRIPTOR);
+ //
+ // Register HTML tasks.
+ //
+ registerExtension(taskId, DartScriptsTask.DESCRIPTOR);
+ registerExtension(taskId, HtmlErrorsTask.DESCRIPTOR);
+ registerExtension(taskId, ParseHtmlTask.DESCRIPTOR);
+ //
+ // Register YAML tasks.
+ //
+ registerExtension(taskId, ParseYamlTask.DESCRIPTOR);
+ //
+ // Register analysis option file tasks.
+ //
+ registerExtension(
+ TASK_EXTENSION_POINT_ID, GenerateOptionsErrorsTask.DESCRIPTOR);
+ }
+
void _registerWorkManagerFactoryExtensions(
RegisterExtension registerExtension) {
String taskId = WORK_MANAGER_EXTENSION_POINT_ID;
« no previous file with comments | « pkg/analyzer/lib/src/generated/engine.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698