| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 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 | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library analyzer.src.task.options; | 5 library analyzer.src.task.options; |
| 6 | 6 |
| 7 import 'package:analyzer/analyzer.dart'; | 7 import 'package:analyzer/analyzer.dart'; |
| 8 import 'package:analyzer/plugin/options.dart'; | 8 import 'package:analyzer/plugin/options.dart'; |
| 9 import 'package:analyzer/source/analysis_options_provider.dart'; | 9 import 'package:analyzer/source/analysis_options_provider.dart'; |
| 10 import 'package:analyzer/src/generated/engine.dart'; | 10 import 'package:analyzer/src/generated/engine.dart'; |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 | 119 |
| 120 /// Validates `analyzer` error filter options. | 120 /// Validates `analyzer` error filter options. |
| 121 class ErrorFilterOptionValidator extends OptionsValidator { | 121 class ErrorFilterOptionValidator extends OptionsValidator { |
| 122 /// Pretty list of legal includes. | 122 /// Pretty list of legal includes. |
| 123 static final String legalIncludes = StringUtilities.printListOfQuotedNames( | 123 static final String legalIncludes = StringUtilities.printListOfQuotedNames( |
| 124 new List.from(AnalyzerOptions.ignoreSynonyms) | 124 new List.from(AnalyzerOptions.ignoreSynonyms) |
| 125 ..addAll(AnalyzerOptions.includeSynonyms)); | 125 ..addAll(AnalyzerOptions.includeSynonyms)); |
| 126 | 126 |
| 127 @override | 127 @override |
| 128 void validate(ErrorReporter reporter, Map<String, YamlNode> options) { | 128 void validate(ErrorReporter reporter, Map<String, YamlNode> options) { |
| 129 YamlNode analyzer = options[AnalyzerOptions.analyzer]; | 129 var analyzer = options[AnalyzerOptions.analyzer]; |
| 130 if (analyzer is! YamlMap) { | 130 if (analyzer is! YamlMap) { |
| 131 return; | 131 return; |
| 132 } | 132 } |
| 133 | 133 |
| 134 YamlNode filters = analyzer[AnalyzerOptions.errors]; | 134 var filters = analyzer[AnalyzerOptions.errors]; |
| 135 if (filters is YamlMap) { | 135 if (filters is YamlMap) { |
| 136 String value; | 136 String value; |
| 137 filters.nodes.forEach((k, v) { | 137 filters.nodes.forEach((k, v) { |
| 138 if (k is YamlScalar) { | 138 if (k is YamlScalar) { |
| 139 value = toUpperCase(k.value); | 139 value = toUpperCase(k.value); |
| 140 if (!ErrorCode.values.any((ErrorCode code) => code.name == value)) { | 140 if (!ErrorCode.values.any((ErrorCode code) => code.name == value)) { |
| 141 reporter.reportErrorForSpan( | 141 reporter.reportErrorForSpan( |
| 142 AnalysisOptionsWarningCode.UNRECOGNIZED_ERROR_CODE, | 142 AnalysisOptionsWarningCode.UNRECOGNIZED_ERROR_CODE, |
| 143 k.span, | 143 k.span, |
| 144 [k.value?.toString()]); | 144 [k.value?.toString()]); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 new GenerateOptionsErrorsTask(context, target); | 226 new GenerateOptionsErrorsTask(context, target); |
| 227 } | 227 } |
| 228 | 228 |
| 229 /// Validates `analyzer` language configuration options. | 229 /// Validates `analyzer` language configuration options. |
| 230 class LanguageOptionValidator extends OptionsValidator { | 230 class LanguageOptionValidator extends OptionsValidator { |
| 231 ErrorBuilder builder = new ErrorBuilder(AnalyzerOptions.languageOptions); | 231 ErrorBuilder builder = new ErrorBuilder(AnalyzerOptions.languageOptions); |
| 232 ErrorBuilder trueOrFalseBuilder = new TrueOrFalseValueErrorBuilder(); | 232 ErrorBuilder trueOrFalseBuilder = new TrueOrFalseValueErrorBuilder(); |
| 233 | 233 |
| 234 @override | 234 @override |
| 235 void validate(ErrorReporter reporter, Map<String, YamlNode> options) { | 235 void validate(ErrorReporter reporter, Map<String, YamlNode> options) { |
| 236 YamlNode analyzer = options[AnalyzerOptions.analyzer]; | 236 var analyzer = options[AnalyzerOptions.analyzer]; |
| 237 if (analyzer is! YamlMap) { | 237 if (analyzer is! YamlMap) { |
| 238 return; | 238 return; |
| 239 } | 239 } |
| 240 | 240 |
| 241 YamlNode language = analyzer[AnalyzerOptions.language]; | 241 var language = analyzer[AnalyzerOptions.language]; |
| 242 if (language is YamlMap) { | 242 if (language is YamlMap) { |
| 243 language.nodes.forEach((k, v) { | 243 language.nodes.forEach((k, v) { |
| 244 String key, value; | 244 String key, value; |
| 245 bool validKey = false; | 245 bool validKey = false; |
| 246 if (k is YamlScalar) { | 246 if (k is YamlScalar) { |
| 247 key = k.value?.toString(); | 247 key = k.value?.toString(); |
| 248 if (!AnalyzerOptions.languageOptions.contains(key)) { | 248 if (!AnalyzerOptions.languageOptions.contains(key)) { |
| 249 builder.reportError(reporter, AnalyzerOptions.language, k); | 249 builder.reportError(reporter, AnalyzerOptions.language, k); |
| 250 } else { | 250 } else { |
| 251 // If we have a valid key, go on and check the value. | 251 // If we have a valid key, go on and check the value. |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 void setStrongMode(AnalysisContext context, Object strongMode) { | 416 void setStrongMode(AnalysisContext context, Object strongMode) { |
| 417 bool strong = strongMode is bool ? strongMode : false; | 417 bool strong = strongMode is bool ? strongMode : false; |
| 418 if (context.analysisOptions.strongMode != strong) { | 418 if (context.analysisOptions.strongMode != strong) { |
| 419 AnalysisOptionsImpl options = | 419 AnalysisOptionsImpl options = |
| 420 new AnalysisOptionsImpl.from(context.analysisOptions); | 420 new AnalysisOptionsImpl.from(context.analysisOptions); |
| 421 options.strongMode = strong; | 421 options.strongMode = strong; |
| 422 context.analysisOptions = options; | 422 context.analysisOptions = options; |
| 423 } | 423 } |
| 424 } | 424 } |
| 425 } | 425 } |
| OLD | NEW |