7ac6ad6d42
Adjusts the logic in the lint `Registry` class so that lint names are matched in case-insensitive fashion. For the most part this is accomplished by adding calls to `.toLowerCase()` inside the `Registry` class, preserving its API. For the `enabled` method, preserving the API would have been a pain (I would have had to translate the keys in the `ruleConfigs` parameter to lower case). So instead I added an assertion to verify that the keys were lower case, and pushed the responsibility to the callers to create lower case keys. This paves the way for a follow-up CL that will translate diagnostic codes to `lower_snake_case` conventions. It also solves a longstanding problem with the mixed case lint rules `no_runtimeType_toString`, `prefer_for_elements_to_map_fromIterable`, `prefer_iterable_whereType`. Previously, the user had to carefully imitate the capitalization of the lint rules when specifying them in the `analysis_options.yaml` file, even though `// ignore:` comments for the lints matched in case insensitive fashion. With this CL, the lint rule names in `analysis_options.yaml` are matched in case insensitive fashion as well. Change-Id: I6a6a6964d83241e49878bbf96ef9b94cbb12098b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/465964 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
This package provides testing utilities related to the analyzer and analysis_server_plugin packages.
Support
Post issues and feature requests at https://github.com/dart-lang/sdk/issues. These will be triaged according to the analyzer triage priorities.
Questions and discussions are welcome at the #hackers-analyzer Discord channel.
License
See the LICENSE file.