| Index: pkg/analyzer/lib/src/error_formatter.dart
|
| diff --git a/pkg/analyzer/lib/src/error_formatter.dart b/pkg/analyzer/lib/src/error_formatter.dart
|
| index c26aaa4a5ab7a42b67c21ba906d7cfaec7a9406a..97be3a615f15292827402835fb6bea3dd0d64812 100644
|
| --- a/pkg/analyzer/lib/src/error_formatter.dart
|
| +++ b/pkg/analyzer/lib/src/error_formatter.dart
|
| @@ -9,23 +9,32 @@ import 'generated/error.dart';
|
| import 'generated/source_io.dart';
|
| import '../options.dart';
|
|
|
| +/// Returns `true` if [AnalysisError] should be printed.
|
| +typedef bool _ErrorFilter(AnalysisError error);
|
| +
|
| +/// Allows any [AnalysisError].
|
| +bool _anyError(AnalysisError error) => true;
|
| +
|
| /**
|
| * Helper for formatting [AnalysisError]s.
|
| * The two format options are a user consumable format and a machine consumable format.
|
| */
|
| class ErrorFormatter {
|
| - StringSink out;
|
| - CommandLineOptions options;
|
| + final StringSink out;
|
| + final CommandLineOptions options;
|
| + final _ErrorFilter errorFilter;
|
|
|
| - ErrorFormatter(this.out, this.options);
|
| + ErrorFormatter(this.out, this.options, [this.errorFilter = _anyError]);
|
|
|
| void formatErrors(List<AnalysisErrorInfo> errorInfos) {
|
| var errors = new List<AnalysisError>();
|
| var errorToLine = new Map<AnalysisError, LineInfo>();
|
| for (AnalysisErrorInfo errorInfo in errorInfos) {
|
| for (AnalysisError error in errorInfo.errors) {
|
| - errors.add(error);
|
| - errorToLine[error] = errorInfo.lineInfo;
|
| + if (errorFilter(error)) {
|
| + errors.add(error);
|
| + errorToLine[error] = errorInfo.lineInfo;
|
| + }
|
| }
|
| }
|
| // sort errors
|
|
|