Index: pkg/analyzer/lib/src/task/dart.dart |
diff --git a/pkg/analyzer/lib/src/task/dart.dart b/pkg/analyzer/lib/src/task/dart.dart |
index 3ade0ddff4eb2de4b076e01715509c7ff42185ed..d01f2b76b22b58e6f1ab777ac46523e5b7feebb0 100644 |
--- a/pkg/analyzer/lib/src/task/dart.dart |
+++ b/pkg/analyzer/lib/src/task/dart.dart |
@@ -30,6 +30,7 @@ import 'package:analyzer/src/task/strong_mode.dart'; |
import 'package:analyzer/task/dart.dart'; |
import 'package:analyzer/task/general.dart'; |
import 'package:analyzer/task/model.dart'; |
+import 'package:analyzer/src/plugin/engine_plugin.dart'; |
/** |
* The [ResultCachingPolicy] for ASTs. |
@@ -1922,31 +1923,6 @@ class DartDelta extends Delta { |
*/ |
class DartErrorsTask extends SourceBasedAnalysisTask { |
/** |
- * The name of the [BUILD_DIRECTIVES_ERRORS] input. |
- */ |
- static const String BUILD_DIRECTIVES_ERRORS_INPUT = 'BUILD_DIRECTIVES_ERRORS'; |
- |
- /** |
- * The name of the [BUILD_LIBRARY_ERRORS] input. |
- */ |
- static const String BUILD_LIBRARY_ERRORS_INPUT = 'BUILD_LIBRARY_ERRORS'; |
- |
- /** |
- * The name of the [LIBRARY_UNIT_ERRORS] input. |
- */ |
- static const String LIBRARY_UNIT_ERRORS_INPUT = 'LIBRARY_UNIT_ERRORS'; |
- |
- /** |
- * The name of the [PARSE_ERRORS] input. |
- */ |
- static const String PARSE_ERRORS_INPUT = 'PARSE_ERRORS'; |
- |
- /** |
- * The name of the [SCAN_ERRORS] input. |
- */ |
- static const String SCAN_ERRORS_INPUT = 'SCAN_ERRORS'; |
- |
- /** |
* The task descriptor describing this kind of task. |
*/ |
static final TaskDescriptor DESCRIPTOR = new TaskDescriptor('DartErrorsTask', |
@@ -1960,18 +1936,21 @@ class DartErrorsTask extends SourceBasedAnalysisTask { |
@override |
void internalPerform() { |
+ List<List<AnalysisError>> errorLists = <List<AnalysisError>>[]; |
// |
// Prepare inputs. |
// |
- List<List<AnalysisError>> errorLists = <List<AnalysisError>>[]; |
- errorLists.add(getRequiredInput(BUILD_DIRECTIVES_ERRORS_INPUT)); |
- errorLists.add(getRequiredInput(BUILD_LIBRARY_ERRORS_INPUT)); |
- errorLists.add(getRequiredInput(PARSE_ERRORS_INPUT)); |
- errorLists.add(getRequiredInput(SCAN_ERRORS_INPUT)); |
- Map<Source, List<AnalysisError>> unitErrors = |
- getRequiredInput(LIBRARY_UNIT_ERRORS_INPUT); |
- for (List<AnalysisError> errors in unitErrors.values) { |
- errorLists.add(errors); |
+ EnginePlugin enginePlugin = AnalysisEngine.instance.enginePlugin; |
+ for (ResultDescriptor result in enginePlugin.dartErrorsForSource) { |
+ String inputName = result.name + '_input'; |
+ errorLists.add(getRequiredInput(inputName)); |
+ } |
+ for (ResultDescriptor result in enginePlugin.dartErrorsForUnit) { |
+ String inputName = result.name + '_input'; |
+ Map<Source, List<AnalysisError>> errorMap = getRequiredInput(inputName); |
+ for (List<AnalysisError> errors in errorMap.values) { |
+ errorLists.add(errors); |
+ } |
} |
// |
// Record outputs. |
@@ -1986,17 +1965,23 @@ class DartErrorsTask extends SourceBasedAnalysisTask { |
*/ |
static Map<String, TaskInput> buildInputs(AnalysisTarget target) { |
Source source = target; |
- return <String, TaskInput>{ |
- BUILD_DIRECTIVES_ERRORS_INPUT: BUILD_DIRECTIVES_ERRORS.of(source), |
- BUILD_LIBRARY_ERRORS_INPUT: BUILD_LIBRARY_ERRORS.of(source), |
- PARSE_ERRORS_INPUT: PARSE_ERRORS.of(source), |
- SCAN_ERRORS_INPUT: SCAN_ERRORS.of(source), |
- LIBRARY_UNIT_ERRORS_INPUT: |
+ Map<String, TaskInput> inputs = <String, TaskInput>{}; |
+ EnginePlugin enginePlugin = AnalysisEngine.instance.enginePlugin; |
+ // for Source |
+ for (ResultDescriptor result in enginePlugin.dartErrorsForSource) { |
+ String inputName = result.name + '_input'; |
+ inputs[inputName] = result.of(source); |
+ } |
+ // for LibrarySpecificUnit |
+ for (ResultDescriptor result in enginePlugin.dartErrorsForUnit) { |
+ String inputName = result.name + '_input'; |
+ inputs[inputName] = |
CONTAINING_LIBRARIES.of(source).toMap((Source library) { |
LibrarySpecificUnit unit = new LibrarySpecificUnit(library, source); |
- return LIBRARY_UNIT_ERRORS.of(unit); |
- }) |
- }; |
+ return result.of(unit); |
+ }); |
+ } |
+ return inputs; |
} |
/** |