Index: pkg/analyzer/lib/src/task/options.dart |
diff --git a/pkg/analyzer/lib/src/task/options.dart b/pkg/analyzer/lib/src/task/options.dart |
index dafb6d87d80bcee8a1d2f9892e59c4efbea7cfa8..5dfe1dc5d088e2926c5584cbd06086fef59ba46f 100644 |
--- a/pkg/analyzer/lib/src/task/options.dart |
+++ b/pkg/analyzer/lib/src/task/options.dart |
@@ -501,9 +501,17 @@ class _OptionsProcessor { |
var strongMode = analyzer[AnalyzerOptions.strong_mode]; |
_applyStrongOptions(options, strongMode); |
+ // Set filters. |
+ var filters = analyzer[AnalyzerOptions.errors]; |
+ _applyProcessors(options, filters); |
+ |
// Process language options. |
var language = analyzer[AnalyzerOptions.language]; |
_applyLanguageOptions(options, language); |
+ |
+ // Process excludes. |
+ var excludes = analyzer[AnalyzerOptions.exclude]; |
+ _applyExcludes(options, excludes); |
} |
} |
@@ -612,6 +620,15 @@ class _OptionsProcessor { |
} |
} |
+ void _applyExcludes(AnalysisOptionsImpl options, Object excludes) { |
+ if (excludes is YamlList) { |
+ List<String> excludeList = toStringList(excludes); |
+ if (excludeList != null) { |
+ options.excludePatterns = excludeList; |
+ } |
+ } |
+ } |
+ |
void _applyLanguageOption( |
AnalysisOptionsImpl options, Object feature, Object value) { |
bool boolValue = toBool(value); |
@@ -640,6 +657,11 @@ class _OptionsProcessor { |
} |
} |
+ void _applyProcessors(AnalysisOptionsImpl options, Object codes) { |
+ ErrorConfig config = new ErrorConfig(codes); |
+ options.errorProcessors = config.processors; |
+ } |
+ |
void _applyStrongModeOption( |
AnalysisOptionsImpl options, Object feature, Object value) { |
bool boolValue = toBool(value); |