| 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 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 import 'package:analyzer/analyzer.dart'; | 9 import 'package:analyzer/analyzer.dart'; |
| 10 import 'package:analyzer/plugin/options.dart'; | 10 import 'package:analyzer/plugin/options.dart'; |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 507 } | 507 } |
| 508 } | 508 } |
| 509 if (feature == AnalyzerOptions.enableSuperMixins) { | 509 if (feature == AnalyzerOptions.enableSuperMixins) { |
| 510 if (isTrue(value)) { | 510 if (isTrue(value)) { |
| 511 AnalysisOptionsImpl options = | 511 AnalysisOptionsImpl options = |
| 512 new AnalysisOptionsImpl.from(context.analysisOptions); | 512 new AnalysisOptionsImpl.from(context.analysisOptions); |
| 513 options.enableSuperMixins = true; | 513 options.enableSuperMixins = true; |
| 514 context.analysisOptions = options; | 514 context.analysisOptions = options; |
| 515 } | 515 } |
| 516 } | 516 } |
| 517 if (feature == AnalyzerOptions.enableGenericMethods) { | |
| 518 if (isTrue(value)) { | |
| 519 AnalysisOptionsImpl options = | |
| 520 new AnalysisOptionsImpl.from(context.analysisOptions); | |
| 521 options.enableGenericMethods = true; | |
| 522 context.analysisOptions = options; | |
| 523 } | |
| 524 } | |
| 525 } | 517 } |
| 526 | 518 |
| 527 void setLanguageOptions(AnalysisContext context, Object configs) { | 519 void setLanguageOptions(AnalysisContext context, Object configs) { |
| 528 if (configs is YamlMap) { | 520 if (configs is YamlMap) { |
| 529 configs.nodes.forEach((k, v) { | 521 configs.nodes.forEach((k, v) { |
| 530 if (k is YamlScalar && v is YamlScalar) { | 522 if (k is YamlScalar && v is YamlScalar) { |
| 531 String feature = k.value?.toString(); | 523 String feature = k.value?.toString(); |
| 532 setLanguageOption(context, feature, v.value); | 524 setLanguageOption(context, feature, v.value); |
| 533 } | 525 } |
| 534 }); | 526 }); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 563 void _applyLanguageOption( | 555 void _applyLanguageOption( |
| 564 AnalysisOptionsImpl options, Object feature, Object value) { | 556 AnalysisOptionsImpl options, Object feature, Object value) { |
| 565 bool boolValue = toBool(value); | 557 bool boolValue = toBool(value); |
| 566 if (boolValue != null) { | 558 if (boolValue != null) { |
| 567 if (feature == AnalyzerOptions.enableAssertInitializer) { | 559 if (feature == AnalyzerOptions.enableAssertInitializer) { |
| 568 options.enableAssertInitializer = boolValue; | 560 options.enableAssertInitializer = boolValue; |
| 569 } else if (feature == AnalyzerOptions.enableInitializingFormalAccess) { | 561 } else if (feature == AnalyzerOptions.enableInitializingFormalAccess) { |
| 570 options.enableInitializingFormalAccess = boolValue; | 562 options.enableInitializingFormalAccess = boolValue; |
| 571 } else if (feature == AnalyzerOptions.enableSuperMixins) { | 563 } else if (feature == AnalyzerOptions.enableSuperMixins) { |
| 572 options.enableSuperMixins = boolValue; | 564 options.enableSuperMixins = boolValue; |
| 573 } else if (feature == AnalyzerOptions.enableGenericMethods) { | |
| 574 options.enableGenericMethods = boolValue; | |
| 575 } | 565 } |
| 576 } | 566 } |
| 577 } | 567 } |
| 578 | 568 |
| 579 void _applyLanguageOptions(AnalysisOptionsImpl options, Object configs) { | 569 void _applyLanguageOptions(AnalysisOptionsImpl options, Object configs) { |
| 580 if (configs is YamlMap) { | 570 if (configs is YamlMap) { |
| 581 configs.nodes.forEach((key, value) { | 571 configs.nodes.forEach((key, value) { |
| 582 if (key is YamlScalar && value is YamlScalar) { | 572 if (key is YamlScalar && value is YamlScalar) { |
| 583 String feature = key.value?.toString(); | 573 String feature = key.value?.toString(); |
| 584 _applyLanguageOption(options, feature, value.value); | 574 _applyLanguageOption(options, feature, value.value); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 612 } | 602 } |
| 613 }); | 603 }); |
| 614 } else if (config is Map) { | 604 } else if (config is Map) { |
| 615 options.strongMode = true; | 605 options.strongMode = true; |
| 616 config.forEach((k, v) => _applyStrongModeOption(options, k, v)); | 606 config.forEach((k, v) => _applyStrongModeOption(options, k, v)); |
| 617 } else { | 607 } else { |
| 618 options.strongMode = config is bool ? config : false; | 608 options.strongMode = config is bool ? config : false; |
| 619 } | 609 } |
| 620 } | 610 } |
| 621 } | 611 } |
| OLD | NEW |