OLD | NEW |
(Empty) | |
| 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 |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 /** |
| 6 * Support for client code that extends the analysis engine by adding new |
| 7 * analysis tasks. |
| 8 */ |
| 9 library analyzer.plugin.task; |
| 10 |
| 11 import 'package:analyzer/src/generated/engine.dart' hide WorkManager; |
| 12 import 'package:analyzer/src/plugin/engine_plugin.dart'; |
| 13 import 'package:analyzer/task/model.dart'; |
| 14 import 'package:plugin/plugin.dart'; |
| 15 |
| 16 /** |
| 17 * The identifier of the extension point that allows plugins to register new |
| 18 * analysis error results to compute for a Dart source. The object used as an |
| 19 * extension must be a [ResultDescriptor]. |
| 20 */ |
| 21 final String DART_ERRORS_FOR_SOURCE_EXTENSION_POINT_ID = Plugin.join( |
| 22 EnginePlugin.UNIQUE_IDENTIFIER, |
| 23 EnginePlugin.DART_ERRORS_FOR_SOURCE_EXTENSION_POINT); |
| 24 |
| 25 /** |
| 26 * The identifier of the extension point that allows plugins to register new |
| 27 * analysis error results to compute for a Dart library specific unit. The |
| 28 * object used as an extension must be a [ResultDescriptor]. |
| 29 */ |
| 30 final String DART_ERRORS_FOR_UNIT_EXTENSION_POINT_ID = Plugin.join( |
| 31 EnginePlugin.UNIQUE_IDENTIFIER, |
| 32 EnginePlugin.DART_ERRORS_FOR_UNIT_EXTENSION_POINT); |
| 33 |
| 34 /** |
| 35 * The identifier of the extension point that allows plugins to register new |
| 36 * analysis error results to compute for an HTML source. The object used as an |
| 37 * extension must be a [ResultDescriptor]. |
| 38 */ |
| 39 final String HTML_ERRORS_EXTENSION_POINT_ID = Plugin.join( |
| 40 EnginePlugin.UNIQUE_IDENTIFIER, EnginePlugin.HTML_ERRORS_EXTENSION_POINT); |
| 41 |
| 42 /** |
| 43 * The identifier of the extension point that allows plugins to register new |
| 44 * analysis tasks with the analysis engine. The object used as an extension must |
| 45 * be a [TaskDescriptor]. |
| 46 * |
| 47 * Contributed tasks should never extract information from Dart elements or AST |
| 48 * (e.g. offsets) of a source and put it into results for targets in other |
| 49 * sources. Dart elements and ASTs are updated during incremental resolution, |
| 50 * and invalidation of results is intentionally limited by the source bounds |
| 51 * for performance reasons. |
| 52 */ |
| 53 final String TASK_EXTENSION_POINT_ID = Plugin.join( |
| 54 EnginePlugin.UNIQUE_IDENTIFIER, EnginePlugin.TASK_EXTENSION_POINT); |
| 55 |
| 56 /** |
| 57 * The identifier of the extension point that allows plugins to register new |
| 58 * work managers with the analysis engine. The object used as an extension must |
| 59 * be a [WorkManagerFactory]. |
| 60 */ |
| 61 final String WORK_MANAGER_EXTENSION_POINT_ID = Plugin.join( |
| 62 EnginePlugin.UNIQUE_IDENTIFIER, |
| 63 EnginePlugin.WORK_MANAGER_FACTORY_EXTENSION_POINT); |
| 64 |
| 65 /** |
| 66 * A function that will create a new [WorkManager] for the given [context]. |
| 67 */ |
| 68 typedef WorkManager WorkManagerFactory(InternalAnalysisContext context); |
OLD | NEW |