diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d5ace5d0da..24c7b16b0e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -38,9 +38,9 @@ jobs: - run: cargo build --all --release - run: ./target/release/ruff_dev generate-all - run: git diff --quiet README.md || echo "::error file=README.md::This file is outdated. Run 'cargo +nightly dev generate-all'." - - run: git diff --quiet src/checks_gen.rs || echo "::error file=src/checks_gen.rs::This file is outdated. Run 'cargo +nightly dev generate-all'." + - run: git diff --quiet src/registry_gen.rs || echo "::error file=src/registry_gen.rs::This file is outdated. Run 'cargo +nightly dev generate-all'." - run: git diff --quiet ruff.schema.json || echo "::error file=ruff.schema.json::This file is outdated. Run 'cargo +nightly dev generate-all'." - - run: git diff --exit-code -- README.md src/checks_gen.rs ruff.schema.json + - run: git diff --exit-code -- README.md src/registry_gen.rs ruff.schema.json cargo-fmt: name: "cargo fmt" diff --git a/flake8_to_ruff/src/converter.rs b/flake8_to_ruff/src/converter.rs index e105a252bc..951e5a2937 100644 --- a/flake8_to_ruff/src/converter.rs +++ b/flake8_to_ruff/src/converter.rs @@ -1,13 +1,13 @@ use std::collections::{BTreeSet, HashMap}; use anyhow::Result; -use ruff::checks_gen::CheckCodePrefix; use ruff::flake8_pytest_style::types::{ ParametrizeNameType, ParametrizeValuesRowType, ParametrizeValuesType, }; use ruff::flake8_quotes::settings::Quote; use ruff::flake8_tidy_imports::settings::Strictness; use ruff::pydocstyle::settings::Convention; +use ruff::registry_gen::CheckCodePrefix; use ruff::settings::options::Options; use ruff::settings::pyproject::Pyproject; use ruff::{ @@ -345,8 +345,8 @@ mod tests { use std::collections::HashMap; use anyhow::Result; - use ruff::checks_gen::CheckCodePrefix; use ruff::pydocstyle::settings::Convention; + use ruff::registry_gen::CheckCodePrefix; use ruff::settings::options::Options; use ruff::settings::pyproject::Pyproject; use ruff::{flake8_quotes, pydocstyle}; diff --git a/flake8_to_ruff/src/parser.rs b/flake8_to_ruff/src/parser.rs index 39fdd37c71..a812506700 100644 --- a/flake8_to_ruff/src/parser.rs +++ b/flake8_to_ruff/src/parser.rs @@ -3,8 +3,8 @@ use std::str::FromStr; use anyhow::{bail, Result}; use once_cell::sync::Lazy; use regex::Regex; -use ruff::checks::PREFIX_REDIRECTS; -use ruff::checks_gen::CheckCodePrefix; +use ruff::registry::PREFIX_REDIRECTS; +use ruff::registry_gen::CheckCodePrefix; use ruff::settings::types::PatternPrefixPair; use rustc_hash::FxHashMap; @@ -201,7 +201,7 @@ pub fn collect_per_file_ignores( #[cfg(test)] mod tests { use anyhow::Result; - use ruff::checks_gen::CheckCodePrefix; + use ruff::registry_gen::CheckCodePrefix; use ruff::settings::types::PatternPrefixPair; use crate::parser::{parse_files_to_codes_mapping, parse_prefix_codes, parse_strings}; diff --git a/flake8_to_ruff/src/plugin.rs b/flake8_to_ruff/src/plugin.rs index 0ac5f07cec..d394b2d278 100644 --- a/flake8_to_ruff/src/plugin.rs +++ b/flake8_to_ruff/src/plugin.rs @@ -3,7 +3,7 @@ use std::fmt; use std::str::FromStr; use anyhow::anyhow; -use ruff::checks_gen::CheckCodePrefix; +use ruff::registry_gen::CheckCodePrefix; #[derive(Clone, Ord, PartialOrd, Eq, PartialEq)] pub enum Plugin { diff --git a/src/checks_gen.rs b/registry_gen.rs similarity index 99% rename from src/checks_gen.rs rename to registry_gen.rs index a31f351e6a..8e4baffbd5 100644 --- a/src/checks_gen.rs +++ b/registry_gen.rs @@ -5,8 +5,8 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use strum_macros::{AsRefStr, EnumString}; -use crate::checks::CheckCode; use crate::one_time_warning; +use crate::registry::CheckCode; #[derive( EnumString, diff --git a/ruff_dev/src/generate_check_code_prefix.rs b/ruff_dev/src/generate_check_code_prefix.rs index b4a8a29ab7..fbc8a9a4f9 100644 --- a/ruff_dev/src/generate_check_code_prefix.rs +++ b/ruff_dev/src/generate_check_code_prefix.rs @@ -10,7 +10,7 @@ use anyhow::{ensure, Result}; use clap::Parser; use codegen::{Scope, Type, Variant}; use itertools::Itertools; -use ruff::checks::{CheckCode, PREFIX_REDIRECTS}; +use ruff::registry::{CheckCode, PREFIX_REDIRECTS}; use strum::IntoEnumIterator; const ALL: &str = "ALL"; @@ -19,7 +19,7 @@ const ALL: &str = "ALL"; #[command(author, version, about, long_about = None)] pub struct Cli { /// Write the generated source code to stdout (rather than to - /// `src/checks_gen.rs`). + /// `src/registry_gen.rs`). #[arg(long)] pub(crate) dry_run: bool, } @@ -172,7 +172,7 @@ pub fn main(cli: &Cli) -> Result<()> { output.push_str("use strum_macros::{AsRefStr, EnumString};"); output.push('\n'); output.push('\n'); - output.push_str("use crate::checks::CheckCode;"); + output.push_str("use crate::registry::CheckCode;"); output.push('\n'); output.push_str("use crate::one_time_warning;"); output.push('\n'); @@ -204,14 +204,14 @@ pub fn main(cli: &Cli) -> Result<()> { let Output { status, stdout, .. } = rustfmt.wait_with_output()?; ensure!(status.success(), "rustfmt failed with {status}"); - // Write the output to `src/checks_gen.rs` (or stdout). + // Write the output to `src/registry_gen.rs` (or stdout). if cli.dry_run { println!("{}", String::from_utf8(stdout)?); } else { let file = PathBuf::from(env!("CARGO_MANIFEST_DIR")) .parent() .expect("Failed to find root directory") - .join("src/checks_gen.rs"); + .join("registry_gen.rs"); if fs::read(&file).map_or(true, |old| old != stdout) { fs::write(&file, stdout)?; } diff --git a/ruff_dev/src/generate_rules_table.rs b/ruff_dev/src/generate_rules_table.rs index 26523d79c9..111bfeb721 100644 --- a/ruff_dev/src/generate_rules_table.rs +++ b/ruff_dev/src/generate_rules_table.rs @@ -3,7 +3,7 @@ use anyhow::Result; use clap::Args; use itertools::Itertools; -use ruff::checks::{CheckCategory, CheckCode}; +use ruff::registry::{CheckCategory, CheckCode}; use strum::IntoEnumIterator; use crate::utils::replace_readme_section; diff --git a/src/autofix/fixer.rs b/src/autofix/fixer.rs index 0e985f26fc..04e42573a3 100644 --- a/src/autofix/fixer.rs +++ b/src/autofix/fixer.rs @@ -7,7 +7,7 @@ use rustpython_parser::ast::Location; use crate::ast::types::Range; use crate::autofix::Fix; -use crate::checks::Check; +use crate::registry::Check; use crate::source_code_locator::SourceCodeLocator; #[derive(Debug, Copy, Clone, Hash)] diff --git a/src/checkers/ast.rs b/src/checkers/ast.rs index d30a50a147..89ce7f0427 100644 --- a/src/checkers/ast.rs +++ b/src/checkers/ast.rs @@ -23,13 +23,13 @@ use crate::ast::types::{ }; use crate::ast::visitor::{walk_excepthandler, Visitor}; use crate::ast::{branch_detection, cast, helpers, operations, visitor}; -use crate::checks::{Check, CheckCode, CheckKind, DeferralKeyword}; use crate::docstrings::definition::{Definition, DefinitionKind, Docstring, Documentable}; use crate::noqa::Directive; use crate::python::builtins::{BUILTINS, MAGIC_GLOBALS}; use crate::python::future::ALL_FEATURE_NAMES; use crate::python::typing; use crate::python::typing::SubscriptKind; +use crate::registry::{Check, CheckCode, CheckKind, DeferralKeyword}; use crate::settings::types::PythonVersion; use crate::settings::{flags, Settings}; use crate::source_code_locator::SourceCodeLocator; diff --git a/src/checkers/imports.rs b/src/checkers/imports.rs index 00c32b3334..11715c195b 100644 --- a/src/checkers/imports.rs +++ b/src/checkers/imports.rs @@ -5,10 +5,10 @@ use std::path::Path; use rustpython_parser::ast::Suite; use crate::ast::visitor::Visitor; -use crate::checks::Check; use crate::directives::IsortDirectives; use crate::isort; use crate::isort::track::ImportTracker; +use crate::registry::Check; use crate::settings::{flags, Settings}; use crate::source_code_locator::SourceCodeLocator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/checkers/lines.rs b/src/checkers/lines.rs index eebc67993a..2d244ef932 100644 --- a/src/checkers/lines.rs +++ b/src/checkers/lines.rs @@ -1,9 +1,9 @@ //! Lint rules based on checking raw physical lines. -use crate::checks::{Check, CheckCode}; use crate::pycodestyle::checks::{line_too_long, no_newline_at_end_of_file}; use crate::pygrep_hooks::plugins::{blanket_noqa, blanket_type_ignore}; use crate::pyupgrade::checks::unnecessary_coding_comment; +use crate::registry::{Check, CheckCode}; use crate::settings::{flags, Settings}; pub fn check_lines( @@ -80,7 +80,7 @@ pub fn check_lines( mod tests { use super::check_lines; - use crate::checks::CheckCode; + use crate::registry::CheckCode; use crate::settings::{flags, Settings}; #[test] diff --git a/src/checkers/noqa.rs b/src/checkers/noqa.rs index df512fffe4..42af3c73e4 100644 --- a/src/checkers/noqa.rs +++ b/src/checkers/noqa.rs @@ -7,9 +7,9 @@ use rustpython_parser::ast::Location; use crate::ast::types::Range; use crate::autofix::Fix; -use crate::checks::{Check, CheckCode, CheckKind, UnusedCodes, CODE_REDIRECTS}; use crate::noqa; use crate::noqa::{is_file_exempt, Directive}; +use crate::registry::{Check, CheckCode, CheckKind, UnusedCodes, CODE_REDIRECTS}; use crate::settings::{flags, Settings}; pub fn check_noqa( diff --git a/src/checkers/tokens.rs b/src/checkers/tokens.rs index bd03f5f708..f208df4b05 100644 --- a/src/checkers/tokens.rs +++ b/src/checkers/tokens.rs @@ -2,8 +2,8 @@ use rustpython_parser::lexer::{LexResult, Tok}; -use crate::checks::{Check, CheckCode}; use crate::lex::docstring_detection::StateMachine; +use crate::registry::{Check, CheckCode}; use crate::ruff::checks::Context; use crate::settings::flags; use crate::source_code_locator::SourceCodeLocator; diff --git a/src/cli.rs b/src/cli.rs index 94af5914a8..04ba0441b7 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -4,10 +4,10 @@ use clap::{command, Parser}; use regex::Regex; use rustc_hash::FxHashMap; -use crate::checks::CheckCode; -use crate::checks_gen::CheckCodePrefix; use crate::fs; use crate::logging::LogLevel; +use crate::registry::CheckCode; +use crate::registry_gen::CheckCodePrefix; use crate::settings::types::{ FilePattern, PatternPrefixPair, PerFileIgnore, PythonVersion, SerializationFormat, }; diff --git a/src/commands.rs b/src/commands.rs index 8e49bdbdf8..f3babf2913 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -17,12 +17,12 @@ use walkdir::WalkDir; use crate::autofix::fixer; use crate::cache::DEFAULT_CACHE_DIR_NAME; -use crate::checks::{CheckCode, CheckKind}; use crate::cli::Overrides; use crate::iterators::par_iter; use crate::linter::{add_noqa_to_path, lint_path, lint_stdin, Diagnostics}; use crate::logging::LogLevel; use crate::message::Message; +use crate::registry::{CheckCode, CheckKind}; use crate::resolver::{FileDiscovery, PyprojectDiscovery}; use crate::settings::flags; use crate::settings::types::SerializationFormat; diff --git a/src/directives.rs b/src/directives.rs index 0c4a0fcf99..7b6b4ff66a 100644 --- a/src/directives.rs +++ b/src/directives.rs @@ -6,7 +6,7 @@ use rustpython_ast::Location; use rustpython_parser::lexer::{LexResult, Tok}; use crate::ast::types::Range; -use crate::checks::LintSource; +use crate::registry::LintSource; use crate::{Settings, SourceCodeLocator}; bitflags! { diff --git a/src/eradicate/checks.rs b/src/eradicate/checks.rs index dff4cda8d9..5cefb29b3a 100644 --- a/src/eradicate/checks.rs +++ b/src/eradicate/checks.rs @@ -2,8 +2,8 @@ use rustpython_ast::Location; use crate::ast::types::Range; use crate::autofix::Fix; -use crate::checks::{CheckCode, CheckKind}; use crate::eradicate::detection::comment_contains_code; +use crate::registry::{CheckCode, CheckKind}; use crate::settings::flags; use crate::{Check, Settings, SourceCodeLocator}; diff --git a/src/eradicate/mod.rs b/src/eradicate/mod.rs index 75fce72806..ba8f7d0bf6 100644 --- a/src/eradicate/mod.rs +++ b/src/eradicate/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::ERA001, Path::new("ERA001.py"); "ERA001")] diff --git a/src/flake8_2020/mod.rs b/src/flake8_2020/mod.rs index 013e358209..12d65add56 100644 --- a/src/flake8_2020/mod.rs +++ b/src/flake8_2020/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::YTT101, Path::new("YTT101.py"); "YTT101")] diff --git a/src/flake8_2020/plugins.rs b/src/flake8_2020/plugins.rs index 509cf98eda..2669e44e10 100644 --- a/src/flake8_2020/plugins.rs +++ b/src/flake8_2020/plugins.rs @@ -4,7 +4,7 @@ use rustpython_ast::{Cmpop, Constant, Expr, ExprKind, Located}; use crate::ast::helpers::match_module_member; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; fn is_sys(checker: &Checker, expr: &Expr, target: &str) -> bool { match_module_member( diff --git a/src/flake8_annotations/mod.rs b/src/flake8_annotations/mod.rs index 2fe756682d..408376bbc7 100644 --- a/src/flake8_annotations/mod.rs +++ b/src/flake8_annotations/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{flake8_annotations, Settings}; #[test] diff --git a/src/flake8_annotations/plugins.rs b/src/flake8_annotations/plugins.rs index 0528992f05..47054ee530 100644 --- a/src/flake8_annotations/plugins.rs +++ b/src/flake8_annotations/plugins.rs @@ -5,10 +5,10 @@ use crate::ast::types::Range; use crate::ast::visitor::Visitor; use crate::ast::{cast, helpers, visitor}; use crate::checkers::ast::Checker; -use crate::checks::{CheckCode, CheckKind}; use crate::docstrings::definition::{Definition, DefinitionKind}; use crate::flake8_annotations::fixes; use crate::flake8_annotations::helpers::match_function_def; +use crate::registry::{CheckCode, CheckKind}; use crate::visibility::Visibility; use crate::{visibility, Check}; diff --git a/src/flake8_bandit/mod.rs b/src/flake8_bandit/mod.rs index 74eddfa3b3..685e41de27 100644 --- a/src/flake8_bandit/mod.rs +++ b/src/flake8_bandit/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::S101, Path::new("S101.py"); "S101")] diff --git a/src/flake8_bandit/plugins/assert_used.rs b/src/flake8_bandit/plugins/assert_used.rs index a41bd585fb..2cb5a3c4a7 100644 --- a/src/flake8_bandit/plugins/assert_used.rs +++ b/src/flake8_bandit/plugins/assert_used.rs @@ -1,7 +1,7 @@ use rustpython_ast::{Located, StmtKind}; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// S101 pub fn assert_used(stmt: &Located) -> Check { diff --git a/src/flake8_bandit/plugins/exec_used.rs b/src/flake8_bandit/plugins/exec_used.rs index a72ee551ce..e206e821a7 100644 --- a/src/flake8_bandit/plugins/exec_used.rs +++ b/src/flake8_bandit/plugins/exec_used.rs @@ -1,7 +1,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// S102 pub fn exec_used(expr: &Expr, func: &Expr) -> Option { diff --git a/src/flake8_bandit/plugins/hardcoded_bind_all_interfaces.rs b/src/flake8_bandit/plugins/hardcoded_bind_all_interfaces.rs index 4152cadf3a..c160425899 100644 --- a/src/flake8_bandit/plugins/hardcoded_bind_all_interfaces.rs +++ b/src/flake8_bandit/plugins/hardcoded_bind_all_interfaces.rs @@ -1,5 +1,5 @@ use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// S104 pub fn hardcoded_bind_all_interfaces(value: &str, range: &Range) -> Option { diff --git a/src/flake8_bandit/plugins/hardcoded_password_default.rs b/src/flake8_bandit/plugins/hardcoded_password_default.rs index 36550d368a..e37e4d1155 100644 --- a/src/flake8_bandit/plugins/hardcoded_password_default.rs +++ b/src/flake8_bandit/plugins/hardcoded_password_default.rs @@ -1,8 +1,8 @@ use rustpython_ast::{ArgData, Arguments, Expr, Located}; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; use crate::flake8_bandit::helpers::{matches_password_name, string_literal}; +use crate::registry::{Check, CheckKind}; fn check_password_kwarg(arg: &Located, default: &Expr) -> Option { let string = string_literal(default)?; diff --git a/src/flake8_bandit/plugins/hardcoded_password_func_arg.rs b/src/flake8_bandit/plugins/hardcoded_password_func_arg.rs index 2976d62ff5..448cb25709 100644 --- a/src/flake8_bandit/plugins/hardcoded_password_func_arg.rs +++ b/src/flake8_bandit/plugins/hardcoded_password_func_arg.rs @@ -1,8 +1,8 @@ use rustpython_ast::Keyword; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; use crate::flake8_bandit::helpers::{matches_password_name, string_literal}; +use crate::registry::{Check, CheckKind}; /// S106 pub fn hardcoded_password_func_arg(keywords: &[Keyword]) -> Vec { diff --git a/src/flake8_bandit/plugins/hardcoded_password_string.rs b/src/flake8_bandit/plugins/hardcoded_password_string.rs index 679005433d..af5608c682 100644 --- a/src/flake8_bandit/plugins/hardcoded_password_string.rs +++ b/src/flake8_bandit/plugins/hardcoded_password_string.rs @@ -1,8 +1,8 @@ use rustpython_ast::{Constant, Expr, ExprKind}; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; use crate::flake8_bandit::helpers::{matches_password_name, string_literal}; +use crate::registry::{Check, CheckKind}; fn is_password_target(target: &Expr) -> bool { let target_name = match &target.node { diff --git a/src/flake8_blind_except/mod.rs b/src/flake8_blind_except/mod.rs index d8705e2356..a9ded38787 100644 --- a/src/flake8_blind_except/mod.rs +++ b/src/flake8_blind_except/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::BLE001, Path::new("BLE.py"); "BLE001")] diff --git a/src/flake8_blind_except/plugins.rs b/src/flake8_blind_except/plugins.rs index a32222afd1..b7952d2269 100644 --- a/src/flake8_blind_except/plugins.rs +++ b/src/flake8_blind_except/plugins.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind, Stmt, StmtKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// BLE001 pub fn blind_except( diff --git a/src/flake8_boolean_trap/mod.rs b/src/flake8_boolean_trap/mod.rs index dcc607c0eb..a067814fa1 100644 --- a/src/flake8_boolean_trap/mod.rs +++ b/src/flake8_boolean_trap/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::FBT001, Path::new("FBT.py"); "FBT001")] diff --git a/src/flake8_boolean_trap/plugins.rs b/src/flake8_boolean_trap/plugins.rs index 9fa9f62dca..f02220c109 100644 --- a/src/flake8_boolean_trap/plugins.rs +++ b/src/flake8_boolean_trap/plugins.rs @@ -3,7 +3,7 @@ use rustpython_parser::ast::{Constant, Expr}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; const FUNC_NAME_ALLOWLIST: &[&str] = &[ "assertEqual", diff --git a/src/flake8_bugbear/mod.rs b/src/flake8_bugbear/mod.rs index 36473bcc2d..2ca9f309ed 100644 --- a/src/flake8_bugbear/mod.rs +++ b/src/flake8_bugbear/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{flake8_bugbear, Settings}; #[test_case(CheckCode::B002, Path::new("B002.py"); "B002")] diff --git a/src/flake8_bugbear/plugins/abstract_base_class.rs b/src/flake8_bugbear/plugins/abstract_base_class.rs index f8075b4d1f..76615eaae9 100644 --- a/src/flake8_bugbear/plugins/abstract_base_class.rs +++ b/src/flake8_bugbear/plugins/abstract_base_class.rs @@ -4,7 +4,7 @@ use rustpython_ast::{Constant, Expr, ExprKind, Keyword, Stmt, StmtKind}; use crate::ast::helpers::match_module_member; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; fn is_abc_class( bases: &[Expr], diff --git a/src/flake8_bugbear/plugins/assert_false.rs b/src/flake8_bugbear/plugins/assert_false.rs index 5d884ffebe..47f9202bed 100644 --- a/src/flake8_bugbear/plugins/assert_false.rs +++ b/src/flake8_bugbear/plugins/assert_false.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Constant, Expr, ExprContext, ExprKind, Location, Stmt, Stmt use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; fn assertion_error(msg: Option<&Expr>) -> Stmt { diff --git a/src/flake8_bugbear/plugins/assert_raises_exception.rs b/src/flake8_bugbear/plugins/assert_raises_exception.rs index 28d0ccc086..5edb5dda7e 100644 --- a/src/flake8_bugbear/plugins/assert_raises_exception.rs +++ b/src/flake8_bugbear/plugins/assert_raises_exception.rs @@ -3,7 +3,7 @@ use rustpython_ast::{ExprKind, Stmt, Withitem}; use crate::ast::helpers::match_module_member; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B017 pub fn assert_raises_exception(checker: &mut Checker, stmt: &Stmt, items: &[Withitem]) { diff --git a/src/flake8_bugbear/plugins/assignment_to_os_environ.rs b/src/flake8_bugbear/plugins/assignment_to_os_environ.rs index e32823f6db..2996991ccb 100644 --- a/src/flake8_bugbear/plugins/assignment_to_os_environ.rs +++ b/src/flake8_bugbear/plugins/assignment_to_os_environ.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B003 pub fn assignment_to_os_environ(checker: &mut Checker, targets: &[Expr]) { diff --git a/src/flake8_bugbear/plugins/cached_instance_method.rs b/src/flake8_bugbear/plugins/cached_instance_method.rs index e19bc510b8..c7f0aeb3d9 100644 --- a/src/flake8_bugbear/plugins/cached_instance_method.rs +++ b/src/flake8_bugbear/plugins/cached_instance_method.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::helpers::{collect_call_paths, dealias_call_path, match_call_path}; use crate::ast::types::{Range, ScopeKind}; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; fn is_cache_func(checker: &Checker, expr: &Expr) -> bool { let call_path = dealias_call_path(collect_call_paths(expr), &checker.import_aliases); diff --git a/src/flake8_bugbear/plugins/cannot_raise_literal.rs b/src/flake8_bugbear/plugins/cannot_raise_literal.rs index 150ca52293..9d5a243143 100644 --- a/src/flake8_bugbear/plugins/cannot_raise_literal.rs +++ b/src/flake8_bugbear/plugins/cannot_raise_literal.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B016 pub fn cannot_raise_literal(checker: &mut Checker, expr: &Expr) { diff --git a/src/flake8_bugbear/plugins/duplicate_exceptions.rs b/src/flake8_bugbear/plugins/duplicate_exceptions.rs index d00a8d57b4..bb4257dbd6 100644 --- a/src/flake8_bugbear/plugins/duplicate_exceptions.rs +++ b/src/flake8_bugbear/plugins/duplicate_exceptions.rs @@ -6,7 +6,7 @@ use crate::ast::helpers; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; fn type_pattern(elts: Vec<&Expr>) -> Expr { diff --git a/src/flake8_bugbear/plugins/f_string_docstring.rs b/src/flake8_bugbear/plugins/f_string_docstring.rs index 66b61dc788..628ffc37bf 100644 --- a/src/flake8_bugbear/plugins/f_string_docstring.rs +++ b/src/flake8_bugbear/plugins/f_string_docstring.rs @@ -2,7 +2,7 @@ use rustpython_ast::{ExprKind, Stmt, StmtKind}; use crate::ast::helpers; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B021 pub fn f_string_docstring(checker: &mut Checker, body: &[Stmt]) { diff --git a/src/flake8_bugbear/plugins/function_call_argument_default.rs b/src/flake8_bugbear/plugins/function_call_argument_default.rs index 7a9e1da160..7c96eb25aa 100644 --- a/src/flake8_bugbear/plugins/function_call_argument_default.rs +++ b/src/flake8_bugbear/plugins/function_call_argument_default.rs @@ -8,8 +8,8 @@ use crate::ast::types::Range; use crate::ast::visitor; use crate::ast::visitor::Visitor; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::flake8_bugbear::plugins::mutable_argument_default::is_mutable_func; +use crate::registry::{Check, CheckKind}; const IMMUTABLE_FUNCS: [(&str, &str); 7] = [ ("", "tuple"), diff --git a/src/flake8_bugbear/plugins/function_uses_loop_variable.rs b/src/flake8_bugbear/plugins/function_uses_loop_variable.rs index 4c3cdd5cbe..6376b6bca4 100644 --- a/src/flake8_bugbear/plugins/function_uses_loop_variable.rs +++ b/src/flake8_bugbear/plugins/function_uses_loop_variable.rs @@ -6,7 +6,7 @@ use crate::ast::types::{Node, Range}; use crate::ast::visitor; use crate::ast::visitor::Visitor; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; #[derive(Default)] struct LoadedNamesVisitor<'a> { diff --git a/src/flake8_bugbear/plugins/getattr_with_constant.rs b/src/flake8_bugbear/plugins/getattr_with_constant.rs index 42aa2bbf6a..1aea139c83 100644 --- a/src/flake8_bugbear/plugins/getattr_with_constant.rs +++ b/src/flake8_bugbear/plugins/getattr_with_constant.rs @@ -3,9 +3,9 @@ use rustpython_ast::{Constant, Expr, ExprContext, ExprKind, Location}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::python::identifiers::IDENTIFIER_REGEX; use crate::python::keyword::KWLIST; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; fn attribute(value: &Expr, attr: &str) -> Expr { diff --git a/src/flake8_bugbear/plugins/jump_statement_in_finally.rs b/src/flake8_bugbear/plugins/jump_statement_in_finally.rs index dfb8d97709..2114b38348 100644 --- a/src/flake8_bugbear/plugins/jump_statement_in_finally.rs +++ b/src/flake8_bugbear/plugins/jump_statement_in_finally.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Stmt, StmtKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; fn walk_stmt(checker: &mut Checker, body: &[Stmt], f: fn(&Stmt) -> bool) { for stmt in body { diff --git a/src/flake8_bugbear/plugins/loop_variable_overrides_iterator.rs b/src/flake8_bugbear/plugins/loop_variable_overrides_iterator.rs index 0f2bdacd00..8a981d8a68 100644 --- a/src/flake8_bugbear/plugins/loop_variable_overrides_iterator.rs +++ b/src/flake8_bugbear/plugins/loop_variable_overrides_iterator.rs @@ -5,7 +5,7 @@ use crate::ast::types::Range; use crate::ast::visitor; use crate::ast::visitor::Visitor; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; #[derive(Default)] struct NameFinder<'a> { diff --git a/src/flake8_bugbear/plugins/mutable_argument_default.rs b/src/flake8_bugbear/plugins/mutable_argument_default.rs index b74a7c97ff..d225b1840e 100644 --- a/src/flake8_bugbear/plugins/mutable_argument_default.rs +++ b/src/flake8_bugbear/plugins/mutable_argument_default.rs @@ -4,7 +4,7 @@ use rustpython_ast::{Arguments, Constant, Expr, ExprKind, Operator}; use crate::ast::helpers::{collect_call_paths, dealias_call_path, match_call_path}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; const MUTABLE_FUNCS: &[(&str, &str)] = &[ ("", "dict"), diff --git a/src/flake8_bugbear/plugins/raise_without_from_inside_except.rs b/src/flake8_bugbear/plugins/raise_without_from_inside_except.rs index d82183f29c..1502d03e7c 100644 --- a/src/flake8_bugbear/plugins/raise_without_from_inside_except.rs +++ b/src/flake8_bugbear/plugins/raise_without_from_inside_except.rs @@ -3,8 +3,8 @@ use rustpython_ast::{ExprKind, Stmt, StmtKind}; use crate::ast::types::Range; use crate::ast::visitor::Visitor; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::python::string::is_lower; +use crate::registry::{Check, CheckKind}; struct RaiseVisitor { checks: Vec, diff --git a/src/flake8_bugbear/plugins/redundant_tuple_in_exception_handler.rs b/src/flake8_bugbear/plugins/redundant_tuple_in_exception_handler.rs index b080d8f0b8..db1f462ef3 100644 --- a/src/flake8_bugbear/plugins/redundant_tuple_in_exception_handler.rs +++ b/src/flake8_bugbear/plugins/redundant_tuple_in_exception_handler.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Excepthandler, ExcepthandlerKind, ExprKind}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; /// B013 diff --git a/src/flake8_bugbear/plugins/setattr_with_constant.rs b/src/flake8_bugbear/plugins/setattr_with_constant.rs index bf391d346a..55af10c9a1 100644 --- a/src/flake8_bugbear/plugins/setattr_with_constant.rs +++ b/src/flake8_bugbear/plugins/setattr_with_constant.rs @@ -5,9 +5,9 @@ use rustpython_ast::{Constant, Expr, ExprContext, ExprKind, Location, Stmt, Stmt use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::python::identifiers::IDENTIFIER_REGEX; use crate::python::keyword::KWLIST; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/flake8_bugbear/plugins/star_arg_unpacking_after_keyword_arg.rs b/src/flake8_bugbear/plugins/star_arg_unpacking_after_keyword_arg.rs index 18e7a64c16..4f0835d4e1 100644 --- a/src/flake8_bugbear/plugins/star_arg_unpacking_after_keyword_arg.rs +++ b/src/flake8_bugbear/plugins/star_arg_unpacking_after_keyword_arg.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind, Keyword}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B026 pub fn star_arg_unpacking_after_keyword_arg( diff --git a/src/flake8_bugbear/plugins/strip_with_multi_characters.rs b/src/flake8_bugbear/plugins/strip_with_multi_characters.rs index 5e304bca1b..c9449251d5 100644 --- a/src/flake8_bugbear/plugins/strip_with_multi_characters.rs +++ b/src/flake8_bugbear/plugins/strip_with_multi_characters.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Constant, Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B005 pub fn strip_with_multi_characters(checker: &mut Checker, expr: &Expr, func: &Expr, args: &[Expr]) { diff --git a/src/flake8_bugbear/plugins/unary_prefix_increment.rs b/src/flake8_bugbear/plugins/unary_prefix_increment.rs index 9124a31c4f..60c294b0ca 100644 --- a/src/flake8_bugbear/plugins/unary_prefix_increment.rs +++ b/src/flake8_bugbear/plugins/unary_prefix_increment.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind, Unaryop}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B002 pub fn unary_prefix_increment(checker: &mut Checker, expr: &Expr, op: &Unaryop, operand: &Expr) { diff --git a/src/flake8_bugbear/plugins/unreliable_callable_check.rs b/src/flake8_bugbear/plugins/unreliable_callable_check.rs index da5e46d41d..d271e92415 100644 --- a/src/flake8_bugbear/plugins/unreliable_callable_check.rs +++ b/src/flake8_bugbear/plugins/unreliable_callable_check.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Constant, Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B004 pub fn unreliable_callable_check(checker: &mut Checker, expr: &Expr, func: &Expr, args: &[Expr]) { diff --git a/src/flake8_bugbear/plugins/unused_loop_control_variable.rs b/src/flake8_bugbear/plugins/unused_loop_control_variable.rs index ce42d6a533..12b69d78e5 100644 --- a/src/flake8_bugbear/plugins/unused_loop_control_variable.rs +++ b/src/flake8_bugbear/plugins/unused_loop_control_variable.rs @@ -6,7 +6,7 @@ use crate::ast::visitor; use crate::ast::visitor::Visitor; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// Identify all `ExprKind::Name` nodes in an AST. struct NameFinder<'a> { diff --git a/src/flake8_bugbear/plugins/useless_comparison.rs b/src/flake8_bugbear/plugins/useless_comparison.rs index c1dc27499f..f4b96dd80f 100644 --- a/src/flake8_bugbear/plugins/useless_comparison.rs +++ b/src/flake8_bugbear/plugins/useless_comparison.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; pub fn useless_comparison(checker: &mut Checker, expr: &Expr) { if matches!(expr.node, ExprKind::Compare { .. }) { diff --git a/src/flake8_bugbear/plugins/useless_contextlib_suppress.rs b/src/flake8_bugbear/plugins/useless_contextlib_suppress.rs index 70b71d8238..b9accad67d 100644 --- a/src/flake8_bugbear/plugins/useless_contextlib_suppress.rs +++ b/src/flake8_bugbear/plugins/useless_contextlib_suppress.rs @@ -3,7 +3,7 @@ use rustpython_ast::Expr; use crate::ast::helpers::{collect_call_paths, match_call_path}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B005 pub fn useless_contextlib_suppress(checker: &mut Checker, expr: &Expr, args: &[Expr]) { diff --git a/src/flake8_bugbear/plugins/useless_expression.rs b/src/flake8_bugbear/plugins/useless_expression.rs index c451b5c3d4..e1e1d0839e 100644 --- a/src/flake8_bugbear/plugins/useless_expression.rs +++ b/src/flake8_bugbear/plugins/useless_expression.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Constant, ExprKind, Stmt, StmtKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; // B018 pub fn useless_expression(checker: &mut Checker, body: &[Stmt]) { diff --git a/src/flake8_bugbear/plugins/zip_without_explicit_strict.rs b/src/flake8_bugbear/plugins/zip_without_explicit_strict.rs index 17c6eb8ffc..f16b2fb38e 100644 --- a/src/flake8_bugbear/plugins/zip_without_explicit_strict.rs +++ b/src/flake8_bugbear/plugins/zip_without_explicit_strict.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind, Keyword}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// B905 pub fn zip_without_explicit_strict( diff --git a/src/flake8_builtins/checks.rs b/src/flake8_builtins/checks.rs index e611c6be67..a817215096 100644 --- a/src/flake8_builtins/checks.rs +++ b/src/flake8_builtins/checks.rs @@ -1,9 +1,9 @@ use rustpython_ast::Located; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; use crate::flake8_builtins::types::ShadowingType; use crate::python::builtins::BUILTINS; +use crate::registry::{Check, CheckKind}; /// Check builtin name shadowing. pub fn builtin_shadowing( diff --git a/src/flake8_builtins/mod.rs b/src/flake8_builtins/mod.rs index aa04373da8..89f567ca99 100644 --- a/src/flake8_builtins/mod.rs +++ b/src/flake8_builtins/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::A001, Path::new("A001.py"); "A001")] diff --git a/src/flake8_comprehensions/checks.rs b/src/flake8_comprehensions/checks.rs index 375415295f..1a9c5a408d 100644 --- a/src/flake8_comprehensions/checks.rs +++ b/src/flake8_comprehensions/checks.rs @@ -5,8 +5,8 @@ use rustpython_ast::{ }; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; use crate::flake8_comprehensions::fixes; +use crate::registry::{Check, CheckKind}; use crate::source_code_locator::SourceCodeLocator; fn function_name(func: &Expr) -> Option<&str> { diff --git a/src/flake8_comprehensions/mod.rs b/src/flake8_comprehensions/mod.rs index c1a6f4474c..476c7a8d8a 100644 --- a/src/flake8_comprehensions/mod.rs +++ b/src/flake8_comprehensions/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::C400, Path::new("C400.py"); "C400")] diff --git a/src/flake8_datetimez/mod.rs b/src/flake8_datetimez/mod.rs index 9c2d94dd48..5818473ffe 100644 --- a/src/flake8_datetimez/mod.rs +++ b/src/flake8_datetimez/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::DTZ001, Path::new("DTZ001.py"); "DTZ001")] diff --git a/src/flake8_datetimez/plugins.rs b/src/flake8_datetimez/plugins.rs index 909502dc49..8fc5c4fab6 100644 --- a/src/flake8_datetimez/plugins.rs +++ b/src/flake8_datetimez/plugins.rs @@ -5,7 +5,7 @@ use crate::ast::helpers::{ }; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; pub fn call_datetime_without_tzinfo( checker: &mut Checker, diff --git a/src/flake8_debugger/checks.rs b/src/flake8_debugger/checks.rs index cf452e3f14..f1225294b6 100644 --- a/src/flake8_debugger/checks.rs +++ b/src/flake8_debugger/checks.rs @@ -3,8 +3,8 @@ use rustpython_ast::{Expr, Stmt}; use crate::ast::helpers::{collect_call_paths, dealias_call_path, match_call_path}; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; use crate::flake8_debugger::types::DebuggerUsingType; +use crate::registry::{Check, CheckKind}; const DEBUGGERS: &[(&str, &str)] = &[ ("pdb", "set_trace"), diff --git a/src/flake8_debugger/mod.rs b/src/flake8_debugger/mod.rs index d4c3bd08d0..05c8d29729 100644 --- a/src/flake8_debugger/mod.rs +++ b/src/flake8_debugger/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::T100, Path::new("T100.py"); "T100")] diff --git a/src/flake8_errmsg/mod.rs b/src/flake8_errmsg/mod.rs index 7bff6ed243..f47de47101 100644 --- a/src/flake8_errmsg/mod.rs +++ b/src/flake8_errmsg/mod.rs @@ -7,8 +7,8 @@ mod tests { use anyhow::Result; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{flake8_errmsg, settings}; #[test] diff --git a/src/flake8_errmsg/plugins.rs b/src/flake8_errmsg/plugins.rs index af93679d79..b0ea228393 100644 --- a/src/flake8_errmsg/plugins.rs +++ b/src/flake8_errmsg/plugins.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Constant, Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; /// EM101, EM102, EM103 pub fn string_in_exception(checker: &mut Checker, exc: &Expr) { diff --git a/src/flake8_implicit_str_concat/checks.rs b/src/flake8_implicit_str_concat/checks.rs index 7e22629269..67f27501e2 100644 --- a/src/flake8_implicit_str_concat/checks.rs +++ b/src/flake8_implicit_str_concat/checks.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Constant, Expr, ExprKind, Location, Operator}; use rustpython_parser::lexer::{LexResult, Tok}; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_locator::SourceCodeLocator; /// ISC001, ISC002 diff --git a/src/flake8_implicit_str_concat/mod.rs b/src/flake8_implicit_str_concat/mod.rs index dfa0954f99..5c0af90c92 100644 --- a/src/flake8_implicit_str_concat/mod.rs +++ b/src/flake8_implicit_str_concat/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::ISC001, Path::new("ISC.py"); "ISC001")] diff --git a/src/flake8_import_conventions/checks.rs b/src/flake8_import_conventions/checks.rs index cf6d588279..5baae84634 100644 --- a/src/flake8_import_conventions/checks.rs +++ b/src/flake8_import_conventions/checks.rs @@ -2,7 +2,7 @@ use rustc_hash::FxHashMap; use rustpython_ast::Stmt; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// ICN001 pub fn check_conventional_import( diff --git a/src/flake8_import_conventions/mod.rs b/src/flake8_import_conventions/mod.rs index b2717dc611..b51aec7794 100644 --- a/src/flake8_import_conventions/mod.rs +++ b/src/flake8_import_conventions/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; use rustc_hash::FxHashMap; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{flake8_import_conventions, Settings}; #[test] diff --git a/src/flake8_print/mod.rs b/src/flake8_print/mod.rs index 6a04c16581..228d414cd7 100644 --- a/src/flake8_print/mod.rs +++ b/src/flake8_print/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::T201, Path::new("T201.py"); "T201")] diff --git a/src/flake8_print/plugins/print_call.rs b/src/flake8_print/plugins/print_call.rs index 2c7ec45a61..be782dce04 100644 --- a/src/flake8_print/plugins/print_call.rs +++ b/src/flake8_print/plugins/print_call.rs @@ -5,7 +5,7 @@ use crate::ast::helpers::{collect_call_paths, dealias_call_path, is_const_none, use crate::ast::types::Range; use crate::autofix::helpers; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// T201, T203 pub fn print_call(checker: &mut Checker, func: &Expr, keywords: &[Keyword]) { diff --git a/src/flake8_pytest_style/mod.rs b/src/flake8_pytest_style/mod.rs index 09d3fd23dc..a56922899e 100644 --- a/src/flake8_pytest_style/mod.rs +++ b/src/flake8_pytest_style/mod.rs @@ -9,10 +9,10 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::flake8_pytest_style::settings::Settings; use crate::flake8_pytest_style::types; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::PT001, Path::new("PT001.py"), Settings::default(), "PT001_default"; "PT001_0")] diff --git a/src/flake8_pytest_style/plugins/assertion.rs b/src/flake8_pytest_style/plugins/assertion.rs index 0a1ef3fa11..18bd0296a0 100644 --- a/src/flake8_pytest_style/plugins/assertion.rs +++ b/src/flake8_pytest_style/plugins/assertion.rs @@ -6,7 +6,7 @@ use super::helpers::is_falsy_constant; use crate::ast::types::Range; use crate::ast::visitor; use crate::ast::visitor::Visitor; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// Visitor that tracks assert statements and checks if they reference /// the exception name. diff --git a/src/flake8_pytest_style/plugins/fail.rs b/src/flake8_pytest_style/plugins/fail.rs index 892d9f9cc7..c39b6f7e0a 100644 --- a/src/flake8_pytest_style/plugins/fail.rs +++ b/src/flake8_pytest_style/plugins/fail.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Expr, Keyword}; use super::helpers::{is_empty_or_null_string, is_pytest_fail, SimpleCallArgs}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; pub fn fail_call(checker: &mut Checker, call: &Expr, args: &Vec, keywords: &Vec) { if is_pytest_fail(call, checker) { diff --git a/src/flake8_pytest_style/plugins/fixture.rs b/src/flake8_pytest_style/plugins/fixture.rs index f84032b84d..cb85207ecf 100644 --- a/src/flake8_pytest_style/plugins/fixture.rs +++ b/src/flake8_pytest_style/plugins/fixture.rs @@ -10,7 +10,7 @@ use crate::ast::visitor; use crate::ast::visitor::Visitor; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; #[derive(Default)] /// Visitor that skips functions diff --git a/src/flake8_pytest_style/plugins/imports.rs b/src/flake8_pytest_style/plugins/imports.rs index 4507e006b3..f43a0aebc1 100644 --- a/src/flake8_pytest_style/plugins/imports.rs +++ b/src/flake8_pytest_style/plugins/imports.rs @@ -1,7 +1,7 @@ use rustpython_ast::Stmt; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; fn is_pytest_or_subpackage(imported_name: &str) -> bool { imported_name == "pytest" || imported_name.starts_with("pytest.") diff --git a/src/flake8_pytest_style/plugins/marks.rs b/src/flake8_pytest_style/plugins/marks.rs index d881514a70..9e854ad5e4 100644 --- a/src/flake8_pytest_style/plugins/marks.rs +++ b/src/flake8_pytest_style/plugins/marks.rs @@ -4,7 +4,7 @@ use super::helpers::{get_mark_decorators, get_mark_name}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; fn pytest_mark_parentheses( checker: &mut Checker, diff --git a/src/flake8_pytest_style/plugins/parametrize.rs b/src/flake8_pytest_style/plugins/parametrize.rs index 3a3e01d740..9165526875 100644 --- a/src/flake8_pytest_style/plugins/parametrize.rs +++ b/src/flake8_pytest_style/plugins/parametrize.rs @@ -4,8 +4,8 @@ use super::helpers::is_pytest_parametrize; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; use crate::flake8_pytest_style::types; +use crate::registry::{Check, CheckCode, CheckKind}; fn get_parametrize_decorator<'a>(checker: &Checker, decorators: &'a [Expr]) -> Option<&'a Expr> { decorators diff --git a/src/flake8_pytest_style/plugins/patch.rs b/src/flake8_pytest_style/plugins/patch.rs index 18f81bcffa..4c53bf1325 100644 --- a/src/flake8_pytest_style/plugins/patch.rs +++ b/src/flake8_pytest_style/plugins/patch.rs @@ -6,7 +6,7 @@ use crate::ast::helpers::{collect_arg_names, compose_call_path}; use crate::ast::types::Range; use crate::ast::visitor; use crate::ast::visitor::Visitor; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; const PATCH_NAMES: &[&str] = &[ "mocker.patch", diff --git a/src/flake8_pytest_style/plugins/raises.rs b/src/flake8_pytest_style/plugins/raises.rs index 223c6dd7ae..67387ece3c 100644 --- a/src/flake8_pytest_style/plugins/raises.rs +++ b/src/flake8_pytest_style/plugins/raises.rs @@ -8,7 +8,7 @@ use crate::ast::helpers::{ }; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; fn is_pytest_raises( func: &Expr, diff --git a/src/flake8_quotes/checks.rs b/src/flake8_quotes/checks.rs index b9dc552a02..6f9a9e1555 100644 --- a/src/flake8_quotes/checks.rs +++ b/src/flake8_quotes/checks.rs @@ -1,8 +1,8 @@ use rustpython_ast::Location; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; use crate::flake8_quotes::settings::{Quote, Settings}; +use crate::registry::{Check, CheckKind}; use crate::source_code_locator::SourceCodeLocator; fn good_single(quote: &Quote) -> char { diff --git a/src/flake8_quotes/mod.rs b/src/flake8_quotes/mod.rs index c126d0038b..7eba2bcae9 100644 --- a/src/flake8_quotes/mod.rs +++ b/src/flake8_quotes/mod.rs @@ -8,9 +8,9 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::flake8_quotes::settings::Quote; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{flake8_quotes, Settings}; #[test_case(Path::new("doubles.py"))] diff --git a/src/flake8_return/mod.rs b/src/flake8_return/mod.rs index 04a979b1b4..bbc91b72af 100644 --- a/src/flake8_return/mod.rs +++ b/src/flake8_return/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::Settings; #[test_case(CheckCode::RET501, Path::new("RET501.py"); "RET501")] diff --git a/src/flake8_return/plugins.rs b/src/flake8_return/plugins.rs index c2f37edc19..87afbbf222 100644 --- a/src/flake8_return/plugins.rs +++ b/src/flake8_return/plugins.rs @@ -6,9 +6,9 @@ use crate::ast::visitor::Visitor; use crate::ast::whitespace::indentation; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Branch, CheckCode, CheckKind}; use crate::flake8_return::helpers::result_exists; use crate::flake8_return::visitor::{ReturnVisitor, Stack}; +use crate::registry::{Branch, CheckCode, CheckKind}; use crate::Check; /// RET501 diff --git a/src/flake8_simplify/mod.rs b/src/flake8_simplify/mod.rs index 358cf06b96..5a93b092a3 100644 --- a/src/flake8_simplify/mod.rs +++ b/src/flake8_simplify/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::SIM118, Path::new("SIM118.py"); "SIM118")] diff --git a/src/flake8_simplify/plugins/key_in_dict.rs b/src/flake8_simplify/plugins/key_in_dict.rs index cb7de19b7c..6490ae4791 100644 --- a/src/flake8_simplify/plugins/key_in_dict.rs +++ b/src/flake8_simplify/plugins/key_in_dict.rs @@ -4,7 +4,7 @@ use crate::ast::helpers::create_expr; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; /// SIM118 diff --git a/src/flake8_simplify/plugins/yoda_conditions.rs b/src/flake8_simplify/plugins/yoda_conditions.rs index 2a58554c45..fe8e17813a 100644 --- a/src/flake8_simplify/plugins/yoda_conditions.rs +++ b/src/flake8_simplify/plugins/yoda_conditions.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Cmpop, Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// SIM300 pub fn yoda_conditions( diff --git a/src/flake8_tidy_imports/checks.rs b/src/flake8_tidy_imports/checks.rs index 54b936ce2a..65358ca69f 100644 --- a/src/flake8_tidy_imports/checks.rs +++ b/src/flake8_tidy_imports/checks.rs @@ -5,8 +5,8 @@ use super::settings::BannedApi; use crate::ast::helpers::match_call_path; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::flake8_tidy_imports::settings::Strictness; +use crate::registry::{Check, CheckKind}; /// TID252 pub fn banned_relative_import( diff --git a/src/flake8_tidy_imports/mod.rs b/src/flake8_tidy_imports/mod.rs index 73daee0193..049f2f36e1 100644 --- a/src/flake8_tidy_imports/mod.rs +++ b/src/flake8_tidy_imports/mod.rs @@ -8,9 +8,9 @@ mod tests { use anyhow::Result; use rustc_hash::FxHashMap; - use crate::checks::CheckCode; use crate::flake8_tidy_imports::settings::{BannedApi, Strictness}; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{flake8_tidy_imports, Settings}; #[test] diff --git a/src/flake8_unused_arguments/mod.rs b/src/flake8_unused_arguments/mod.rs index 6a6bc41bfb..eb9ef4d27c 100644 --- a/src/flake8_unused_arguments/mod.rs +++ b/src/flake8_unused_arguments/mod.rs @@ -11,8 +11,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{flake8_unused_arguments, settings}; #[test_case(CheckCode::ARG001, Path::new("ARG.py"); "ARG001")] diff --git a/src/flake8_unused_arguments/types.rs b/src/flake8_unused_arguments/types.rs index c39078e153..34dcc7d012 100644 --- a/src/flake8_unused_arguments/types.rs +++ b/src/flake8_unused_arguments/types.rs @@ -1,4 +1,4 @@ -use crate::checks::{CheckCode, CheckKind}; +use crate::registry::{CheckCode, CheckKind}; /// An AST node that can contain arguments. pub enum Argumentable { diff --git a/src/fs.rs b/src/fs.rs index f58e0da5ef..74c0fb3a86 100644 --- a/src/fs.rs +++ b/src/fs.rs @@ -8,7 +8,7 @@ use globset::GlobMatcher; use path_absolutize::{path_dedot, Absolutize}; use rustc_hash::FxHashSet; -use crate::checks::CheckCode; +use crate::registry::CheckCode; /// Extract the absolute path and basename (as strings) from a Path. pub fn extract_path_names(path: &Path) -> Result<(&str, &str)> { diff --git a/src/isort/mod.rs b/src/isort/mod.rs index 3cad6e5d5a..aaa136086d 100644 --- a/src/isort/mod.rs +++ b/src/isort/mod.rs @@ -644,8 +644,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{isort, Settings}; #[test_case(Path::new("add_newline_before_comments.py"))] diff --git a/src/isort/plugins.rs b/src/isort/plugins.rs index 353f3a12ad..da03e5b8e4 100644 --- a/src/isort/plugins.rs +++ b/src/isort/plugins.rs @@ -9,9 +9,9 @@ use crate::ast::helpers::{ use crate::ast::types::Range; use crate::ast::whitespace::leading_space; use crate::autofix::Fix; -use crate::checks::CheckKind; use crate::isort::track::Block; use crate::isort::{comments, format_imports}; +use crate::registry::CheckKind; use crate::settings::flags; use crate::source_code_style::SourceCodeStyleDetector; use crate::{Check, Settings, SourceCodeLocator}; diff --git a/src/lib.rs b/src/lib.rs index c9123d9f5d..5a04a53dc7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,7 +13,7 @@ use cfg_if::cfg_if; -use crate::checks::Check; +use crate::registry::Check; use crate::settings::Settings; use crate::source_code_locator::SourceCodeLocator; @@ -21,8 +21,6 @@ mod ast; pub mod autofix; pub mod cache; mod checkers; -pub mod checks; -pub mod checks_gen; pub mod cli; mod cst; mod directives; @@ -67,6 +65,8 @@ mod pygrep_hooks; mod pylint; mod python; mod pyupgrade; +pub mod registry; +pub mod registry_gen; pub mod resolver; mod ruff; mod rustpython_helpers; diff --git a/src/lib_native.rs b/src/lib_native.rs index 8bdfe3d9ed..9afae0c147 100644 --- a/src/lib_native.rs +++ b/src/lib_native.rs @@ -4,8 +4,8 @@ use anyhow::Result; use path_absolutize::path_dedot; use rustpython_parser::lexer::LexResult; -use crate::checks::Check; use crate::linter::check_path; +use crate::registry::Check; use crate::resolver::Relativity; use crate::rustpython_helpers::tokenize; use crate::settings::configuration::Configuration; diff --git a/src/lib_wasm.rs b/src/lib_wasm.rs index c1854771a5..6a949dbbab 100644 --- a/src/lib_wasm.rs +++ b/src/lib_wasm.rs @@ -5,9 +5,9 @@ use rustpython_parser::lexer::LexResult; use serde::Serialize; use wasm_bindgen::prelude::*; -use crate::checks::CheckCode; -use crate::checks_gen::CheckCodePrefix; use crate::linter::check_path; +use crate::registry::CheckCode; +use crate::registry_gen::CheckCodePrefix; use crate::rustpython_helpers::tokenize; use crate::settings::configuration::Configuration; use crate::settings::options::Options; diff --git a/src/linter.rs b/src/linter.rs index 2bb725fc09..fef6627f71 100644 --- a/src/linter.rs +++ b/src/linter.rs @@ -18,10 +18,10 @@ use crate::checkers::imports::check_imports; use crate::checkers::lines::check_lines; use crate::checkers::noqa::check_noqa; use crate::checkers::tokens::check_tokens; -use crate::checks::{Check, CheckCode, CheckKind, LintSource}; use crate::directives::Directives; use crate::message::{Message, Source}; use crate::noqa::add_noqa; +use crate::registry::{Check, CheckCode, CheckKind, LintSource}; use crate::settings::{flags, Settings}; use crate::source_code_locator::SourceCodeLocator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/mccabe/checks.rs b/src/mccabe/checks.rs index 71caa32c46..9431fdca61 100644 --- a/src/mccabe/checks.rs +++ b/src/mccabe/checks.rs @@ -1,7 +1,7 @@ use rustpython_ast::{ExcepthandlerKind, ExprKind, Stmt, StmtKind}; use crate::ast::helpers::identifier_range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_locator::SourceCodeLocator; fn get_complexity_number(stmts: &[Stmt]) -> usize { diff --git a/src/mccabe/mod.rs b/src/mccabe/mod.rs index a12cad484f..fa8a5e8feb 100644 --- a/src/mccabe/mod.rs +++ b/src/mccabe/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::{mccabe, Settings}; #[test_case(0)] diff --git a/src/message.rs b/src/message.rs index ea11a947e1..993618af62 100644 --- a/src/message.rs +++ b/src/message.rs @@ -5,7 +5,7 @@ use serde::{Deserialize, Serialize}; use crate::ast::types::Range; use crate::autofix::Fix; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_locator::SourceCodeLocator; #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] diff --git a/src/noqa.rs b/src/noqa.rs index a6065dc209..eddc95195c 100644 --- a/src/noqa.rs +++ b/src/noqa.rs @@ -8,7 +8,7 @@ use once_cell::sync::Lazy; use regex::Regex; use rustc_hash::{FxHashMap, FxHashSet}; -use crate::checks::{Check, CheckCode, CODE_REDIRECTS}; +use crate::registry::{Check, CheckCode, CODE_REDIRECTS}; use crate::source_code_style::LineEnding; static NOQA_LINE_REGEX: Lazy = Lazy::new(|| { @@ -212,8 +212,8 @@ mod tests { use rustpython_parser::ast::Location; use crate::ast::types::Range; - use crate::checks::{Check, CheckKind}; use crate::noqa::{add_noqa_inner, NOQA_LINE_REGEX}; + use crate::registry::{Check, CheckKind}; use crate::source_code_style::LineEnding; #[test] diff --git a/src/pandas_vet/checks.rs b/src/pandas_vet/checks.rs index e3b2886238..a9cc96118c 100644 --- a/src/pandas_vet/checks.rs +++ b/src/pandas_vet/checks.rs @@ -1,7 +1,7 @@ use rustpython_ast::{Constant, Expr, ExprKind, Keyword}; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// PD002 pub fn inplace_argument(keywords: &[Keyword]) -> Option { diff --git a/src/pandas_vet/mod.rs b/src/pandas_vet/mod.rs index 1de9b4bd28..0055f89ee0 100644 --- a/src/pandas_vet/mod.rs +++ b/src/pandas_vet/mod.rs @@ -9,9 +9,9 @@ mod tests { use test_case::test_case; use textwrap::dedent; - use crate::checks::CheckCode; - use crate::checks_gen::CheckCodePrefix; use crate::linter::check_path; + use crate::registry::CheckCode; + use crate::registry_gen::CheckCodePrefix; use crate::settings::flags; use crate::source_code_locator::SourceCodeLocator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/pep8_naming/checks.rs b/src/pep8_naming/checks.rs index 4b44dea022..36c52b287a 100644 --- a/src/pep8_naming/checks.rs +++ b/src/pep8_naming/checks.rs @@ -4,10 +4,10 @@ use rustpython_ast::{Arg, Arguments, Expr, ExprKind, Stmt}; use crate::ast::function_type; use crate::ast::helpers::identifier_range; use crate::ast::types::{Range, Scope, ScopeKind}; -use crate::checks::{Check, CheckKind}; use crate::pep8_naming::helpers; use crate::pep8_naming::settings::Settings; use crate::python::string::{self}; +use crate::registry::{Check, CheckKind}; use crate::source_code_locator::SourceCodeLocator; /// N801 diff --git a/src/pep8_naming/mod.rs b/src/pep8_naming/mod.rs index 16d840b5cf..3fe6c8ac51 100644 --- a/src/pep8_naming/mod.rs +++ b/src/pep8_naming/mod.rs @@ -11,8 +11,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::N801, Path::new("N801.py"); "N801")] diff --git a/src/pep8_naming/plugins.rs b/src/pep8_naming/plugins.rs index 8549f522fe..dd22cdfad9 100644 --- a/src/pep8_naming/plugins.rs +++ b/src/pep8_naming/plugins.rs @@ -2,8 +2,8 @@ use rustpython_ast::{Expr, Stmt}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; use crate::pep8_naming::helpers; +use crate::registry::CheckKind; use crate::Check; /// N806 diff --git a/src/printer.rs b/src/printer.rs index 663c78ff98..84a84f3707 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -11,11 +11,11 @@ use serde::Serialize; use serde_json::json; use crate::autofix::fixer; -use crate::checks::CheckCode; use crate::fs::relativize_path; use crate::linter::Diagnostics; use crate::logging::LogLevel; use crate::message::Message; +use crate::registry::CheckCode; use crate::settings::types::SerializationFormat; use crate::tell_user; diff --git a/src/pycodestyle/checks.rs b/src/pycodestyle/checks.rs index fca3b4f8a2..c4f5f89336 100644 --- a/src/pycodestyle/checks.rs +++ b/src/pycodestyle/checks.rs @@ -7,7 +7,7 @@ use rustpython_parser::ast::{Cmpop, Expr, ExprKind}; use crate::ast::helpers::except_range; use crate::ast::types::Range; use crate::autofix::Fix; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_locator::SourceCodeLocator; static URL_REGEX: Lazy = Lazy::new(|| Regex::new(r"^https?://\S+$").unwrap()); diff --git a/src/pycodestyle/mod.rs b/src/pycodestyle/mod.rs index b670a99eca..8027c14f39 100644 --- a/src/pycodestyle/mod.rs +++ b/src/pycodestyle/mod.rs @@ -9,8 +9,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::E401, Path::new("E40.py"))] diff --git a/src/pycodestyle/plugins.rs b/src/pycodestyle/plugins.rs index 1a9c0d317c..bf677cd06d 100644 --- a/src/pycodestyle/plugins.rs +++ b/src/pycodestyle/plugins.rs @@ -11,7 +11,7 @@ use crate::ast::types::Range; use crate::ast::whitespace::leading_space; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/pydocstyle/mod.rs b/src/pydocstyle/mod.rs index 54ccb75638..b8c0842d9f 100644 --- a/src/pydocstyle/mod.rs +++ b/src/pydocstyle/mod.rs @@ -10,9 +10,9 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; use crate::pydocstyle::settings::{Convention, Settings}; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::D100, Path::new("D.py"); "D100")] diff --git a/src/pydocstyle/plugins.rs b/src/pydocstyle/plugins.rs index d5103cf893..41aae67468 100644 --- a/src/pydocstyle/plugins.rs +++ b/src/pydocstyle/plugins.rs @@ -10,13 +10,13 @@ use crate::ast::whitespace::LinesWithTrailingNewline; use crate::ast::{cast, whitespace}; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; use crate::docstrings::constants; use crate::docstrings::definition::{Definition, DefinitionKind, Docstring}; use crate::docstrings::sections::{section_contexts, SectionContext}; use crate::docstrings::styles::SectionStyle; use crate::pydocstyle::helpers::{leading_quote, logical_line}; use crate::pydocstyle::settings::Convention; +use crate::registry::{Check, CheckCode, CheckKind}; use crate::visibility::{is_init, is_magic, is_overload, is_override, is_staticmethod, Visibility}; /// D100, D101, D102, D103, D104, D105, D106, D107 diff --git a/src/pyflakes/checks.rs b/src/pyflakes/checks.rs index f0dc5baf5a..d5e424f170 100644 --- a/src/pyflakes/checks.rs +++ b/src/pyflakes/checks.rs @@ -7,7 +7,7 @@ use rustpython_parser::ast::{ use crate::ast::helpers::except_range; use crate::ast::types::{Binding, BindingKind, Range, Scope, ScopeKind}; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_locator::SourceCodeLocator; /// F631 diff --git a/src/pyflakes/mod.rs b/src/pyflakes/mod.rs index 23f5613b45..34f956a11e 100644 --- a/src/pyflakes/mod.rs +++ b/src/pyflakes/mod.rs @@ -15,9 +15,9 @@ mod tests { use test_case::test_case; use textwrap::dedent; - use crate::checks::CheckCode; - use crate::checks_gen::CheckCodePrefix; use crate::linter::{check_path, test_path}; + use crate::registry::CheckCode; + use crate::registry_gen::CheckCodePrefix; use crate::settings::flags; use crate::source_code_locator::SourceCodeLocator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/pyflakes/plugins/invalid_literal_comparisons.rs b/src/pyflakes/plugins/invalid_literal_comparisons.rs index ef7e06e32a..a7deaf62fa 100644 --- a/src/pyflakes/plugins/invalid_literal_comparisons.rs +++ b/src/pyflakes/plugins/invalid_literal_comparisons.rs @@ -7,7 +7,7 @@ use crate::ast::operations::locate_cmpops; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// F632 pub fn invalid_literal_comparison( diff --git a/src/pyflakes/plugins/invalid_print_syntax.rs b/src/pyflakes/plugins/invalid_print_syntax.rs index 8bf59194d8..1af6603711 100644 --- a/src/pyflakes/plugins/invalid_print_syntax.rs +++ b/src/pyflakes/plugins/invalid_print_syntax.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// F633 pub fn invalid_print_syntax(checker: &mut Checker, left: &Expr) { diff --git a/src/pyflakes/plugins/raise_not_implemented.rs b/src/pyflakes/plugins/raise_not_implemented.rs index 16eec4ae51..506b9b8f8e 100644 --- a/src/pyflakes/plugins/raise_not_implemented.rs +++ b/src/pyflakes/plugins/raise_not_implemented.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; fn match_not_implemented(expr: &Expr) -> Option<&Expr> { match &expr.node { diff --git a/src/pyflakes/plugins/strings.rs b/src/pyflakes/plugins/strings.rs index 0a4036e680..22fd54246e 100644 --- a/src/pyflakes/plugins/strings.rs +++ b/src/pyflakes/plugins/strings.rs @@ -6,12 +6,12 @@ use rustpython_parser::ast::{Constant, Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::pyflakes::cformat::CFormatSummary; use crate::pyflakes::fixes::{ remove_unused_format_arguments_from_dict, remove_unused_keyword_arguments_from_format_call, }; use crate::pyflakes::format::FormatSummary; +use crate::registry::{Check, CheckKind}; fn has_star_star_kwargs(keywords: &[Keyword]) -> bool { keywords.iter().any(|k| { diff --git a/src/pygrep_hooks/mod.rs b/src/pygrep_hooks/mod.rs index b70fa17dd8..c20b69997b 100644 --- a/src/pygrep_hooks/mod.rs +++ b/src/pygrep_hooks/mod.rs @@ -8,8 +8,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::PGH001, Path::new("PGH001_0.py"); "PGH001_0")] diff --git a/src/pygrep_hooks/plugins/blanket_noqa.rs b/src/pygrep_hooks/plugins/blanket_noqa.rs index 8d0386b320..d1f46fa2e8 100644 --- a/src/pygrep_hooks/plugins/blanket_noqa.rs +++ b/src/pygrep_hooks/plugins/blanket_noqa.rs @@ -3,7 +3,7 @@ use regex::Regex; use rustpython_ast::Location; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; static BLANKET_NOQA_REGEX: Lazy = Lazy::new(|| Regex::new(r"(?i)# noqa($|\s|:[^ ])").unwrap()); diff --git a/src/pygrep_hooks/plugins/blanket_type_ignore.rs b/src/pygrep_hooks/plugins/blanket_type_ignore.rs index a95fa5826e..da47ca1905 100644 --- a/src/pygrep_hooks/plugins/blanket_type_ignore.rs +++ b/src/pygrep_hooks/plugins/blanket_type_ignore.rs @@ -3,7 +3,7 @@ use regex::Regex; use rustpython_ast::Location; use crate::ast::types::Range; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; static BLANKET_TYPE_IGNORE_REGEX: Lazy = Lazy::new(|| Regex::new(r"# type:? *ignore($|\s)").unwrap()); diff --git a/src/pygrep_hooks/plugins/deprecated_log_warn.rs b/src/pygrep_hooks/plugins/deprecated_log_warn.rs index 45e86894e8..7ae9410518 100644 --- a/src/pygrep_hooks/plugins/deprecated_log_warn.rs +++ b/src/pygrep_hooks/plugins/deprecated_log_warn.rs @@ -3,7 +3,7 @@ use rustpython_ast::Expr; use crate::ast::helpers::{collect_call_paths, dealias_call_path, match_call_path}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// PGH002 - deprecated use of logging.warn pub fn deprecated_log_warn(checker: &mut Checker, func: &Expr) { diff --git a/src/pygrep_hooks/plugins/no_eval.rs b/src/pygrep_hooks/plugins/no_eval.rs index e5177e4cd7..f943304d67 100644 --- a/src/pygrep_hooks/plugins/no_eval.rs +++ b/src/pygrep_hooks/plugins/no_eval.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// PGH001 - no eval pub fn no_eval(checker: &mut Checker, func: &Expr) { diff --git a/src/pylint/mod.rs b/src/pylint/mod.rs index f979da40d6..13ab36b81b 100644 --- a/src/pylint/mod.rs +++ b/src/pylint/mod.rs @@ -7,8 +7,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::Settings; #[test_case(CheckCode::PLC0414, Path::new("import_aliasing.py"); "PLC0414")] diff --git a/src/pylint/plugins/await_outside_async.rs b/src/pylint/plugins/await_outside_async.rs index 662c12dc7c..072e1e0453 100644 --- a/src/pylint/plugins/await_outside_async.rs +++ b/src/pylint/plugins/await_outside_async.rs @@ -2,7 +2,7 @@ use rustpython_ast::Expr; use crate::ast::types::{FunctionDef, Range, ScopeKind}; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; /// PLE1142 diff --git a/src/pylint/plugins/merge_isinstance.rs b/src/pylint/plugins/merge_isinstance.rs index d845ef3cc7..be727fe1d4 100644 --- a/src/pylint/plugins/merge_isinstance.rs +++ b/src/pylint/plugins/merge_isinstance.rs @@ -4,7 +4,7 @@ use rustpython_ast::{Boolop, Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; /// PLR1701 diff --git a/src/pylint/plugins/misplaced_comparison_constant.rs b/src/pylint/plugins/misplaced_comparison_constant.rs index 5eb5540750..819ee5c1d7 100644 --- a/src/pylint/plugins/misplaced_comparison_constant.rs +++ b/src/pylint/plugins/misplaced_comparison_constant.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Cmpop, Expr, ExprKind}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; /// PLC2201 diff --git a/src/pylint/plugins/property_with_parameters.rs b/src/pylint/plugins/property_with_parameters.rs index a1ebe970a3..1ffd15b7a4 100644 --- a/src/pylint/plugins/property_with_parameters.rs +++ b/src/pylint/plugins/property_with_parameters.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Arguments, Expr, ExprKind, Stmt}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; /// PLR0206 diff --git a/src/pylint/plugins/unnecessary_direct_lambda_call.rs b/src/pylint/plugins/unnecessary_direct_lambda_call.rs index 1781b5f6d6..59c332e1d9 100644 --- a/src/pylint/plugins/unnecessary_direct_lambda_call.rs +++ b/src/pylint/plugins/unnecessary_direct_lambda_call.rs @@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; /// PLC3002 diff --git a/src/pylint/plugins/use_from_import.rs b/src/pylint/plugins/use_from_import.rs index eab9e3cdbe..2c200a5761 100644 --- a/src/pylint/plugins/use_from_import.rs +++ b/src/pylint/plugins/use_from_import.rs @@ -2,7 +2,7 @@ use rustpython_ast::Alias; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; /// PLR0402 diff --git a/src/pylint/plugins/use_sys_exit.rs b/src/pylint/plugins/use_sys_exit.rs index 7309636965..83622cb1fe 100644 --- a/src/pylint/plugins/use_sys_exit.rs +++ b/src/pylint/plugins/use_sys_exit.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::{BindingKind, Range}; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// Return `true` if the `module` was imported using a star import (e.g., `from /// sys import *`). diff --git a/src/pylint/plugins/used_prior_global_declaration.rs b/src/pylint/plugins/used_prior_global_declaration.rs index 37d1207c32..f457720358 100644 --- a/src/pylint/plugins/used_prior_global_declaration.rs +++ b/src/pylint/plugins/used_prior_global_declaration.rs @@ -2,7 +2,7 @@ use rustpython_ast::Expr; use crate::ast::types::{Range, ScopeKind}; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; /// PLE0118 diff --git a/src/pylint/plugins/useless_else_on_loop.rs b/src/pylint/plugins/useless_else_on_loop.rs index 3cb0dbc1a5..b820a5911b 100644 --- a/src/pylint/plugins/useless_else_on_loop.rs +++ b/src/pylint/plugins/useless_else_on_loop.rs @@ -2,7 +2,7 @@ use rustpython_ast::{ExcepthandlerKind, Stmt, StmtKind}; use crate::ast::helpers; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; fn loop_exits_early(body: &[Stmt]) -> bool { diff --git a/src/pylint/plugins/useless_import_alias.rs b/src/pylint/plugins/useless_import_alias.rs index 58c079e529..5197cdddd6 100644 --- a/src/pylint/plugins/useless_import_alias.rs +++ b/src/pylint/plugins/useless_import_alias.rs @@ -3,7 +3,7 @@ use rustpython_ast::Alias; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::Check; /// PLC0414 diff --git a/src/pyupgrade/checks.rs b/src/pyupgrade/checks.rs index b04ede9b8e..9f71d430a2 100644 --- a/src/pyupgrade/checks.rs +++ b/src/pyupgrade/checks.rs @@ -7,8 +7,8 @@ use rustpython_parser::ast::{ArgData, Expr, ExprKind, Stmt, StmtKind}; use crate::ast::helpers::{self}; use crate::ast::types::{Binding, BindingKind, Range, Scope, ScopeKind}; use crate::autofix::Fix; -use crate::checks::{Check, CheckKind}; use crate::pyupgrade::types::Primitive; +use crate::registry::{Check, CheckKind}; use crate::settings::types::PythonVersion; /// UP001 diff --git a/src/pyupgrade/mod.rs b/src/pyupgrade/mod.rs index 8ff5e90587..266d109e7c 100644 --- a/src/pyupgrade/mod.rs +++ b/src/pyupgrade/mod.rs @@ -12,8 +12,8 @@ mod tests { use anyhow::Result; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; use crate::settings::types::PythonVersion; diff --git a/src/pyupgrade/plugins/convert_named_tuple_functional_to_class.rs b/src/pyupgrade/plugins/convert_named_tuple_functional_to_class.rs index af806b3c35..3a5718c13a 100644 --- a/src/pyupgrade/plugins/convert_named_tuple_functional_to_class.rs +++ b/src/pyupgrade/plugins/convert_named_tuple_functional_to_class.rs @@ -6,9 +6,9 @@ use crate::ast::helpers::match_module_member; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::python::identifiers::IDENTIFIER_REGEX; use crate::python::keyword::KWLIST; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/pyupgrade/plugins/convert_typed_dict_functional_to_class.rs b/src/pyupgrade/plugins/convert_typed_dict_functional_to_class.rs index 68215c8b06..b575b39e33 100644 --- a/src/pyupgrade/plugins/convert_typed_dict_functional_to_class.rs +++ b/src/pyupgrade/plugins/convert_typed_dict_functional_to_class.rs @@ -8,9 +8,9 @@ use crate::ast::helpers::match_module_member; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::python::identifiers::IDENTIFIER_REGEX; use crate::python::keyword::KWLIST; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/pyupgrade/plugins/datetime_utc_alias.rs b/src/pyupgrade/plugins/datetime_utc_alias.rs index 10e658f1f3..c149809ac5 100644 --- a/src/pyupgrade/plugins/datetime_utc_alias.rs +++ b/src/pyupgrade/plugins/datetime_utc_alias.rs @@ -4,7 +4,7 @@ use crate::ast::helpers::{collect_call_paths, compose_call_path, dealias_call_pa use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; /// UP017 pub fn datetime_utc_alias(checker: &mut Checker, expr: &Expr) { diff --git a/src/pyupgrade/plugins/deprecated_unittest_alias.rs b/src/pyupgrade/plugins/deprecated_unittest_alias.rs index 0cb33c98ed..4fb7f0dd15 100644 --- a/src/pyupgrade/plugins/deprecated_unittest_alias.rs +++ b/src/pyupgrade/plugins/deprecated_unittest_alias.rs @@ -5,7 +5,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; static DEPRECATED_ALIASES: Lazy> = Lazy::new(|| { FxHashMap::from_iter([ diff --git a/src/pyupgrade/plugins/native_literals.rs b/src/pyupgrade/plugins/native_literals.rs index 30e6cb50f8..88808c87b1 100644 --- a/src/pyupgrade/plugins/native_literals.rs +++ b/src/pyupgrade/plugins/native_literals.rs @@ -5,7 +5,7 @@ use rustpython_parser::lexer::Tok; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind, LiteralType}; +use crate::registry::{Check, CheckCode, CheckKind, LiteralType}; /// UP018 pub fn native_literals( diff --git a/src/pyupgrade/plugins/open_alias.rs b/src/pyupgrade/plugins/open_alias.rs index 7403109ceb..a553879a89 100644 --- a/src/pyupgrade/plugins/open_alias.rs +++ b/src/pyupgrade/plugins/open_alias.rs @@ -4,7 +4,7 @@ use crate::ast::helpers::{collect_call_paths, dealias_call_path, match_call_path use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; /// UP020 pub fn open_alias(checker: &mut Checker, expr: &Expr, func: &Expr) { diff --git a/src/pyupgrade/plugins/os_error_alias.rs b/src/pyupgrade/plugins/os_error_alias.rs index 2922daa285..31fedc78a7 100644 --- a/src/pyupgrade/plugins/os_error_alias.rs +++ b/src/pyupgrade/plugins/os_error_alias.rs @@ -7,7 +7,7 @@ use crate::ast::helpers::{compose_call_path, match_module_member}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; const ERROR_NAMES: &[&str] = &["EnvironmentError", "IOError", "WindowsError"]; const ERROR_MODULES: &[&str] = &["mmap", "select", "socket"]; diff --git a/src/pyupgrade/plugins/redundant_open_modes.rs b/src/pyupgrade/plugins/redundant_open_modes.rs index 57408122f6..39672f2fe9 100644 --- a/src/pyupgrade/plugins/redundant_open_modes.rs +++ b/src/pyupgrade/plugins/redundant_open_modes.rs @@ -10,7 +10,7 @@ use crate::ast::helpers::find_keyword; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; use crate::source_code_locator::SourceCodeLocator; const OPEN_FUNC_NAME: &str = "open"; diff --git a/src/pyupgrade/plugins/remove_six_compat.rs b/src/pyupgrade/plugins/remove_six_compat.rs index 1ea4b45111..0a31033cff 100644 --- a/src/pyupgrade/plugins/remove_six_compat.rs +++ b/src/pyupgrade/plugins/remove_six_compat.rs @@ -6,7 +6,7 @@ use crate::ast::helpers::{collect_call_paths, create_expr, create_stmt, dealias_ use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; use crate::source_code_style::SourceCodeStyleDetector; use crate::SourceCodeLocator; diff --git a/src/pyupgrade/plugins/replace_stdout_stderr.rs b/src/pyupgrade/plugins/replace_stdout_stderr.rs index 182a335f79..fa42fc16c5 100644 --- a/src/pyupgrade/plugins/replace_stdout_stderr.rs +++ b/src/pyupgrade/plugins/replace_stdout_stderr.rs @@ -5,7 +5,7 @@ use crate::ast::types::Range; use crate::ast::whitespace::indentation; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; #[derive(Debug)] struct MiddleContent<'a> { diff --git a/src/pyupgrade/plugins/replace_universal_newlines.rs b/src/pyupgrade/plugins/replace_universal_newlines.rs index 0ac67e77c2..cdc7e0c3a8 100644 --- a/src/pyupgrade/plugins/replace_universal_newlines.rs +++ b/src/pyupgrade/plugins/replace_universal_newlines.rs @@ -4,7 +4,7 @@ use crate::ast::helpers::{find_keyword, match_module_member}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// UP021 pub fn replace_universal_newlines(checker: &mut Checker, expr: &Expr, kwargs: &[Keyword]) { diff --git a/src/pyupgrade/plugins/rewrite_c_element_tree.rs b/src/pyupgrade/plugins/rewrite_c_element_tree.rs index 2144bd1c68..4d3ea67f77 100644 --- a/src/pyupgrade/plugins/rewrite_c_element_tree.rs +++ b/src/pyupgrade/plugins/rewrite_c_element_tree.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Located, Stmt, StmtKind}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; fn add_check_for_node(checker: &mut Checker, node: &Located) { let mut check = Check::new(CheckKind::RewriteCElementTree, Range::from_located(node)); diff --git a/src/pyupgrade/plugins/rewrite_mock_import.rs b/src/pyupgrade/plugins/rewrite_mock_import.rs index 82ac7a2d98..9a8aface1b 100644 --- a/src/pyupgrade/plugins/rewrite_mock_import.rs +++ b/src/pyupgrade/plugins/rewrite_mock_import.rs @@ -11,8 +11,8 @@ use crate::ast::types::Range; use crate::ast::whitespace::indentation; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind, MockReference}; use crate::cst::matchers::{match_import, match_import_from, match_module}; +use crate::registry::{Check, CheckCode, CheckKind, MockReference}; use crate::source_code_locator::SourceCodeLocator; use crate::source_code_style::SourceCodeStyleDetector; diff --git a/src/pyupgrade/plugins/rewrite_unicode_literal.rs b/src/pyupgrade/plugins/rewrite_unicode_literal.rs index 8a437be2bf..3a02f683be 100644 --- a/src/pyupgrade/plugins/rewrite_unicode_literal.rs +++ b/src/pyupgrade/plugins/rewrite_unicode_literal.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Expr, Location}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// UP025 pub fn rewrite_unicode_literal(checker: &mut Checker, expr: &Expr, kind: &Option) { diff --git a/src/pyupgrade/plugins/type_of_primitive.rs b/src/pyupgrade/plugins/type_of_primitive.rs index 348491a806..960ad8acf8 100644 --- a/src/pyupgrade/plugins/type_of_primitive.rs +++ b/src/pyupgrade/plugins/type_of_primitive.rs @@ -3,8 +3,8 @@ use rustpython_ast::Expr; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::CheckKind; use crate::pyupgrade::checks; +use crate::registry::CheckKind; /// UP003 pub fn type_of_primitive(checker: &mut Checker, expr: &Expr, func: &Expr, args: &[Expr]) { diff --git a/src/pyupgrade/plugins/typing_text_str_alias.rs b/src/pyupgrade/plugins/typing_text_str_alias.rs index e2bba83516..cbbc60c475 100644 --- a/src/pyupgrade/plugins/typing_text_str_alias.rs +++ b/src/pyupgrade/plugins/typing_text_str_alias.rs @@ -4,7 +4,7 @@ use crate::ast::helpers::match_module_member; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// UP019 pub fn typing_text_str_alias(checker: &mut Checker, expr: &Expr) { diff --git a/src/pyupgrade/plugins/unnecessary_encode_utf8.rs b/src/pyupgrade/plugins/unnecessary_encode_utf8.rs index 06a8317d48..1897c3124b 100644 --- a/src/pyupgrade/plugins/unnecessary_encode_utf8.rs +++ b/src/pyupgrade/plugins/unnecessary_encode_utf8.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Constant, Expr, ExprKind, Keyword}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; use crate::source_code_locator::SourceCodeLocator; const UTF8_LITERALS: &[&str] = &["utf-8", "utf8", "utf_8", "u8", "utf", "cp65001"]; diff --git a/src/pyupgrade/plugins/unnecessary_future_import.rs b/src/pyupgrade/plugins/unnecessary_future_import.rs index 9c3f472636..2ddc5976f8 100644 --- a/src/pyupgrade/plugins/unnecessary_future_import.rs +++ b/src/pyupgrade/plugins/unnecessary_future_import.rs @@ -6,8 +6,8 @@ use rustpython_parser::ast::Stmt; use crate::ast::types::Range; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; use crate::pyupgrade::fixes; +use crate::registry::{Check, CheckKind}; use crate::settings::types::PythonVersion; const PY33_PLUS_REMOVE_FUTURES: &[&str] = &[ diff --git a/src/pyupgrade/plugins/unpack_list_comprehension.rs b/src/pyupgrade/plugins/unpack_list_comprehension.rs index c147cb0f53..1e5337e39d 100644 --- a/src/pyupgrade/plugins/unpack_list_comprehension.rs +++ b/src/pyupgrade/plugins/unpack_list_comprehension.rs @@ -3,7 +3,7 @@ use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckCode, CheckKind}; +use crate::registry::{Check, CheckCode, CheckKind}; /// Returns `true` if `expr` contains an `ExprKind::Await`. fn contains_await(expr: &Expr) -> bool { diff --git a/src/pyupgrade/plugins/use_pep585_annotation.rs b/src/pyupgrade/plugins/use_pep585_annotation.rs index d2253d4126..062bddb55f 100644 --- a/src/pyupgrade/plugins/use_pep585_annotation.rs +++ b/src/pyupgrade/plugins/use_pep585_annotation.rs @@ -3,7 +3,7 @@ use rustpython_ast::Expr; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; /// UP006 pub fn use_pep585_annotation(checker: &mut Checker, expr: &Expr, id: &str) { diff --git a/src/pyupgrade/plugins/use_pep604_annotation.rs b/src/pyupgrade/plugins/use_pep604_annotation.rs index fb97d2867d..8ea9c0592f 100644 --- a/src/pyupgrade/plugins/use_pep604_annotation.rs +++ b/src/pyupgrade/plugins/use_pep604_annotation.rs @@ -4,7 +4,7 @@ use crate::ast::helpers::{collect_call_paths, dealias_call_path}; use crate::ast::types::Range; use crate::autofix::Fix; use crate::checkers::ast::Checker; -use crate::checks::{Check, CheckKind}; +use crate::registry::{Check, CheckKind}; use crate::source_code_generator::SourceCodeGenerator; fn optional(expr: &Expr) -> Expr { diff --git a/src/checks.rs b/src/registry.rs similarity index 99% rename from src/checks.rs rename to src/registry.rs index f009ed5a1d..b7f4fc98b5 100644 --- a/src/checks.rs +++ b/src/registry.rs @@ -1,3 +1,5 @@ +//! Registry of all supported `CheckCode` and `CheckKind` types. + use std::fmt; use itertools::Itertools; @@ -10,7 +12,6 @@ use strum_macros::{AsRefStr, Display, EnumIter, EnumString}; use crate::ast::types::Range; use crate::autofix::Fix; -use crate::checks_gen::CheckCodePrefix; use crate::flake8_debugger::types::DebuggerUsingType; use crate::flake8_pytest_style::types::{ ParametrizeNameType, ParametrizeValuesRowType, ParametrizeValuesType, @@ -18,6 +19,7 @@ use crate::flake8_pytest_style::types::{ use crate::flake8_quotes::settings::Quote; use crate::flake8_tidy_imports::settings::Strictness; use crate::pyupgrade::types::Primitive; +use crate::registry_gen::CheckCodePrefix; #[derive( AsRefStr, @@ -3932,7 +3934,7 @@ mod tests { use strum::IntoEnumIterator; - use crate::checks::CheckCode; + use crate::registry::CheckCode; #[test] fn check_code_serialization() { diff --git a/src/registry_gen.rs b/src/registry_gen.rs new file mode 100644 index 0000000000..8e4baffbd5 --- /dev/null +++ b/src/registry_gen.rs @@ -0,0 +1,3652 @@ +//! File automatically generated by `examples/generate_check_code_prefix.rs`. + +use colored::Colorize; +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; +use strum_macros::{AsRefStr, EnumString}; + +use crate::one_time_warning; +use crate::registry::CheckCode; + +#[derive( + EnumString, + AsRefStr, + Debug, + PartialEq, + Eq, + PartialOrd, + Ord, + Clone, + Serialize, + Deserialize, + JsonSchema, +)] +pub enum CheckCodePrefix { + A, + A0, + A00, + A001, + A002, + A003, + ALL, + ANN, + ANN0, + ANN00, + ANN001, + ANN002, + ANN003, + ANN1, + ANN10, + ANN101, + ANN102, + ANN2, + ANN20, + ANN201, + ANN202, + ANN204, + ANN205, + ANN206, + ANN4, + ANN40, + ANN401, + ARG, + ARG0, + ARG00, + ARG001, + ARG002, + ARG003, + ARG004, + ARG005, + B, + B0, + B00, + B002, + B003, + B004, + B005, + B006, + B007, + B008, + B009, + B01, + B010, + B011, + B012, + B013, + B014, + B015, + B016, + B017, + B018, + B019, + B02, + B020, + B021, + B022, + B023, + B024, + B025, + B026, + B027, + B9, + B90, + B904, + B905, + BLE, + BLE0, + BLE00, + BLE001, + C, + C4, + C40, + C400, + C401, + C402, + C403, + C404, + C405, + C406, + C408, + C409, + C41, + C410, + C411, + C413, + C414, + C415, + C416, + C417, + C9, + C90, + C901, + D, + D1, + D10, + D100, + D101, + D102, + D103, + D104, + D105, + D106, + D107, + D2, + D20, + D200, + D201, + D202, + D203, + D204, + D205, + D206, + D207, + D208, + D209, + D21, + D210, + D211, + D212, + D213, + D214, + D215, + D3, + D30, + D300, + D301, + D4, + D40, + D400, + D402, + D403, + D404, + D405, + D406, + D407, + D408, + D409, + D41, + D410, + D411, + D412, + D413, + D414, + D415, + D416, + D417, + D418, + D419, + DTZ, + DTZ0, + DTZ00, + DTZ001, + DTZ002, + DTZ003, + DTZ004, + DTZ005, + DTZ006, + DTZ007, + DTZ01, + DTZ011, + DTZ012, + E, + E4, + E40, + E401, + E402, + E5, + E50, + E501, + E7, + E71, + E711, + E712, + E713, + E714, + E72, + E721, + E722, + E73, + E731, + E74, + E741, + E742, + E743, + E9, + E90, + E902, + E99, + E999, + EM, + EM1, + EM10, + EM101, + EM102, + EM103, + ERA, + ERA0, + ERA00, + ERA001, + F, + F4, + F40, + F401, + F402, + F403, + F404, + F405, + F406, + F407, + F5, + F50, + F501, + F502, + F503, + F504, + F505, + F506, + F507, + F508, + F509, + F52, + F521, + F522, + F523, + F524, + F525, + F54, + F541, + F6, + F60, + F601, + F602, + F62, + F621, + F622, + F63, + F631, + F632, + F633, + F634, + F7, + F70, + F701, + F702, + F704, + F706, + F707, + F72, + F722, + F8, + F81, + F811, + F82, + F821, + F822, + F823, + F84, + F841, + F842, + F9, + F90, + F901, + FBT, + FBT0, + FBT00, + FBT001, + FBT002, + FBT003, + I, + I0, + I00, + I001, + I2, + I25, + I252, + IC, + IC0, + IC001, + IC002, + IC003, + IC004, + ICN, + ICN0, + ICN00, + ICN001, + ISC, + ISC0, + ISC00, + ISC001, + ISC002, + ISC003, + M, + M0, + M001, + N, + N8, + N80, + N801, + N802, + N803, + N804, + N805, + N806, + N807, + N81, + N811, + N812, + N813, + N814, + N815, + N816, + N817, + N818, + PD, + PD0, + PD00, + PD002, + PD003, + PD004, + PD007, + PD008, + PD009, + PD01, + PD010, + PD011, + PD012, + PD013, + PD015, + PD9, + PD90, + PD901, + PDV, + PDV0, + PDV002, + PDV003, + PDV004, + PDV007, + PDV008, + PDV009, + PDV01, + PDV010, + PDV011, + PDV012, + PDV013, + PDV015, + PDV9, + PDV90, + PDV901, + PGH, + PGH0, + PGH00, + PGH001, + PGH002, + PGH003, + PGH004, + PLC, + PLC0, + PLC04, + PLC041, + PLC0414, + PLC2, + PLC22, + PLC220, + PLC2201, + PLC3, + PLC30, + PLC300, + PLC3002, + PLE, + PLE0, + PLE01, + PLE011, + PLE0117, + PLE0118, + PLE1, + PLE11, + PLE114, + PLE1142, + PLR, + PLR0, + PLR02, + PLR020, + PLR0206, + PLR04, + PLR040, + PLR0402, + PLR1, + PLR17, + PLR170, + PLR1701, + PLR172, + PLR1722, + PLW, + PLW0, + PLW01, + PLW012, + PLW0120, + PLW06, + PLW060, + PLW0602, + PT, + PT0, + PT00, + PT001, + PT002, + PT003, + PT004, + PT005, + PT006, + PT007, + PT008, + PT009, + PT01, + PT010, + PT011, + PT012, + PT013, + PT015, + PT016, + PT017, + PT018, + PT019, + PT02, + PT020, + PT021, + PT022, + PT023, + PT024, + PT025, + PT026, + Q, + Q0, + Q00, + Q000, + Q001, + Q002, + Q003, + R, + R5, + R50, + R501, + R502, + R503, + R504, + R505, + R506, + R507, + R508, + RET, + RET5, + RET50, + RET501, + RET502, + RET503, + RET504, + RET505, + RET506, + RET507, + RET508, + RUF, + RUF0, + RUF00, + RUF001, + RUF002, + RUF003, + RUF004, + RUF1, + RUF10, + RUF100, + S, + S1, + S10, + S101, + S102, + S104, + S105, + S106, + S107, + SIM, + SIM1, + SIM11, + SIM118, + SIM3, + SIM30, + SIM300, + T, + T1, + T10, + T100, + T2, + T20, + T201, + T203, + TID, + TID2, + TID25, + TID251, + TID252, + U, + U0, + U00, + U001, + U003, + U004, + U005, + U006, + U007, + U008, + U009, + U01, + U010, + U011, + U012, + U013, + U014, + U015, + U016, + U017, + U019, + UP, + UP0, + UP00, + UP001, + UP003, + UP004, + UP005, + UP006, + UP007, + UP008, + UP009, + UP01, + UP010, + UP011, + UP012, + UP013, + UP014, + UP015, + UP016, + UP017, + UP018, + UP019, + UP02, + UP020, + UP021, + UP022, + UP023, + UP024, + UP025, + UP026, + UP027, + W, + W2, + W29, + W292, + W6, + W60, + W605, + YTT, + YTT1, + YTT10, + YTT101, + YTT102, + YTT103, + YTT2, + YTT20, + YTT201, + YTT202, + YTT203, + YTT204, + YTT3, + YTT30, + YTT301, + YTT302, + YTT303, +} + +#[derive(PartialEq, Eq, PartialOrd, Ord)] +pub enum SuffixLength { + None, + Zero, + One, + Two, + Three, + Four, +} + +impl CheckCodePrefix { + pub fn codes(&self) -> Vec { + #[allow(clippy::match_same_arms)] + match self { + CheckCodePrefix::A => vec![CheckCode::A001, CheckCode::A002, CheckCode::A003], + CheckCodePrefix::A0 => vec![CheckCode::A001, CheckCode::A002, CheckCode::A003], + CheckCodePrefix::A00 => vec![CheckCode::A001, CheckCode::A002, CheckCode::A003], + CheckCodePrefix::A001 => vec![CheckCode::A001], + CheckCodePrefix::A002 => vec![CheckCode::A002], + CheckCodePrefix::A003 => vec![CheckCode::A003], + CheckCodePrefix::ALL => vec![ + CheckCode::E401, + CheckCode::E402, + CheckCode::E501, + CheckCode::E711, + CheckCode::E712, + CheckCode::E713, + CheckCode::E714, + CheckCode::E721, + CheckCode::E722, + CheckCode::E731, + CheckCode::E741, + CheckCode::E742, + CheckCode::E743, + CheckCode::E902, + CheckCode::E999, + CheckCode::W292, + CheckCode::W605, + CheckCode::F401, + CheckCode::F402, + CheckCode::F403, + CheckCode::F404, + CheckCode::F405, + CheckCode::F406, + CheckCode::F407, + CheckCode::F501, + CheckCode::F502, + CheckCode::F503, + CheckCode::F504, + CheckCode::F505, + CheckCode::F506, + CheckCode::F507, + CheckCode::F508, + CheckCode::F509, + CheckCode::F521, + CheckCode::F522, + CheckCode::F523, + CheckCode::F524, + CheckCode::F525, + CheckCode::F541, + CheckCode::F601, + CheckCode::F602, + CheckCode::F621, + CheckCode::F622, + CheckCode::F631, + CheckCode::F632, + CheckCode::F633, + CheckCode::F634, + CheckCode::F701, + CheckCode::F702, + CheckCode::F704, + CheckCode::F706, + CheckCode::F707, + CheckCode::F722, + CheckCode::F811, + CheckCode::F821, + CheckCode::F822, + CheckCode::F823, + CheckCode::F841, + CheckCode::F842, + CheckCode::F901, + CheckCode::PLC0414, + CheckCode::PLC2201, + CheckCode::PLC3002, + CheckCode::PLE0117, + CheckCode::PLE0118, + CheckCode::PLE1142, + CheckCode::PLR0206, + CheckCode::PLR0402, + CheckCode::PLR1701, + CheckCode::PLR1722, + CheckCode::PLW0120, + CheckCode::PLW0602, + CheckCode::A001, + CheckCode::A002, + CheckCode::A003, + CheckCode::B002, + CheckCode::B003, + CheckCode::B004, + CheckCode::B005, + CheckCode::B006, + CheckCode::B007, + CheckCode::B008, + CheckCode::B009, + CheckCode::B010, + CheckCode::B011, + CheckCode::B012, + CheckCode::B013, + CheckCode::B014, + CheckCode::B015, + CheckCode::B016, + CheckCode::B017, + CheckCode::B018, + CheckCode::B019, + CheckCode::B020, + CheckCode::B021, + CheckCode::B022, + CheckCode::B023, + CheckCode::B024, + CheckCode::B025, + CheckCode::B026, + CheckCode::B027, + CheckCode::B904, + CheckCode::B905, + CheckCode::BLE001, + CheckCode::C400, + CheckCode::C401, + CheckCode::C402, + CheckCode::C403, + CheckCode::C404, + CheckCode::C405, + CheckCode::C406, + CheckCode::C408, + CheckCode::C409, + CheckCode::C410, + CheckCode::C411, + CheckCode::C413, + CheckCode::C414, + CheckCode::C415, + CheckCode::C416, + CheckCode::C417, + CheckCode::T100, + CheckCode::C901, + CheckCode::TID251, + CheckCode::TID252, + CheckCode::RET501, + CheckCode::RET502, + CheckCode::RET503, + CheckCode::RET504, + CheckCode::RET505, + CheckCode::RET506, + CheckCode::RET507, + CheckCode::RET508, + CheckCode::ISC001, + CheckCode::ISC002, + CheckCode::ISC003, + CheckCode::T201, + CheckCode::T203, + CheckCode::Q000, + CheckCode::Q001, + CheckCode::Q002, + CheckCode::Q003, + CheckCode::ANN001, + CheckCode::ANN002, + CheckCode::ANN003, + CheckCode::ANN101, + CheckCode::ANN102, + CheckCode::ANN201, + CheckCode::ANN202, + CheckCode::ANN204, + CheckCode::ANN205, + CheckCode::ANN206, + CheckCode::ANN401, + CheckCode::YTT101, + CheckCode::YTT102, + CheckCode::YTT103, + CheckCode::YTT201, + CheckCode::YTT202, + CheckCode::YTT203, + CheckCode::YTT204, + CheckCode::YTT301, + CheckCode::YTT302, + CheckCode::YTT303, + CheckCode::SIM118, + CheckCode::SIM300, + CheckCode::UP001, + CheckCode::UP003, + CheckCode::UP004, + CheckCode::UP005, + CheckCode::UP006, + CheckCode::UP007, + CheckCode::UP008, + CheckCode::UP009, + CheckCode::UP010, + CheckCode::UP011, + CheckCode::UP012, + CheckCode::UP013, + CheckCode::UP014, + CheckCode::UP015, + CheckCode::UP016, + CheckCode::UP017, + CheckCode::UP018, + CheckCode::UP019, + CheckCode::UP020, + CheckCode::UP021, + CheckCode::UP022, + CheckCode::UP023, + CheckCode::UP024, + CheckCode::UP025, + CheckCode::UP026, + CheckCode::UP027, + CheckCode::D100, + CheckCode::D101, + CheckCode::D102, + CheckCode::D103, + CheckCode::D104, + CheckCode::D105, + CheckCode::D106, + CheckCode::D107, + CheckCode::D200, + CheckCode::D201, + CheckCode::D202, + CheckCode::D203, + CheckCode::D204, + CheckCode::D205, + CheckCode::D206, + CheckCode::D207, + CheckCode::D208, + CheckCode::D209, + CheckCode::D210, + CheckCode::D211, + CheckCode::D212, + CheckCode::D213, + CheckCode::D214, + CheckCode::D215, + CheckCode::D300, + CheckCode::D301, + CheckCode::D400, + CheckCode::D402, + CheckCode::D403, + CheckCode::D404, + CheckCode::D405, + CheckCode::D406, + CheckCode::D407, + CheckCode::D408, + CheckCode::D409, + CheckCode::D410, + CheckCode::D411, + CheckCode::D412, + CheckCode::D413, + CheckCode::D414, + CheckCode::D415, + CheckCode::D416, + CheckCode::D417, + CheckCode::D418, + CheckCode::D419, + CheckCode::N801, + CheckCode::N802, + CheckCode::N803, + CheckCode::N804, + CheckCode::N805, + CheckCode::N806, + CheckCode::N807, + CheckCode::N811, + CheckCode::N812, + CheckCode::N813, + CheckCode::N814, + CheckCode::N815, + CheckCode::N816, + CheckCode::N817, + CheckCode::N818, + CheckCode::I001, + CheckCode::ERA001, + CheckCode::S101, + CheckCode::S102, + CheckCode::S104, + CheckCode::S105, + CheckCode::S106, + CheckCode::S107, + CheckCode::FBT001, + CheckCode::FBT002, + CheckCode::FBT003, + CheckCode::ARG001, + CheckCode::ARG002, + CheckCode::ARG003, + CheckCode::ARG004, + CheckCode::ARG005, + CheckCode::ICN001, + CheckCode::DTZ001, + CheckCode::DTZ002, + CheckCode::DTZ003, + CheckCode::DTZ004, + CheckCode::DTZ005, + CheckCode::DTZ006, + CheckCode::DTZ007, + CheckCode::DTZ011, + CheckCode::DTZ012, + CheckCode::RUF001, + CheckCode::RUF002, + CheckCode::RUF003, + CheckCode::RUF004, + CheckCode::RUF100, + CheckCode::PGH001, + CheckCode::PGH002, + CheckCode::PGH003, + CheckCode::PGH004, + CheckCode::PD002, + CheckCode::PD003, + CheckCode::PD004, + CheckCode::PD007, + CheckCode::PD008, + CheckCode::PD009, + CheckCode::PD010, + CheckCode::PD011, + CheckCode::PD012, + CheckCode::PD013, + CheckCode::PD015, + CheckCode::PD901, + CheckCode::EM101, + CheckCode::EM102, + CheckCode::EM103, + CheckCode::PT001, + CheckCode::PT002, + CheckCode::PT003, + CheckCode::PT004, + CheckCode::PT005, + CheckCode::PT006, + CheckCode::PT007, + CheckCode::PT008, + CheckCode::PT009, + CheckCode::PT010, + CheckCode::PT011, + CheckCode::PT012, + CheckCode::PT013, + CheckCode::PT015, + CheckCode::PT016, + CheckCode::PT017, + CheckCode::PT018, + CheckCode::PT019, + CheckCode::PT020, + CheckCode::PT021, + CheckCode::PT022, + CheckCode::PT023, + CheckCode::PT024, + CheckCode::PT025, + CheckCode::PT026, + ], + CheckCodePrefix::ANN => vec![ + CheckCode::ANN001, + CheckCode::ANN002, + CheckCode::ANN003, + CheckCode::ANN101, + CheckCode::ANN102, + CheckCode::ANN201, + CheckCode::ANN202, + CheckCode::ANN204, + CheckCode::ANN205, + CheckCode::ANN206, + CheckCode::ANN401, + ], + CheckCodePrefix::ANN0 => vec![CheckCode::ANN001, CheckCode::ANN002, CheckCode::ANN003], + CheckCodePrefix::ANN00 => vec![CheckCode::ANN001, CheckCode::ANN002, CheckCode::ANN003], + CheckCodePrefix::ANN001 => vec![CheckCode::ANN001], + CheckCodePrefix::ANN002 => vec![CheckCode::ANN002], + CheckCodePrefix::ANN003 => vec![CheckCode::ANN003], + CheckCodePrefix::ANN1 => vec![CheckCode::ANN101, CheckCode::ANN102], + CheckCodePrefix::ANN10 => vec![CheckCode::ANN101, CheckCode::ANN102], + CheckCodePrefix::ANN101 => vec![CheckCode::ANN101], + CheckCodePrefix::ANN102 => vec![CheckCode::ANN102], + CheckCodePrefix::ANN2 => vec![ + CheckCode::ANN201, + CheckCode::ANN202, + CheckCode::ANN204, + CheckCode::ANN205, + CheckCode::ANN206, + ], + CheckCodePrefix::ANN20 => vec![ + CheckCode::ANN201, + CheckCode::ANN202, + CheckCode::ANN204, + CheckCode::ANN205, + CheckCode::ANN206, + ], + CheckCodePrefix::ANN201 => vec![CheckCode::ANN201], + CheckCodePrefix::ANN202 => vec![CheckCode::ANN202], + CheckCodePrefix::ANN204 => vec![CheckCode::ANN204], + CheckCodePrefix::ANN205 => vec![CheckCode::ANN205], + CheckCodePrefix::ANN206 => vec![CheckCode::ANN206], + CheckCodePrefix::ANN4 => vec![CheckCode::ANN401], + CheckCodePrefix::ANN40 => vec![CheckCode::ANN401], + CheckCodePrefix::ANN401 => vec![CheckCode::ANN401], + CheckCodePrefix::ARG => vec![ + CheckCode::ARG001, + CheckCode::ARG002, + CheckCode::ARG003, + CheckCode::ARG004, + CheckCode::ARG005, + ], + CheckCodePrefix::ARG0 => vec![ + CheckCode::ARG001, + CheckCode::ARG002, + CheckCode::ARG003, + CheckCode::ARG004, + CheckCode::ARG005, + ], + CheckCodePrefix::ARG00 => vec![ + CheckCode::ARG001, + CheckCode::ARG002, + CheckCode::ARG003, + CheckCode::ARG004, + CheckCode::ARG005, + ], + CheckCodePrefix::ARG001 => vec![CheckCode::ARG001], + CheckCodePrefix::ARG002 => vec![CheckCode::ARG002], + CheckCodePrefix::ARG003 => vec![CheckCode::ARG003], + CheckCodePrefix::ARG004 => vec![CheckCode::ARG004], + CheckCodePrefix::ARG005 => vec![CheckCode::ARG005], + CheckCodePrefix::B => vec![ + CheckCode::B002, + CheckCode::B003, + CheckCode::B004, + CheckCode::B005, + CheckCode::B006, + CheckCode::B007, + CheckCode::B008, + CheckCode::B009, + CheckCode::B010, + CheckCode::B011, + CheckCode::B012, + CheckCode::B013, + CheckCode::B014, + CheckCode::B015, + CheckCode::B016, + CheckCode::B017, + CheckCode::B018, + CheckCode::B019, + CheckCode::B020, + CheckCode::B021, + CheckCode::B022, + CheckCode::B023, + CheckCode::B024, + CheckCode::B025, + CheckCode::B026, + CheckCode::B027, + CheckCode::B904, + CheckCode::B905, + ], + CheckCodePrefix::B0 => vec![ + CheckCode::B002, + CheckCode::B003, + CheckCode::B004, + CheckCode::B005, + CheckCode::B006, + CheckCode::B007, + CheckCode::B008, + CheckCode::B009, + CheckCode::B010, + CheckCode::B011, + CheckCode::B012, + CheckCode::B013, + CheckCode::B014, + CheckCode::B015, + CheckCode::B016, + CheckCode::B017, + CheckCode::B018, + CheckCode::B019, + CheckCode::B020, + CheckCode::B021, + CheckCode::B022, + CheckCode::B023, + CheckCode::B024, + CheckCode::B025, + CheckCode::B026, + CheckCode::B027, + ], + CheckCodePrefix::B00 => vec![ + CheckCode::B002, + CheckCode::B003, + CheckCode::B004, + CheckCode::B005, + CheckCode::B006, + CheckCode::B007, + CheckCode::B008, + CheckCode::B009, + ], + CheckCodePrefix::B002 => vec![CheckCode::B002], + CheckCodePrefix::B003 => vec![CheckCode::B003], + CheckCodePrefix::B004 => vec![CheckCode::B004], + CheckCodePrefix::B005 => vec![CheckCode::B005], + CheckCodePrefix::B006 => vec![CheckCode::B006], + CheckCodePrefix::B007 => vec![CheckCode::B007], + CheckCodePrefix::B008 => vec![CheckCode::B008], + CheckCodePrefix::B009 => vec![CheckCode::B009], + CheckCodePrefix::B01 => vec![ + CheckCode::B010, + CheckCode::B011, + CheckCode::B012, + CheckCode::B013, + CheckCode::B014, + CheckCode::B015, + CheckCode::B016, + CheckCode::B017, + CheckCode::B018, + CheckCode::B019, + ], + CheckCodePrefix::B010 => vec![CheckCode::B010], + CheckCodePrefix::B011 => vec![CheckCode::B011], + CheckCodePrefix::B012 => vec![CheckCode::B012], + CheckCodePrefix::B013 => vec![CheckCode::B013], + CheckCodePrefix::B014 => vec![CheckCode::B014], + CheckCodePrefix::B015 => vec![CheckCode::B015], + CheckCodePrefix::B016 => vec![CheckCode::B016], + CheckCodePrefix::B017 => vec![CheckCode::B017], + CheckCodePrefix::B018 => vec![CheckCode::B018], + CheckCodePrefix::B019 => vec![CheckCode::B019], + CheckCodePrefix::B02 => vec![ + CheckCode::B020, + CheckCode::B021, + CheckCode::B022, + CheckCode::B023, + CheckCode::B024, + CheckCode::B025, + CheckCode::B026, + CheckCode::B027, + ], + CheckCodePrefix::B020 => vec![CheckCode::B020], + CheckCodePrefix::B021 => vec![CheckCode::B021], + CheckCodePrefix::B022 => vec![CheckCode::B022], + CheckCodePrefix::B023 => vec![CheckCode::B023], + CheckCodePrefix::B024 => vec![CheckCode::B024], + CheckCodePrefix::B025 => vec![CheckCode::B025], + CheckCodePrefix::B026 => vec![CheckCode::B026], + CheckCodePrefix::B027 => vec![CheckCode::B027], + CheckCodePrefix::B9 => vec![CheckCode::B904, CheckCode::B905], + CheckCodePrefix::B90 => vec![CheckCode::B904, CheckCode::B905], + CheckCodePrefix::B904 => vec![CheckCode::B904], + CheckCodePrefix::B905 => vec![CheckCode::B905], + CheckCodePrefix::BLE => vec![CheckCode::BLE001], + CheckCodePrefix::BLE0 => vec![CheckCode::BLE001], + CheckCodePrefix::BLE00 => vec![CheckCode::BLE001], + CheckCodePrefix::BLE001 => vec![CheckCode::BLE001], + CheckCodePrefix::C => vec![ + CheckCode::C400, + CheckCode::C401, + CheckCode::C402, + CheckCode::C403, + CheckCode::C404, + CheckCode::C405, + CheckCode::C406, + CheckCode::C408, + CheckCode::C409, + CheckCode::C410, + CheckCode::C411, + CheckCode::C413, + CheckCode::C414, + CheckCode::C415, + CheckCode::C416, + CheckCode::C417, + CheckCode::C901, + ], + CheckCodePrefix::C4 => vec![ + CheckCode::C400, + CheckCode::C401, + CheckCode::C402, + CheckCode::C403, + CheckCode::C404, + CheckCode::C405, + CheckCode::C406, + CheckCode::C408, + CheckCode::C409, + CheckCode::C410, + CheckCode::C411, + CheckCode::C413, + CheckCode::C414, + CheckCode::C415, + CheckCode::C416, + CheckCode::C417, + ], + CheckCodePrefix::C40 => vec![ + CheckCode::C400, + CheckCode::C401, + CheckCode::C402, + CheckCode::C403, + CheckCode::C404, + CheckCode::C405, + CheckCode::C406, + CheckCode::C408, + CheckCode::C409, + ], + CheckCodePrefix::C400 => vec![CheckCode::C400], + CheckCodePrefix::C401 => vec![CheckCode::C401], + CheckCodePrefix::C402 => vec![CheckCode::C402], + CheckCodePrefix::C403 => vec![CheckCode::C403], + CheckCodePrefix::C404 => vec![CheckCode::C404], + CheckCodePrefix::C405 => vec![CheckCode::C405], + CheckCodePrefix::C406 => vec![CheckCode::C406], + CheckCodePrefix::C408 => vec![CheckCode::C408], + CheckCodePrefix::C409 => vec![CheckCode::C409], + CheckCodePrefix::C41 => vec![ + CheckCode::C410, + CheckCode::C411, + CheckCode::C413, + CheckCode::C414, + CheckCode::C415, + CheckCode::C416, + CheckCode::C417, + ], + CheckCodePrefix::C410 => vec![CheckCode::C410], + CheckCodePrefix::C411 => vec![CheckCode::C411], + CheckCodePrefix::C413 => vec![CheckCode::C413], + CheckCodePrefix::C414 => vec![CheckCode::C414], + CheckCodePrefix::C415 => vec![CheckCode::C415], + CheckCodePrefix::C416 => vec![CheckCode::C416], + CheckCodePrefix::C417 => vec![CheckCode::C417], + CheckCodePrefix::C9 => vec![CheckCode::C901], + CheckCodePrefix::C90 => vec![CheckCode::C901], + CheckCodePrefix::C901 => vec![CheckCode::C901], + CheckCodePrefix::D => vec![ + CheckCode::D100, + CheckCode::D101, + CheckCode::D102, + CheckCode::D103, + CheckCode::D104, + CheckCode::D105, + CheckCode::D106, + CheckCode::D107, + CheckCode::D200, + CheckCode::D201, + CheckCode::D202, + CheckCode::D203, + CheckCode::D204, + CheckCode::D205, + CheckCode::D206, + CheckCode::D207, + CheckCode::D208, + CheckCode::D209, + CheckCode::D210, + CheckCode::D211, + CheckCode::D212, + CheckCode::D213, + CheckCode::D214, + CheckCode::D215, + CheckCode::D300, + CheckCode::D301, + CheckCode::D400, + CheckCode::D402, + CheckCode::D403, + CheckCode::D404, + CheckCode::D405, + CheckCode::D406, + CheckCode::D407, + CheckCode::D408, + CheckCode::D409, + CheckCode::D410, + CheckCode::D411, + CheckCode::D412, + CheckCode::D413, + CheckCode::D414, + CheckCode::D415, + CheckCode::D416, + CheckCode::D417, + CheckCode::D418, + CheckCode::D419, + ], + CheckCodePrefix::D1 => vec![ + CheckCode::D100, + CheckCode::D101, + CheckCode::D102, + CheckCode::D103, + CheckCode::D104, + CheckCode::D105, + CheckCode::D106, + CheckCode::D107, + ], + CheckCodePrefix::D10 => vec![ + CheckCode::D100, + CheckCode::D101, + CheckCode::D102, + CheckCode::D103, + CheckCode::D104, + CheckCode::D105, + CheckCode::D106, + CheckCode::D107, + ], + CheckCodePrefix::D100 => vec![CheckCode::D100], + CheckCodePrefix::D101 => vec![CheckCode::D101], + CheckCodePrefix::D102 => vec![CheckCode::D102], + CheckCodePrefix::D103 => vec![CheckCode::D103], + CheckCodePrefix::D104 => vec![CheckCode::D104], + CheckCodePrefix::D105 => vec![CheckCode::D105], + CheckCodePrefix::D106 => vec![CheckCode::D106], + CheckCodePrefix::D107 => vec![CheckCode::D107], + CheckCodePrefix::D2 => vec![ + CheckCode::D200, + CheckCode::D201, + CheckCode::D202, + CheckCode::D203, + CheckCode::D204, + CheckCode::D205, + CheckCode::D206, + CheckCode::D207, + CheckCode::D208, + CheckCode::D209, + CheckCode::D210, + CheckCode::D211, + CheckCode::D212, + CheckCode::D213, + CheckCode::D214, + CheckCode::D215, + ], + CheckCodePrefix::D20 => vec![ + CheckCode::D200, + CheckCode::D201, + CheckCode::D202, + CheckCode::D203, + CheckCode::D204, + CheckCode::D205, + CheckCode::D206, + CheckCode::D207, + CheckCode::D208, + CheckCode::D209, + ], + CheckCodePrefix::D200 => vec![CheckCode::D200], + CheckCodePrefix::D201 => vec![CheckCode::D201], + CheckCodePrefix::D202 => vec![CheckCode::D202], + CheckCodePrefix::D203 => vec![CheckCode::D203], + CheckCodePrefix::D204 => vec![CheckCode::D204], + CheckCodePrefix::D205 => vec![CheckCode::D205], + CheckCodePrefix::D206 => vec![CheckCode::D206], + CheckCodePrefix::D207 => vec![CheckCode::D207], + CheckCodePrefix::D208 => vec![CheckCode::D208], + CheckCodePrefix::D209 => vec![CheckCode::D209], + CheckCodePrefix::D21 => vec![ + CheckCode::D210, + CheckCode::D211, + CheckCode::D212, + CheckCode::D213, + CheckCode::D214, + CheckCode::D215, + ], + CheckCodePrefix::D210 => vec![CheckCode::D210], + CheckCodePrefix::D211 => vec![CheckCode::D211], + CheckCodePrefix::D212 => vec![CheckCode::D212], + CheckCodePrefix::D213 => vec![CheckCode::D213], + CheckCodePrefix::D214 => vec![CheckCode::D214], + CheckCodePrefix::D215 => vec![CheckCode::D215], + CheckCodePrefix::D3 => vec![CheckCode::D300, CheckCode::D301], + CheckCodePrefix::D30 => vec![CheckCode::D300, CheckCode::D301], + CheckCodePrefix::D300 => vec![CheckCode::D300], + CheckCodePrefix::D301 => vec![CheckCode::D301], + CheckCodePrefix::D4 => vec![ + CheckCode::D400, + CheckCode::D402, + CheckCode::D403, + CheckCode::D404, + CheckCode::D405, + CheckCode::D406, + CheckCode::D407, + CheckCode::D408, + CheckCode::D409, + CheckCode::D410, + CheckCode::D411, + CheckCode::D412, + CheckCode::D413, + CheckCode::D414, + CheckCode::D415, + CheckCode::D416, + CheckCode::D417, + CheckCode::D418, + CheckCode::D419, + ], + CheckCodePrefix::D40 => vec![ + CheckCode::D400, + CheckCode::D402, + CheckCode::D403, + CheckCode::D404, + CheckCode::D405, + CheckCode::D406, + CheckCode::D407, + CheckCode::D408, + CheckCode::D409, + ], + CheckCodePrefix::D400 => vec![CheckCode::D400], + CheckCodePrefix::D402 => vec![CheckCode::D402], + CheckCodePrefix::D403 => vec![CheckCode::D403], + CheckCodePrefix::D404 => vec![CheckCode::D404], + CheckCodePrefix::D405 => vec![CheckCode::D405], + CheckCodePrefix::D406 => vec![CheckCode::D406], + CheckCodePrefix::D407 => vec![CheckCode::D407], + CheckCodePrefix::D408 => vec![CheckCode::D408], + CheckCodePrefix::D409 => vec![CheckCode::D409], + CheckCodePrefix::D41 => vec![ + CheckCode::D410, + CheckCode::D411, + CheckCode::D412, + CheckCode::D413, + CheckCode::D414, + CheckCode::D415, + CheckCode::D416, + CheckCode::D417, + CheckCode::D418, + CheckCode::D419, + ], + CheckCodePrefix::D410 => vec![CheckCode::D410], + CheckCodePrefix::D411 => vec![CheckCode::D411], + CheckCodePrefix::D412 => vec![CheckCode::D412], + CheckCodePrefix::D413 => vec![CheckCode::D413], + CheckCodePrefix::D414 => vec![CheckCode::D414], + CheckCodePrefix::D415 => vec![CheckCode::D415], + CheckCodePrefix::D416 => vec![CheckCode::D416], + CheckCodePrefix::D417 => vec![CheckCode::D417], + CheckCodePrefix::D418 => vec![CheckCode::D418], + CheckCodePrefix::D419 => vec![CheckCode::D419], + CheckCodePrefix::DTZ => vec![ + CheckCode::DTZ001, + CheckCode::DTZ002, + CheckCode::DTZ003, + CheckCode::DTZ004, + CheckCode::DTZ005, + CheckCode::DTZ006, + CheckCode::DTZ007, + CheckCode::DTZ011, + CheckCode::DTZ012, + ], + CheckCodePrefix::DTZ0 => vec![ + CheckCode::DTZ001, + CheckCode::DTZ002, + CheckCode::DTZ003, + CheckCode::DTZ004, + CheckCode::DTZ005, + CheckCode::DTZ006, + CheckCode::DTZ007, + CheckCode::DTZ011, + CheckCode::DTZ012, + ], + CheckCodePrefix::DTZ00 => vec![ + CheckCode::DTZ001, + CheckCode::DTZ002, + CheckCode::DTZ003, + CheckCode::DTZ004, + CheckCode::DTZ005, + CheckCode::DTZ006, + CheckCode::DTZ007, + ], + CheckCodePrefix::DTZ001 => vec![CheckCode::DTZ001], + CheckCodePrefix::DTZ002 => vec![CheckCode::DTZ002], + CheckCodePrefix::DTZ003 => vec![CheckCode::DTZ003], + CheckCodePrefix::DTZ004 => vec![CheckCode::DTZ004], + CheckCodePrefix::DTZ005 => vec![CheckCode::DTZ005], + CheckCodePrefix::DTZ006 => vec![CheckCode::DTZ006], + CheckCodePrefix::DTZ007 => vec![CheckCode::DTZ007], + CheckCodePrefix::DTZ01 => vec![CheckCode::DTZ011, CheckCode::DTZ012], + CheckCodePrefix::DTZ011 => vec![CheckCode::DTZ011], + CheckCodePrefix::DTZ012 => vec![CheckCode::DTZ012], + CheckCodePrefix::E => vec![ + CheckCode::E401, + CheckCode::E402, + CheckCode::E501, + CheckCode::E711, + CheckCode::E712, + CheckCode::E713, + CheckCode::E714, + CheckCode::E721, + CheckCode::E722, + CheckCode::E731, + CheckCode::E741, + CheckCode::E742, + CheckCode::E743, + CheckCode::E902, + CheckCode::E999, + ], + CheckCodePrefix::E4 => vec![CheckCode::E401, CheckCode::E402], + CheckCodePrefix::E40 => vec![CheckCode::E401, CheckCode::E402], + CheckCodePrefix::E401 => vec![CheckCode::E401], + CheckCodePrefix::E402 => vec![CheckCode::E402], + CheckCodePrefix::E5 => vec![CheckCode::E501], + CheckCodePrefix::E50 => vec![CheckCode::E501], + CheckCodePrefix::E501 => vec![CheckCode::E501], + CheckCodePrefix::E7 => vec![ + CheckCode::E711, + CheckCode::E712, + CheckCode::E713, + CheckCode::E714, + CheckCode::E721, + CheckCode::E722, + CheckCode::E731, + CheckCode::E741, + CheckCode::E742, + CheckCode::E743, + ], + CheckCodePrefix::E71 => vec![ + CheckCode::E711, + CheckCode::E712, + CheckCode::E713, + CheckCode::E714, + ], + CheckCodePrefix::E711 => vec![CheckCode::E711], + CheckCodePrefix::E712 => vec![CheckCode::E712], + CheckCodePrefix::E713 => vec![CheckCode::E713], + CheckCodePrefix::E714 => vec![CheckCode::E714], + CheckCodePrefix::E72 => vec![CheckCode::E721, CheckCode::E722], + CheckCodePrefix::E721 => vec![CheckCode::E721], + CheckCodePrefix::E722 => vec![CheckCode::E722], + CheckCodePrefix::E73 => vec![CheckCode::E731], + CheckCodePrefix::E731 => vec![CheckCode::E731], + CheckCodePrefix::E74 => vec![CheckCode::E741, CheckCode::E742, CheckCode::E743], + CheckCodePrefix::E741 => vec![CheckCode::E741], + CheckCodePrefix::E742 => vec![CheckCode::E742], + CheckCodePrefix::E743 => vec![CheckCode::E743], + CheckCodePrefix::E9 => vec![CheckCode::E902, CheckCode::E999], + CheckCodePrefix::E90 => vec![CheckCode::E902], + CheckCodePrefix::E902 => vec![CheckCode::E902], + CheckCodePrefix::E99 => vec![CheckCode::E999], + CheckCodePrefix::E999 => vec![CheckCode::E999], + CheckCodePrefix::EM => vec![CheckCode::EM101, CheckCode::EM102, CheckCode::EM103], + CheckCodePrefix::EM1 => vec![CheckCode::EM101, CheckCode::EM102, CheckCode::EM103], + CheckCodePrefix::EM10 => vec![CheckCode::EM101, CheckCode::EM102, CheckCode::EM103], + CheckCodePrefix::EM101 => vec![CheckCode::EM101], + CheckCodePrefix::EM102 => vec![CheckCode::EM102], + CheckCodePrefix::EM103 => vec![CheckCode::EM103], + CheckCodePrefix::ERA => vec![CheckCode::ERA001], + CheckCodePrefix::ERA0 => vec![CheckCode::ERA001], + CheckCodePrefix::ERA00 => vec![CheckCode::ERA001], + CheckCodePrefix::ERA001 => vec![CheckCode::ERA001], + CheckCodePrefix::F => vec![ + CheckCode::F401, + CheckCode::F402, + CheckCode::F403, + CheckCode::F404, + CheckCode::F405, + CheckCode::F406, + CheckCode::F407, + CheckCode::F501, + CheckCode::F502, + CheckCode::F503, + CheckCode::F504, + CheckCode::F505, + CheckCode::F506, + CheckCode::F507, + CheckCode::F508, + CheckCode::F509, + CheckCode::F521, + CheckCode::F522, + CheckCode::F523, + CheckCode::F524, + CheckCode::F525, + CheckCode::F541, + CheckCode::F601, + CheckCode::F602, + CheckCode::F621, + CheckCode::F622, + CheckCode::F631, + CheckCode::F632, + CheckCode::F633, + CheckCode::F634, + CheckCode::F701, + CheckCode::F702, + CheckCode::F704, + CheckCode::F706, + CheckCode::F707, + CheckCode::F722, + CheckCode::F811, + CheckCode::F821, + CheckCode::F822, + CheckCode::F823, + CheckCode::F841, + CheckCode::F842, + CheckCode::F901, + ], + CheckCodePrefix::F4 => vec![ + CheckCode::F401, + CheckCode::F402, + CheckCode::F403, + CheckCode::F404, + CheckCode::F405, + CheckCode::F406, + CheckCode::F407, + ], + CheckCodePrefix::F40 => vec![ + CheckCode::F401, + CheckCode::F402, + CheckCode::F403, + CheckCode::F404, + CheckCode::F405, + CheckCode::F406, + CheckCode::F407, + ], + CheckCodePrefix::F401 => vec![CheckCode::F401], + CheckCodePrefix::F402 => vec![CheckCode::F402], + CheckCodePrefix::F403 => vec![CheckCode::F403], + CheckCodePrefix::F404 => vec![CheckCode::F404], + CheckCodePrefix::F405 => vec![CheckCode::F405], + CheckCodePrefix::F406 => vec![CheckCode::F406], + CheckCodePrefix::F407 => vec![CheckCode::F407], + CheckCodePrefix::F5 => vec![ + CheckCode::F501, + CheckCode::F502, + CheckCode::F503, + CheckCode::F504, + CheckCode::F505, + CheckCode::F506, + CheckCode::F507, + CheckCode::F508, + CheckCode::F509, + CheckCode::F521, + CheckCode::F522, + CheckCode::F523, + CheckCode::F524, + CheckCode::F525, + CheckCode::F541, + ], + CheckCodePrefix::F50 => vec![ + CheckCode::F501, + CheckCode::F502, + CheckCode::F503, + CheckCode::F504, + CheckCode::F505, + CheckCode::F506, + CheckCode::F507, + CheckCode::F508, + CheckCode::F509, + ], + CheckCodePrefix::F501 => vec![CheckCode::F501], + CheckCodePrefix::F502 => vec![CheckCode::F502], + CheckCodePrefix::F503 => vec![CheckCode::F503], + CheckCodePrefix::F504 => vec![CheckCode::F504], + CheckCodePrefix::F505 => vec![CheckCode::F505], + CheckCodePrefix::F506 => vec![CheckCode::F506], + CheckCodePrefix::F507 => vec![CheckCode::F507], + CheckCodePrefix::F508 => vec![CheckCode::F508], + CheckCodePrefix::F509 => vec![CheckCode::F509], + CheckCodePrefix::F52 => vec![ + CheckCode::F521, + CheckCode::F522, + CheckCode::F523, + CheckCode::F524, + CheckCode::F525, + ], + CheckCodePrefix::F521 => vec![CheckCode::F521], + CheckCodePrefix::F522 => vec![CheckCode::F522], + CheckCodePrefix::F523 => vec![CheckCode::F523], + CheckCodePrefix::F524 => vec![CheckCode::F524], + CheckCodePrefix::F525 => vec![CheckCode::F525], + CheckCodePrefix::F54 => vec![CheckCode::F541], + CheckCodePrefix::F541 => vec![CheckCode::F541], + CheckCodePrefix::F6 => vec![ + CheckCode::F601, + CheckCode::F602, + CheckCode::F621, + CheckCode::F622, + CheckCode::F631, + CheckCode::F632, + CheckCode::F633, + CheckCode::F634, + ], + CheckCodePrefix::F60 => vec![CheckCode::F601, CheckCode::F602], + CheckCodePrefix::F601 => vec![CheckCode::F601], + CheckCodePrefix::F602 => vec![CheckCode::F602], + CheckCodePrefix::F62 => vec![CheckCode::F621, CheckCode::F622], + CheckCodePrefix::F621 => vec![CheckCode::F621], + CheckCodePrefix::F622 => vec![CheckCode::F622], + CheckCodePrefix::F63 => vec![ + CheckCode::F631, + CheckCode::F632, + CheckCode::F633, + CheckCode::F634, + ], + CheckCodePrefix::F631 => vec![CheckCode::F631], + CheckCodePrefix::F632 => vec![CheckCode::F632], + CheckCodePrefix::F633 => vec![CheckCode::F633], + CheckCodePrefix::F634 => vec![CheckCode::F634], + CheckCodePrefix::F7 => vec![ + CheckCode::F701, + CheckCode::F702, + CheckCode::F704, + CheckCode::F706, + CheckCode::F707, + CheckCode::F722, + ], + CheckCodePrefix::F70 => vec![ + CheckCode::F701, + CheckCode::F702, + CheckCode::F704, + CheckCode::F706, + CheckCode::F707, + ], + CheckCodePrefix::F701 => vec![CheckCode::F701], + CheckCodePrefix::F702 => vec![CheckCode::F702], + CheckCodePrefix::F704 => vec![CheckCode::F704], + CheckCodePrefix::F706 => vec![CheckCode::F706], + CheckCodePrefix::F707 => vec![CheckCode::F707], + CheckCodePrefix::F72 => vec![CheckCode::F722], + CheckCodePrefix::F722 => vec![CheckCode::F722], + CheckCodePrefix::F8 => vec![ + CheckCode::F811, + CheckCode::F821, + CheckCode::F822, + CheckCode::F823, + CheckCode::F841, + CheckCode::F842, + ], + CheckCodePrefix::F81 => vec![CheckCode::F811], + CheckCodePrefix::F811 => vec![CheckCode::F811], + CheckCodePrefix::F82 => vec![CheckCode::F821, CheckCode::F822, CheckCode::F823], + CheckCodePrefix::F821 => vec![CheckCode::F821], + CheckCodePrefix::F822 => vec![CheckCode::F822], + CheckCodePrefix::F823 => vec![CheckCode::F823], + CheckCodePrefix::F84 => vec![CheckCode::F841, CheckCode::F842], + CheckCodePrefix::F841 => vec![CheckCode::F841], + CheckCodePrefix::F842 => vec![CheckCode::F842], + CheckCodePrefix::F9 => vec![CheckCode::F901], + CheckCodePrefix::F90 => vec![CheckCode::F901], + CheckCodePrefix::F901 => vec![CheckCode::F901], + CheckCodePrefix::FBT => vec![CheckCode::FBT001, CheckCode::FBT002, CheckCode::FBT003], + CheckCodePrefix::FBT0 => vec![CheckCode::FBT001, CheckCode::FBT002, CheckCode::FBT003], + CheckCodePrefix::FBT00 => vec![CheckCode::FBT001, CheckCode::FBT002, CheckCode::FBT003], + CheckCodePrefix::FBT001 => vec![CheckCode::FBT001], + CheckCodePrefix::FBT002 => vec![CheckCode::FBT002], + CheckCodePrefix::FBT003 => vec![CheckCode::FBT003], + CheckCodePrefix::I => vec![CheckCode::I001], + CheckCodePrefix::I0 => vec![CheckCode::I001], + CheckCodePrefix::I00 => vec![CheckCode::I001], + CheckCodePrefix::I001 => vec![CheckCode::I001], + CheckCodePrefix::I2 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`I2` has been remapped to `TID2`".bold() + ); + vec![CheckCode::TID251, CheckCode::TID252] + } + CheckCodePrefix::I25 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`I25` has been remapped to `TID25`".bold() + ); + vec![CheckCode::TID251, CheckCode::TID252] + } + CheckCodePrefix::I252 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`I252` has been remapped to `TID252`".bold() + ); + vec![CheckCode::TID252] + } + CheckCodePrefix::IC => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`IC` has been remapped to `ICN`".bold() + ); + vec![CheckCode::ICN001] + } + CheckCodePrefix::IC0 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`IC0` has been remapped to `ICN0`".bold() + ); + vec![CheckCode::ICN001] + } + CheckCodePrefix::IC001 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`IC001` has been remapped to `ICN001`".bold() + ); + vec![CheckCode::ICN001] + } + CheckCodePrefix::IC002 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`IC002` has been remapped to `ICN001`".bold() + ); + vec![CheckCode::ICN001] + } + CheckCodePrefix::IC003 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`IC003` has been remapped to `ICN001`".bold() + ); + vec![CheckCode::ICN001] + } + CheckCodePrefix::IC004 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`IC004` has been remapped to `ICN001`".bold() + ); + vec![CheckCode::ICN001] + } + CheckCodePrefix::ICN => vec![CheckCode::ICN001], + CheckCodePrefix::ICN0 => vec![CheckCode::ICN001], + CheckCodePrefix::ICN00 => vec![CheckCode::ICN001], + CheckCodePrefix::ICN001 => vec![CheckCode::ICN001], + CheckCodePrefix::ISC => vec![CheckCode::ISC001, CheckCode::ISC002, CheckCode::ISC003], + CheckCodePrefix::ISC0 => vec![CheckCode::ISC001, CheckCode::ISC002, CheckCode::ISC003], + CheckCodePrefix::ISC00 => vec![CheckCode::ISC001, CheckCode::ISC002, CheckCode::ISC003], + CheckCodePrefix::ISC001 => vec![CheckCode::ISC001], + CheckCodePrefix::ISC002 => vec![CheckCode::ISC002], + CheckCodePrefix::ISC003 => vec![CheckCode::ISC003], + CheckCodePrefix::M => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`M` has been remapped to `RUF100`".bold() + ); + vec![CheckCode::RUF100] + } + CheckCodePrefix::M0 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`M0` has been remapped to `RUF100`".bold() + ); + vec![CheckCode::RUF100] + } + CheckCodePrefix::M001 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`M001` has been remapped to `RUF100`".bold() + ); + vec![CheckCode::RUF100] + } + CheckCodePrefix::N => vec![ + CheckCode::N801, + CheckCode::N802, + CheckCode::N803, + CheckCode::N804, + CheckCode::N805, + CheckCode::N806, + CheckCode::N807, + CheckCode::N811, + CheckCode::N812, + CheckCode::N813, + CheckCode::N814, + CheckCode::N815, + CheckCode::N816, + CheckCode::N817, + CheckCode::N818, + ], + CheckCodePrefix::N8 => vec![ + CheckCode::N801, + CheckCode::N802, + CheckCode::N803, + CheckCode::N804, + CheckCode::N805, + CheckCode::N806, + CheckCode::N807, + CheckCode::N811, + CheckCode::N812, + CheckCode::N813, + CheckCode::N814, + CheckCode::N815, + CheckCode::N816, + CheckCode::N817, + CheckCode::N818, + ], + CheckCodePrefix::N80 => vec![ + CheckCode::N801, + CheckCode::N802, + CheckCode::N803, + CheckCode::N804, + CheckCode::N805, + CheckCode::N806, + CheckCode::N807, + ], + CheckCodePrefix::N801 => vec![CheckCode::N801], + CheckCodePrefix::N802 => vec![CheckCode::N802], + CheckCodePrefix::N803 => vec![CheckCode::N803], + CheckCodePrefix::N804 => vec![CheckCode::N804], + CheckCodePrefix::N805 => vec![CheckCode::N805], + CheckCodePrefix::N806 => vec![CheckCode::N806], + CheckCodePrefix::N807 => vec![CheckCode::N807], + CheckCodePrefix::N81 => vec![ + CheckCode::N811, + CheckCode::N812, + CheckCode::N813, + CheckCode::N814, + CheckCode::N815, + CheckCode::N816, + CheckCode::N817, + CheckCode::N818, + ], + CheckCodePrefix::N811 => vec![CheckCode::N811], + CheckCodePrefix::N812 => vec![CheckCode::N812], + CheckCodePrefix::N813 => vec![CheckCode::N813], + CheckCodePrefix::N814 => vec![CheckCode::N814], + CheckCodePrefix::N815 => vec![CheckCode::N815], + CheckCodePrefix::N816 => vec![CheckCode::N816], + CheckCodePrefix::N817 => vec![CheckCode::N817], + CheckCodePrefix::N818 => vec![CheckCode::N818], + CheckCodePrefix::PD => vec![ + CheckCode::PD002, + CheckCode::PD003, + CheckCode::PD004, + CheckCode::PD007, + CheckCode::PD008, + CheckCode::PD009, + CheckCode::PD010, + CheckCode::PD011, + CheckCode::PD012, + CheckCode::PD013, + CheckCode::PD015, + CheckCode::PD901, + ], + CheckCodePrefix::PD0 => vec![ + CheckCode::PD002, + CheckCode::PD003, + CheckCode::PD004, + CheckCode::PD007, + CheckCode::PD008, + CheckCode::PD009, + CheckCode::PD010, + CheckCode::PD011, + CheckCode::PD012, + CheckCode::PD013, + CheckCode::PD015, + ], + CheckCodePrefix::PD00 => vec![ + CheckCode::PD002, + CheckCode::PD003, + CheckCode::PD004, + CheckCode::PD007, + CheckCode::PD008, + CheckCode::PD009, + ], + CheckCodePrefix::PD002 => vec![CheckCode::PD002], + CheckCodePrefix::PD003 => vec![CheckCode::PD003], + CheckCodePrefix::PD004 => vec![CheckCode::PD004], + CheckCodePrefix::PD007 => vec![CheckCode::PD007], + CheckCodePrefix::PD008 => vec![CheckCode::PD008], + CheckCodePrefix::PD009 => vec![CheckCode::PD009], + CheckCodePrefix::PD01 => vec![ + CheckCode::PD010, + CheckCode::PD011, + CheckCode::PD012, + CheckCode::PD013, + CheckCode::PD015, + ], + CheckCodePrefix::PD010 => vec![CheckCode::PD010], + CheckCodePrefix::PD011 => vec![CheckCode::PD011], + CheckCodePrefix::PD012 => vec![CheckCode::PD012], + CheckCodePrefix::PD013 => vec![CheckCode::PD013], + CheckCodePrefix::PD015 => vec![CheckCode::PD015], + CheckCodePrefix::PD9 => vec![CheckCode::PD901], + CheckCodePrefix::PD90 => vec![CheckCode::PD901], + CheckCodePrefix::PD901 => vec![CheckCode::PD901], + CheckCodePrefix::PDV => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV` has been remapped to `PD`".bold() + ); + vec![ + CheckCode::PD002, + CheckCode::PD003, + CheckCode::PD004, + CheckCode::PD007, + CheckCode::PD008, + CheckCode::PD009, + CheckCode::PD010, + CheckCode::PD011, + CheckCode::PD012, + CheckCode::PD013, + CheckCode::PD015, + CheckCode::PD901, + ] + } + CheckCodePrefix::PDV0 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV0` has been remapped to `PD0`".bold() + ); + vec![ + CheckCode::PD002, + CheckCode::PD003, + CheckCode::PD004, + CheckCode::PD007, + CheckCode::PD008, + CheckCode::PD009, + CheckCode::PD010, + CheckCode::PD011, + CheckCode::PD012, + CheckCode::PD013, + CheckCode::PD015, + ] + } + CheckCodePrefix::PDV002 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV002` has been remapped to `PD002`".bold() + ); + vec![CheckCode::PD002] + } + CheckCodePrefix::PDV003 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV003` has been remapped to `PD003`".bold() + ); + vec![CheckCode::PD003] + } + CheckCodePrefix::PDV004 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV004` has been remapped to `PD004`".bold() + ); + vec![CheckCode::PD004] + } + CheckCodePrefix::PDV007 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV007` has been remapped to `PD007`".bold() + ); + vec![CheckCode::PD007] + } + CheckCodePrefix::PDV008 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV008` has been remapped to `PD008`".bold() + ); + vec![CheckCode::PD008] + } + CheckCodePrefix::PDV009 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV009` has been remapped to `PD009`".bold() + ); + vec![CheckCode::PD009] + } + CheckCodePrefix::PDV01 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV01` has been remapped to `PD01`".bold() + ); + vec![ + CheckCode::PD010, + CheckCode::PD011, + CheckCode::PD012, + CheckCode::PD013, + CheckCode::PD015, + ] + } + CheckCodePrefix::PDV010 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV010` has been remapped to `PD010`".bold() + ); + vec![CheckCode::PD010] + } + CheckCodePrefix::PDV011 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV011` has been remapped to `PD011`".bold() + ); + vec![CheckCode::PD011] + } + CheckCodePrefix::PDV012 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV012` has been remapped to `PD012`".bold() + ); + vec![CheckCode::PD012] + } + CheckCodePrefix::PDV013 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV013` has been remapped to `PD013`".bold() + ); + vec![CheckCode::PD013] + } + CheckCodePrefix::PDV015 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV015` has been remapped to `PD015`".bold() + ); + vec![CheckCode::PD015] + } + CheckCodePrefix::PDV9 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV9` has been remapped to `PD9`".bold() + ); + vec![CheckCode::PD901] + } + CheckCodePrefix::PDV90 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV90` has been remapped to `PD90`".bold() + ); + vec![CheckCode::PD901] + } + CheckCodePrefix::PDV901 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`PDV901` has been remapped to `PD901`".bold() + ); + vec![CheckCode::PD901] + } + CheckCodePrefix::PGH => vec![ + CheckCode::PGH001, + CheckCode::PGH002, + CheckCode::PGH003, + CheckCode::PGH004, + ], + CheckCodePrefix::PGH0 => vec![ + CheckCode::PGH001, + CheckCode::PGH002, + CheckCode::PGH003, + CheckCode::PGH004, + ], + CheckCodePrefix::PGH00 => vec![ + CheckCode::PGH001, + CheckCode::PGH002, + CheckCode::PGH003, + CheckCode::PGH004, + ], + CheckCodePrefix::PGH001 => vec![CheckCode::PGH001], + CheckCodePrefix::PGH002 => vec![CheckCode::PGH002], + CheckCodePrefix::PGH003 => vec![CheckCode::PGH003], + CheckCodePrefix::PGH004 => vec![CheckCode::PGH004], + CheckCodePrefix::PLC => { + vec![CheckCode::PLC0414, CheckCode::PLC2201, CheckCode::PLC3002] + } + CheckCodePrefix::PLC0 => vec![CheckCode::PLC0414], + CheckCodePrefix::PLC04 => vec![CheckCode::PLC0414], + CheckCodePrefix::PLC041 => vec![CheckCode::PLC0414], + CheckCodePrefix::PLC0414 => vec![CheckCode::PLC0414], + CheckCodePrefix::PLC2 => vec![CheckCode::PLC2201], + CheckCodePrefix::PLC22 => vec![CheckCode::PLC2201], + CheckCodePrefix::PLC220 => vec![CheckCode::PLC2201], + CheckCodePrefix::PLC2201 => vec![CheckCode::PLC2201], + CheckCodePrefix::PLC3 => vec![CheckCode::PLC3002], + CheckCodePrefix::PLC30 => vec![CheckCode::PLC3002], + CheckCodePrefix::PLC300 => vec![CheckCode::PLC3002], + CheckCodePrefix::PLC3002 => vec![CheckCode::PLC3002], + CheckCodePrefix::PLE => { + vec![CheckCode::PLE0117, CheckCode::PLE0118, CheckCode::PLE1142] + } + CheckCodePrefix::PLE0 => vec![CheckCode::PLE0117, CheckCode::PLE0118], + CheckCodePrefix::PLE01 => vec![CheckCode::PLE0117, CheckCode::PLE0118], + CheckCodePrefix::PLE011 => vec![CheckCode::PLE0117, CheckCode::PLE0118], + CheckCodePrefix::PLE0117 => vec![CheckCode::PLE0117], + CheckCodePrefix::PLE0118 => vec![CheckCode::PLE0118], + CheckCodePrefix::PLE1 => vec![CheckCode::PLE1142], + CheckCodePrefix::PLE11 => vec![CheckCode::PLE1142], + CheckCodePrefix::PLE114 => vec![CheckCode::PLE1142], + CheckCodePrefix::PLE1142 => vec![CheckCode::PLE1142], + CheckCodePrefix::PLR => vec![ + CheckCode::PLR0206, + CheckCode::PLR0402, + CheckCode::PLR1701, + CheckCode::PLR1722, + ], + CheckCodePrefix::PLR0 => vec![CheckCode::PLR0206, CheckCode::PLR0402], + CheckCodePrefix::PLR02 => vec![CheckCode::PLR0206], + CheckCodePrefix::PLR020 => vec![CheckCode::PLR0206], + CheckCodePrefix::PLR0206 => vec![CheckCode::PLR0206], + CheckCodePrefix::PLR04 => vec![CheckCode::PLR0402], + CheckCodePrefix::PLR040 => vec![CheckCode::PLR0402], + CheckCodePrefix::PLR0402 => vec![CheckCode::PLR0402], + CheckCodePrefix::PLR1 => vec![CheckCode::PLR1701, CheckCode::PLR1722], + CheckCodePrefix::PLR17 => vec![CheckCode::PLR1701, CheckCode::PLR1722], + CheckCodePrefix::PLR170 => vec![CheckCode::PLR1701], + CheckCodePrefix::PLR1701 => vec![CheckCode::PLR1701], + CheckCodePrefix::PLR172 => vec![CheckCode::PLR1722], + CheckCodePrefix::PLR1722 => vec![CheckCode::PLR1722], + CheckCodePrefix::PLW => vec![CheckCode::PLW0120, CheckCode::PLW0602], + CheckCodePrefix::PLW0 => vec![CheckCode::PLW0120, CheckCode::PLW0602], + CheckCodePrefix::PLW01 => vec![CheckCode::PLW0120], + CheckCodePrefix::PLW012 => vec![CheckCode::PLW0120], + CheckCodePrefix::PLW0120 => vec![CheckCode::PLW0120], + CheckCodePrefix::PLW06 => vec![CheckCode::PLW0602], + CheckCodePrefix::PLW060 => vec![CheckCode::PLW0602], + CheckCodePrefix::PLW0602 => vec![CheckCode::PLW0602], + CheckCodePrefix::PT => vec![ + CheckCode::PT001, + CheckCode::PT002, + CheckCode::PT003, + CheckCode::PT004, + CheckCode::PT005, + CheckCode::PT006, + CheckCode::PT007, + CheckCode::PT008, + CheckCode::PT009, + CheckCode::PT010, + CheckCode::PT011, + CheckCode::PT012, + CheckCode::PT013, + CheckCode::PT015, + CheckCode::PT016, + CheckCode::PT017, + CheckCode::PT018, + CheckCode::PT019, + CheckCode::PT020, + CheckCode::PT021, + CheckCode::PT022, + CheckCode::PT023, + CheckCode::PT024, + CheckCode::PT025, + CheckCode::PT026, + ], + CheckCodePrefix::PT0 => vec![ + CheckCode::PT001, + CheckCode::PT002, + CheckCode::PT003, + CheckCode::PT004, + CheckCode::PT005, + CheckCode::PT006, + CheckCode::PT007, + CheckCode::PT008, + CheckCode::PT009, + CheckCode::PT010, + CheckCode::PT011, + CheckCode::PT012, + CheckCode::PT013, + CheckCode::PT015, + CheckCode::PT016, + CheckCode::PT017, + CheckCode::PT018, + CheckCode::PT019, + CheckCode::PT020, + CheckCode::PT021, + CheckCode::PT022, + CheckCode::PT023, + CheckCode::PT024, + CheckCode::PT025, + CheckCode::PT026, + ], + CheckCodePrefix::PT00 => vec![ + CheckCode::PT001, + CheckCode::PT002, + CheckCode::PT003, + CheckCode::PT004, + CheckCode::PT005, + CheckCode::PT006, + CheckCode::PT007, + CheckCode::PT008, + CheckCode::PT009, + ], + CheckCodePrefix::PT001 => vec![CheckCode::PT001], + CheckCodePrefix::PT002 => vec![CheckCode::PT002], + CheckCodePrefix::PT003 => vec![CheckCode::PT003], + CheckCodePrefix::PT004 => vec![CheckCode::PT004], + CheckCodePrefix::PT005 => vec![CheckCode::PT005], + CheckCodePrefix::PT006 => vec![CheckCode::PT006], + CheckCodePrefix::PT007 => vec![CheckCode::PT007], + CheckCodePrefix::PT008 => vec![CheckCode::PT008], + CheckCodePrefix::PT009 => vec![CheckCode::PT009], + CheckCodePrefix::PT01 => vec![ + CheckCode::PT010, + CheckCode::PT011, + CheckCode::PT012, + CheckCode::PT013, + CheckCode::PT015, + CheckCode::PT016, + CheckCode::PT017, + CheckCode::PT018, + CheckCode::PT019, + ], + CheckCodePrefix::PT010 => vec![CheckCode::PT010], + CheckCodePrefix::PT011 => vec![CheckCode::PT011], + CheckCodePrefix::PT012 => vec![CheckCode::PT012], + CheckCodePrefix::PT013 => vec![CheckCode::PT013], + CheckCodePrefix::PT015 => vec![CheckCode::PT015], + CheckCodePrefix::PT016 => vec![CheckCode::PT016], + CheckCodePrefix::PT017 => vec![CheckCode::PT017], + CheckCodePrefix::PT018 => vec![CheckCode::PT018], + CheckCodePrefix::PT019 => vec![CheckCode::PT019], + CheckCodePrefix::PT02 => vec![ + CheckCode::PT020, + CheckCode::PT021, + CheckCode::PT022, + CheckCode::PT023, + CheckCode::PT024, + CheckCode::PT025, + CheckCode::PT026, + ], + CheckCodePrefix::PT020 => vec![CheckCode::PT020], + CheckCodePrefix::PT021 => vec![CheckCode::PT021], + CheckCodePrefix::PT022 => vec![CheckCode::PT022], + CheckCodePrefix::PT023 => vec![CheckCode::PT023], + CheckCodePrefix::PT024 => vec![CheckCode::PT024], + CheckCodePrefix::PT025 => vec![CheckCode::PT025], + CheckCodePrefix::PT026 => vec![CheckCode::PT026], + CheckCodePrefix::Q => vec![ + CheckCode::Q000, + CheckCode::Q001, + CheckCode::Q002, + CheckCode::Q003, + ], + CheckCodePrefix::Q0 => vec![ + CheckCode::Q000, + CheckCode::Q001, + CheckCode::Q002, + CheckCode::Q003, + ], + CheckCodePrefix::Q00 => vec![ + CheckCode::Q000, + CheckCode::Q001, + CheckCode::Q002, + CheckCode::Q003, + ], + CheckCodePrefix::Q000 => vec![CheckCode::Q000], + CheckCodePrefix::Q001 => vec![CheckCode::Q001], + CheckCodePrefix::Q002 => vec![CheckCode::Q002], + CheckCodePrefix::Q003 => vec![CheckCode::Q003], + CheckCodePrefix::R => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R` has been remapped to `RET`".bold() + ); + vec![ + CheckCode::RET501, + CheckCode::RET502, + CheckCode::RET503, + CheckCode::RET504, + CheckCode::RET505, + CheckCode::RET506, + CheckCode::RET507, + CheckCode::RET508, + ] + } + CheckCodePrefix::R5 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R5` has been remapped to `RET5`".bold() + ); + vec![ + CheckCode::RET501, + CheckCode::RET502, + CheckCode::RET503, + CheckCode::RET504, + CheckCode::RET505, + CheckCode::RET506, + CheckCode::RET507, + CheckCode::RET508, + ] + } + CheckCodePrefix::R50 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R50` has been remapped to `RET50`".bold() + ); + vec![ + CheckCode::RET501, + CheckCode::RET502, + CheckCode::RET503, + CheckCode::RET504, + CheckCode::RET505, + CheckCode::RET506, + CheckCode::RET507, + CheckCode::RET508, + ] + } + CheckCodePrefix::R501 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R501` has been remapped to `RET501`".bold() + ); + vec![CheckCode::RET501] + } + CheckCodePrefix::R502 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R502` has been remapped to `RET502`".bold() + ); + vec![CheckCode::RET502] + } + CheckCodePrefix::R503 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R503` has been remapped to `RET503`".bold() + ); + vec![CheckCode::RET503] + } + CheckCodePrefix::R504 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R504` has been remapped to `RET504`".bold() + ); + vec![CheckCode::RET504] + } + CheckCodePrefix::R505 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R505` has been remapped to `RET505`".bold() + ); + vec![CheckCode::RET505] + } + CheckCodePrefix::R506 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R506` has been remapped to `RET506`".bold() + ); + vec![CheckCode::RET506] + } + CheckCodePrefix::R507 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R507` has been remapped to `RET507`".bold() + ); + vec![CheckCode::RET507] + } + CheckCodePrefix::R508 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`R508` has been remapped to `RET508`".bold() + ); + vec![CheckCode::RET508] + } + CheckCodePrefix::RET => vec![ + CheckCode::RET501, + CheckCode::RET502, + CheckCode::RET503, + CheckCode::RET504, + CheckCode::RET505, + CheckCode::RET506, + CheckCode::RET507, + CheckCode::RET508, + ], + CheckCodePrefix::RET5 => vec![ + CheckCode::RET501, + CheckCode::RET502, + CheckCode::RET503, + CheckCode::RET504, + CheckCode::RET505, + CheckCode::RET506, + CheckCode::RET507, + CheckCode::RET508, + ], + CheckCodePrefix::RET50 => vec![ + CheckCode::RET501, + CheckCode::RET502, + CheckCode::RET503, + CheckCode::RET504, + CheckCode::RET505, + CheckCode::RET506, + CheckCode::RET507, + CheckCode::RET508, + ], + CheckCodePrefix::RET501 => vec![CheckCode::RET501], + CheckCodePrefix::RET502 => vec![CheckCode::RET502], + CheckCodePrefix::RET503 => vec![CheckCode::RET503], + CheckCodePrefix::RET504 => vec![CheckCode::RET504], + CheckCodePrefix::RET505 => vec![CheckCode::RET505], + CheckCodePrefix::RET506 => vec![CheckCode::RET506], + CheckCodePrefix::RET507 => vec![CheckCode::RET507], + CheckCodePrefix::RET508 => vec![CheckCode::RET508], + CheckCodePrefix::RUF => vec![ + CheckCode::RUF001, + CheckCode::RUF002, + CheckCode::RUF003, + CheckCode::RUF004, + CheckCode::RUF100, + ], + CheckCodePrefix::RUF0 => vec![ + CheckCode::RUF001, + CheckCode::RUF002, + CheckCode::RUF003, + CheckCode::RUF004, + ], + CheckCodePrefix::RUF00 => vec![ + CheckCode::RUF001, + CheckCode::RUF002, + CheckCode::RUF003, + CheckCode::RUF004, + ], + CheckCodePrefix::RUF001 => vec![CheckCode::RUF001], + CheckCodePrefix::RUF002 => vec![CheckCode::RUF002], + CheckCodePrefix::RUF003 => vec![CheckCode::RUF003], + CheckCodePrefix::RUF004 => vec![CheckCode::RUF004], + CheckCodePrefix::RUF1 => vec![CheckCode::RUF100], + CheckCodePrefix::RUF10 => vec![CheckCode::RUF100], + CheckCodePrefix::RUF100 => vec![CheckCode::RUF100], + CheckCodePrefix::S => vec![ + CheckCode::S101, + CheckCode::S102, + CheckCode::S104, + CheckCode::S105, + CheckCode::S106, + CheckCode::S107, + ], + CheckCodePrefix::S1 => vec![ + CheckCode::S101, + CheckCode::S102, + CheckCode::S104, + CheckCode::S105, + CheckCode::S106, + CheckCode::S107, + ], + CheckCodePrefix::S10 => vec![ + CheckCode::S101, + CheckCode::S102, + CheckCode::S104, + CheckCode::S105, + CheckCode::S106, + CheckCode::S107, + ], + CheckCodePrefix::S101 => vec![CheckCode::S101], + CheckCodePrefix::S102 => vec![CheckCode::S102], + CheckCodePrefix::S104 => vec![CheckCode::S104], + CheckCodePrefix::S105 => vec![CheckCode::S105], + CheckCodePrefix::S106 => vec![CheckCode::S106], + CheckCodePrefix::S107 => vec![CheckCode::S107], + CheckCodePrefix::SIM => vec![CheckCode::SIM118, CheckCode::SIM300], + CheckCodePrefix::SIM1 => vec![CheckCode::SIM118], + CheckCodePrefix::SIM11 => vec![CheckCode::SIM118], + CheckCodePrefix::SIM118 => vec![CheckCode::SIM118], + CheckCodePrefix::SIM3 => vec![CheckCode::SIM300], + CheckCodePrefix::SIM30 => vec![CheckCode::SIM300], + CheckCodePrefix::SIM300 => vec![CheckCode::SIM300], + CheckCodePrefix::T => vec![CheckCode::T100, CheckCode::T201, CheckCode::T203], + CheckCodePrefix::T1 => vec![CheckCode::T100], + CheckCodePrefix::T10 => vec![CheckCode::T100], + CheckCodePrefix::T100 => vec![CheckCode::T100], + CheckCodePrefix::T2 => vec![CheckCode::T201, CheckCode::T203], + CheckCodePrefix::T20 => vec![CheckCode::T201, CheckCode::T203], + CheckCodePrefix::T201 => vec![CheckCode::T201], + CheckCodePrefix::T203 => vec![CheckCode::T203], + CheckCodePrefix::TID => vec![CheckCode::TID251, CheckCode::TID252], + CheckCodePrefix::TID2 => vec![CheckCode::TID251, CheckCode::TID252], + CheckCodePrefix::TID25 => vec![CheckCode::TID251, CheckCode::TID252], + CheckCodePrefix::TID251 => vec![CheckCode::TID251], + CheckCodePrefix::TID252 => vec![CheckCode::TID252], + CheckCodePrefix::U => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U` has been remapped to `UP`".bold() + ); + vec![ + CheckCode::UP001, + CheckCode::UP003, + CheckCode::UP004, + CheckCode::UP005, + CheckCode::UP006, + CheckCode::UP007, + CheckCode::UP008, + CheckCode::UP009, + CheckCode::UP010, + CheckCode::UP011, + CheckCode::UP012, + CheckCode::UP013, + CheckCode::UP014, + CheckCode::UP015, + CheckCode::UP016, + CheckCode::UP017, + CheckCode::UP018, + CheckCode::UP019, + CheckCode::UP020, + CheckCode::UP021, + CheckCode::UP022, + CheckCode::UP023, + CheckCode::UP024, + CheckCode::UP025, + CheckCode::UP026, + CheckCode::UP027, + ] + } + CheckCodePrefix::U0 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U0` has been remapped to `UP0`".bold() + ); + vec![ + CheckCode::UP001, + CheckCode::UP003, + CheckCode::UP004, + CheckCode::UP005, + CheckCode::UP006, + CheckCode::UP007, + CheckCode::UP008, + CheckCode::UP009, + CheckCode::UP010, + CheckCode::UP011, + CheckCode::UP012, + CheckCode::UP013, + CheckCode::UP014, + CheckCode::UP015, + CheckCode::UP016, + CheckCode::UP017, + CheckCode::UP018, + CheckCode::UP019, + CheckCode::UP020, + CheckCode::UP021, + CheckCode::UP022, + CheckCode::UP023, + CheckCode::UP024, + CheckCode::UP025, + CheckCode::UP026, + CheckCode::UP027, + ] + } + CheckCodePrefix::U00 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U00` has been remapped to `UP00`".bold() + ); + vec![ + CheckCode::UP001, + CheckCode::UP003, + CheckCode::UP004, + CheckCode::UP005, + CheckCode::UP006, + CheckCode::UP007, + CheckCode::UP008, + CheckCode::UP009, + ] + } + CheckCodePrefix::U001 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U001` has been remapped to `UP001`".bold() + ); + vec![CheckCode::UP001] + } + CheckCodePrefix::U003 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U003` has been remapped to `UP003`".bold() + ); + vec![CheckCode::UP003] + } + CheckCodePrefix::U004 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U004` has been remapped to `UP004`".bold() + ); + vec![CheckCode::UP004] + } + CheckCodePrefix::U005 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U005` has been remapped to `UP005`".bold() + ); + vec![CheckCode::UP005] + } + CheckCodePrefix::U006 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U006` has been remapped to `UP006`".bold() + ); + vec![CheckCode::UP006] + } + CheckCodePrefix::U007 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U007` has been remapped to `UP007`".bold() + ); + vec![CheckCode::UP007] + } + CheckCodePrefix::U008 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U008` has been remapped to `UP008`".bold() + ); + vec![CheckCode::UP008] + } + CheckCodePrefix::U009 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U009` has been remapped to `UP009`".bold() + ); + vec![CheckCode::UP009] + } + CheckCodePrefix::U01 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U01` has been remapped to `UP01`".bold() + ); + vec![ + CheckCode::UP010, + CheckCode::UP011, + CheckCode::UP012, + CheckCode::UP013, + CheckCode::UP014, + CheckCode::UP015, + CheckCode::UP016, + CheckCode::UP017, + CheckCode::UP018, + CheckCode::UP019, + ] + } + CheckCodePrefix::U010 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U010` has been remapped to `UP010`".bold() + ); + vec![CheckCode::UP010] + } + CheckCodePrefix::U011 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U011` has been remapped to `UP011`".bold() + ); + vec![CheckCode::UP011] + } + CheckCodePrefix::U012 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U012` has been remapped to `UP012`".bold() + ); + vec![CheckCode::UP012] + } + CheckCodePrefix::U013 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U013` has been remapped to `UP013`".bold() + ); + vec![CheckCode::UP013] + } + CheckCodePrefix::U014 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U014` has been remapped to `UP014`".bold() + ); + vec![CheckCode::UP014] + } + CheckCodePrefix::U015 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U015` has been remapped to `UP015`".bold() + ); + vec![CheckCode::UP015] + } + CheckCodePrefix::U016 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U016` has been remapped to `UP016`".bold() + ); + vec![CheckCode::UP016] + } + CheckCodePrefix::U017 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U017` has been remapped to `UP017`".bold() + ); + vec![CheckCode::UP017] + } + CheckCodePrefix::U019 => { + one_time_warning!( + "{}{} {}", + "warning".yellow().bold(), + ":".bold(), + "`U019` has been remapped to `UP019`".bold() + ); + vec![CheckCode::UP019] + } + CheckCodePrefix::UP => vec![ + CheckCode::UP001, + CheckCode::UP003, + CheckCode::UP004, + CheckCode::UP005, + CheckCode::UP006, + CheckCode::UP007, + CheckCode::UP008, + CheckCode::UP009, + CheckCode::UP010, + CheckCode::UP011, + CheckCode::UP012, + CheckCode::UP013, + CheckCode::UP014, + CheckCode::UP015, + CheckCode::UP016, + CheckCode::UP017, + CheckCode::UP018, + CheckCode::UP019, + CheckCode::UP020, + CheckCode::UP021, + CheckCode::UP022, + CheckCode::UP023, + CheckCode::UP024, + CheckCode::UP025, + CheckCode::UP026, + CheckCode::UP027, + ], + CheckCodePrefix::UP0 => vec![ + CheckCode::UP001, + CheckCode::UP003, + CheckCode::UP004, + CheckCode::UP005, + CheckCode::UP006, + CheckCode::UP007, + CheckCode::UP008, + CheckCode::UP009, + CheckCode::UP010, + CheckCode::UP011, + CheckCode::UP012, + CheckCode::UP013, + CheckCode::UP014, + CheckCode::UP015, + CheckCode::UP016, + CheckCode::UP017, + CheckCode::UP018, + CheckCode::UP019, + CheckCode::UP020, + CheckCode::UP021, + CheckCode::UP022, + CheckCode::UP023, + CheckCode::UP024, + CheckCode::UP025, + CheckCode::UP026, + CheckCode::UP027, + ], + CheckCodePrefix::UP00 => vec![ + CheckCode::UP001, + CheckCode::UP003, + CheckCode::UP004, + CheckCode::UP005, + CheckCode::UP006, + CheckCode::UP007, + CheckCode::UP008, + CheckCode::UP009, + ], + CheckCodePrefix::UP001 => vec![CheckCode::UP001], + CheckCodePrefix::UP003 => vec![CheckCode::UP003], + CheckCodePrefix::UP004 => vec![CheckCode::UP004], + CheckCodePrefix::UP005 => vec![CheckCode::UP005], + CheckCodePrefix::UP006 => vec![CheckCode::UP006], + CheckCodePrefix::UP007 => vec![CheckCode::UP007], + CheckCodePrefix::UP008 => vec![CheckCode::UP008], + CheckCodePrefix::UP009 => vec![CheckCode::UP009], + CheckCodePrefix::UP01 => vec![ + CheckCode::UP010, + CheckCode::UP011, + CheckCode::UP012, + CheckCode::UP013, + CheckCode::UP014, + CheckCode::UP015, + CheckCode::UP016, + CheckCode::UP017, + CheckCode::UP018, + CheckCode::UP019, + ], + CheckCodePrefix::UP010 => vec![CheckCode::UP010], + CheckCodePrefix::UP011 => vec![CheckCode::UP011], + CheckCodePrefix::UP012 => vec![CheckCode::UP012], + CheckCodePrefix::UP013 => vec![CheckCode::UP013], + CheckCodePrefix::UP014 => vec![CheckCode::UP014], + CheckCodePrefix::UP015 => vec![CheckCode::UP015], + CheckCodePrefix::UP016 => vec![CheckCode::UP016], + CheckCodePrefix::UP017 => vec![CheckCode::UP017], + CheckCodePrefix::UP018 => vec![CheckCode::UP018], + CheckCodePrefix::UP019 => vec![CheckCode::UP019], + CheckCodePrefix::UP02 => vec![ + CheckCode::UP020, + CheckCode::UP021, + CheckCode::UP022, + CheckCode::UP023, + CheckCode::UP024, + CheckCode::UP025, + CheckCode::UP026, + CheckCode::UP027, + ], + CheckCodePrefix::UP020 => vec![CheckCode::UP020], + CheckCodePrefix::UP021 => vec![CheckCode::UP021], + CheckCodePrefix::UP022 => vec![CheckCode::UP022], + CheckCodePrefix::UP023 => vec![CheckCode::UP023], + CheckCodePrefix::UP024 => vec![CheckCode::UP024], + CheckCodePrefix::UP025 => vec![CheckCode::UP025], + CheckCodePrefix::UP026 => vec![CheckCode::UP026], + CheckCodePrefix::UP027 => vec![CheckCode::UP027], + CheckCodePrefix::W => vec![CheckCode::W292, CheckCode::W605], + CheckCodePrefix::W2 => vec![CheckCode::W292], + CheckCodePrefix::W29 => vec![CheckCode::W292], + CheckCodePrefix::W292 => vec![CheckCode::W292], + CheckCodePrefix::W6 => vec![CheckCode::W605], + CheckCodePrefix::W60 => vec![CheckCode::W605], + CheckCodePrefix::W605 => vec![CheckCode::W605], + CheckCodePrefix::YTT => vec![ + CheckCode::YTT101, + CheckCode::YTT102, + CheckCode::YTT103, + CheckCode::YTT201, + CheckCode::YTT202, + CheckCode::YTT203, + CheckCode::YTT204, + CheckCode::YTT301, + CheckCode::YTT302, + CheckCode::YTT303, + ], + CheckCodePrefix::YTT1 => vec![CheckCode::YTT101, CheckCode::YTT102, CheckCode::YTT103], + CheckCodePrefix::YTT10 => vec![CheckCode::YTT101, CheckCode::YTT102, CheckCode::YTT103], + CheckCodePrefix::YTT101 => vec![CheckCode::YTT101], + CheckCodePrefix::YTT102 => vec![CheckCode::YTT102], + CheckCodePrefix::YTT103 => vec![CheckCode::YTT103], + CheckCodePrefix::YTT2 => vec![ + CheckCode::YTT201, + CheckCode::YTT202, + CheckCode::YTT203, + CheckCode::YTT204, + ], + CheckCodePrefix::YTT20 => vec![ + CheckCode::YTT201, + CheckCode::YTT202, + CheckCode::YTT203, + CheckCode::YTT204, + ], + CheckCodePrefix::YTT201 => vec![CheckCode::YTT201], + CheckCodePrefix::YTT202 => vec![CheckCode::YTT202], + CheckCodePrefix::YTT203 => vec![CheckCode::YTT203], + CheckCodePrefix::YTT204 => vec![CheckCode::YTT204], + CheckCodePrefix::YTT3 => vec![CheckCode::YTT301, CheckCode::YTT302, CheckCode::YTT303], + CheckCodePrefix::YTT30 => vec![CheckCode::YTT301, CheckCode::YTT302, CheckCode::YTT303], + CheckCodePrefix::YTT301 => vec![CheckCode::YTT301], + CheckCodePrefix::YTT302 => vec![CheckCode::YTT302], + CheckCodePrefix::YTT303 => vec![CheckCode::YTT303], + } + } +} + +impl CheckCodePrefix { + pub fn specificity(&self) -> SuffixLength { + #[allow(clippy::match_same_arms)] + match self { + CheckCodePrefix::A => SuffixLength::Zero, + CheckCodePrefix::A0 => SuffixLength::One, + CheckCodePrefix::A00 => SuffixLength::Two, + CheckCodePrefix::A001 => SuffixLength::Three, + CheckCodePrefix::A002 => SuffixLength::Three, + CheckCodePrefix::A003 => SuffixLength::Three, + CheckCodePrefix::ALL => SuffixLength::None, + CheckCodePrefix::ANN => SuffixLength::Zero, + CheckCodePrefix::ANN0 => SuffixLength::One, + CheckCodePrefix::ANN00 => SuffixLength::Two, + CheckCodePrefix::ANN001 => SuffixLength::Three, + CheckCodePrefix::ANN002 => SuffixLength::Three, + CheckCodePrefix::ANN003 => SuffixLength::Three, + CheckCodePrefix::ANN1 => SuffixLength::One, + CheckCodePrefix::ANN10 => SuffixLength::Two, + CheckCodePrefix::ANN101 => SuffixLength::Three, + CheckCodePrefix::ANN102 => SuffixLength::Three, + CheckCodePrefix::ANN2 => SuffixLength::One, + CheckCodePrefix::ANN20 => SuffixLength::Two, + CheckCodePrefix::ANN201 => SuffixLength::Three, + CheckCodePrefix::ANN202 => SuffixLength::Three, + CheckCodePrefix::ANN204 => SuffixLength::Three, + CheckCodePrefix::ANN205 => SuffixLength::Three, + CheckCodePrefix::ANN206 => SuffixLength::Three, + CheckCodePrefix::ANN4 => SuffixLength::One, + CheckCodePrefix::ANN40 => SuffixLength::Two, + CheckCodePrefix::ANN401 => SuffixLength::Three, + CheckCodePrefix::ARG => SuffixLength::Zero, + CheckCodePrefix::ARG0 => SuffixLength::One, + CheckCodePrefix::ARG00 => SuffixLength::Two, + CheckCodePrefix::ARG001 => SuffixLength::Three, + CheckCodePrefix::ARG002 => SuffixLength::Three, + CheckCodePrefix::ARG003 => SuffixLength::Three, + CheckCodePrefix::ARG004 => SuffixLength::Three, + CheckCodePrefix::ARG005 => SuffixLength::Three, + CheckCodePrefix::B => SuffixLength::Zero, + CheckCodePrefix::B0 => SuffixLength::One, + CheckCodePrefix::B00 => SuffixLength::Two, + CheckCodePrefix::B002 => SuffixLength::Three, + CheckCodePrefix::B003 => SuffixLength::Three, + CheckCodePrefix::B004 => SuffixLength::Three, + CheckCodePrefix::B005 => SuffixLength::Three, + CheckCodePrefix::B006 => SuffixLength::Three, + CheckCodePrefix::B007 => SuffixLength::Three, + CheckCodePrefix::B008 => SuffixLength::Three, + CheckCodePrefix::B009 => SuffixLength::Three, + CheckCodePrefix::B01 => SuffixLength::Two, + CheckCodePrefix::B010 => SuffixLength::Three, + CheckCodePrefix::B011 => SuffixLength::Three, + CheckCodePrefix::B012 => SuffixLength::Three, + CheckCodePrefix::B013 => SuffixLength::Three, + CheckCodePrefix::B014 => SuffixLength::Three, + CheckCodePrefix::B015 => SuffixLength::Three, + CheckCodePrefix::B016 => SuffixLength::Three, + CheckCodePrefix::B017 => SuffixLength::Three, + CheckCodePrefix::B018 => SuffixLength::Three, + CheckCodePrefix::B019 => SuffixLength::Three, + CheckCodePrefix::B02 => SuffixLength::Two, + CheckCodePrefix::B020 => SuffixLength::Three, + CheckCodePrefix::B021 => SuffixLength::Three, + CheckCodePrefix::B022 => SuffixLength::Three, + CheckCodePrefix::B023 => SuffixLength::Three, + CheckCodePrefix::B024 => SuffixLength::Three, + CheckCodePrefix::B025 => SuffixLength::Three, + CheckCodePrefix::B026 => SuffixLength::Three, + CheckCodePrefix::B027 => SuffixLength::Three, + CheckCodePrefix::B9 => SuffixLength::One, + CheckCodePrefix::B90 => SuffixLength::Two, + CheckCodePrefix::B904 => SuffixLength::Three, + CheckCodePrefix::B905 => SuffixLength::Three, + CheckCodePrefix::BLE => SuffixLength::Zero, + CheckCodePrefix::BLE0 => SuffixLength::One, + CheckCodePrefix::BLE00 => SuffixLength::Two, + CheckCodePrefix::BLE001 => SuffixLength::Three, + CheckCodePrefix::C => SuffixLength::Zero, + CheckCodePrefix::C4 => SuffixLength::One, + CheckCodePrefix::C40 => SuffixLength::Two, + CheckCodePrefix::C400 => SuffixLength::Three, + CheckCodePrefix::C401 => SuffixLength::Three, + CheckCodePrefix::C402 => SuffixLength::Three, + CheckCodePrefix::C403 => SuffixLength::Three, + CheckCodePrefix::C404 => SuffixLength::Three, + CheckCodePrefix::C405 => SuffixLength::Three, + CheckCodePrefix::C406 => SuffixLength::Three, + CheckCodePrefix::C408 => SuffixLength::Three, + CheckCodePrefix::C409 => SuffixLength::Three, + CheckCodePrefix::C41 => SuffixLength::Two, + CheckCodePrefix::C410 => SuffixLength::Three, + CheckCodePrefix::C411 => SuffixLength::Three, + CheckCodePrefix::C413 => SuffixLength::Three, + CheckCodePrefix::C414 => SuffixLength::Three, + CheckCodePrefix::C415 => SuffixLength::Three, + CheckCodePrefix::C416 => SuffixLength::Three, + CheckCodePrefix::C417 => SuffixLength::Three, + CheckCodePrefix::C9 => SuffixLength::One, + CheckCodePrefix::C90 => SuffixLength::Two, + CheckCodePrefix::C901 => SuffixLength::Three, + CheckCodePrefix::D => SuffixLength::Zero, + CheckCodePrefix::D1 => SuffixLength::One, + CheckCodePrefix::D10 => SuffixLength::Two, + CheckCodePrefix::D100 => SuffixLength::Three, + CheckCodePrefix::D101 => SuffixLength::Three, + CheckCodePrefix::D102 => SuffixLength::Three, + CheckCodePrefix::D103 => SuffixLength::Three, + CheckCodePrefix::D104 => SuffixLength::Three, + CheckCodePrefix::D105 => SuffixLength::Three, + CheckCodePrefix::D106 => SuffixLength::Three, + CheckCodePrefix::D107 => SuffixLength::Three, + CheckCodePrefix::D2 => SuffixLength::One, + CheckCodePrefix::D20 => SuffixLength::Two, + CheckCodePrefix::D200 => SuffixLength::Three, + CheckCodePrefix::D201 => SuffixLength::Three, + CheckCodePrefix::D202 => SuffixLength::Three, + CheckCodePrefix::D203 => SuffixLength::Three, + CheckCodePrefix::D204 => SuffixLength::Three, + CheckCodePrefix::D205 => SuffixLength::Three, + CheckCodePrefix::D206 => SuffixLength::Three, + CheckCodePrefix::D207 => SuffixLength::Three, + CheckCodePrefix::D208 => SuffixLength::Three, + CheckCodePrefix::D209 => SuffixLength::Three, + CheckCodePrefix::D21 => SuffixLength::Two, + CheckCodePrefix::D210 => SuffixLength::Three, + CheckCodePrefix::D211 => SuffixLength::Three, + CheckCodePrefix::D212 => SuffixLength::Three, + CheckCodePrefix::D213 => SuffixLength::Three, + CheckCodePrefix::D214 => SuffixLength::Three, + CheckCodePrefix::D215 => SuffixLength::Three, + CheckCodePrefix::D3 => SuffixLength::One, + CheckCodePrefix::D30 => SuffixLength::Two, + CheckCodePrefix::D300 => SuffixLength::Three, + CheckCodePrefix::D301 => SuffixLength::Three, + CheckCodePrefix::D4 => SuffixLength::One, + CheckCodePrefix::D40 => SuffixLength::Two, + CheckCodePrefix::D400 => SuffixLength::Three, + CheckCodePrefix::D402 => SuffixLength::Three, + CheckCodePrefix::D403 => SuffixLength::Three, + CheckCodePrefix::D404 => SuffixLength::Three, + CheckCodePrefix::D405 => SuffixLength::Three, + CheckCodePrefix::D406 => SuffixLength::Three, + CheckCodePrefix::D407 => SuffixLength::Three, + CheckCodePrefix::D408 => SuffixLength::Three, + CheckCodePrefix::D409 => SuffixLength::Three, + CheckCodePrefix::D41 => SuffixLength::Two, + CheckCodePrefix::D410 => SuffixLength::Three, + CheckCodePrefix::D411 => SuffixLength::Three, + CheckCodePrefix::D412 => SuffixLength::Three, + CheckCodePrefix::D413 => SuffixLength::Three, + CheckCodePrefix::D414 => SuffixLength::Three, + CheckCodePrefix::D415 => SuffixLength::Three, + CheckCodePrefix::D416 => SuffixLength::Three, + CheckCodePrefix::D417 => SuffixLength::Three, + CheckCodePrefix::D418 => SuffixLength::Three, + CheckCodePrefix::D419 => SuffixLength::Three, + CheckCodePrefix::DTZ => SuffixLength::Zero, + CheckCodePrefix::DTZ0 => SuffixLength::One, + CheckCodePrefix::DTZ00 => SuffixLength::Two, + CheckCodePrefix::DTZ001 => SuffixLength::Three, + CheckCodePrefix::DTZ002 => SuffixLength::Three, + CheckCodePrefix::DTZ003 => SuffixLength::Three, + CheckCodePrefix::DTZ004 => SuffixLength::Three, + CheckCodePrefix::DTZ005 => SuffixLength::Three, + CheckCodePrefix::DTZ006 => SuffixLength::Three, + CheckCodePrefix::DTZ007 => SuffixLength::Three, + CheckCodePrefix::DTZ01 => SuffixLength::Two, + CheckCodePrefix::DTZ011 => SuffixLength::Three, + CheckCodePrefix::DTZ012 => SuffixLength::Three, + CheckCodePrefix::E => SuffixLength::Zero, + CheckCodePrefix::E4 => SuffixLength::One, + CheckCodePrefix::E40 => SuffixLength::Two, + CheckCodePrefix::E401 => SuffixLength::Three, + CheckCodePrefix::E402 => SuffixLength::Three, + CheckCodePrefix::E5 => SuffixLength::One, + CheckCodePrefix::E50 => SuffixLength::Two, + CheckCodePrefix::E501 => SuffixLength::Three, + CheckCodePrefix::E7 => SuffixLength::One, + CheckCodePrefix::E71 => SuffixLength::Two, + CheckCodePrefix::E711 => SuffixLength::Three, + CheckCodePrefix::E712 => SuffixLength::Three, + CheckCodePrefix::E713 => SuffixLength::Three, + CheckCodePrefix::E714 => SuffixLength::Three, + CheckCodePrefix::E72 => SuffixLength::Two, + CheckCodePrefix::E721 => SuffixLength::Three, + CheckCodePrefix::E722 => SuffixLength::Three, + CheckCodePrefix::E73 => SuffixLength::Two, + CheckCodePrefix::E731 => SuffixLength::Three, + CheckCodePrefix::E74 => SuffixLength::Two, + CheckCodePrefix::E741 => SuffixLength::Three, + CheckCodePrefix::E742 => SuffixLength::Three, + CheckCodePrefix::E743 => SuffixLength::Three, + CheckCodePrefix::E9 => SuffixLength::One, + CheckCodePrefix::E90 => SuffixLength::Two, + CheckCodePrefix::E902 => SuffixLength::Three, + CheckCodePrefix::E99 => SuffixLength::Two, + CheckCodePrefix::E999 => SuffixLength::Three, + CheckCodePrefix::EM => SuffixLength::Zero, + CheckCodePrefix::EM1 => SuffixLength::One, + CheckCodePrefix::EM10 => SuffixLength::Two, + CheckCodePrefix::EM101 => SuffixLength::Three, + CheckCodePrefix::EM102 => SuffixLength::Three, + CheckCodePrefix::EM103 => SuffixLength::Three, + CheckCodePrefix::ERA => SuffixLength::Zero, + CheckCodePrefix::ERA0 => SuffixLength::One, + CheckCodePrefix::ERA00 => SuffixLength::Two, + CheckCodePrefix::ERA001 => SuffixLength::Three, + CheckCodePrefix::F => SuffixLength::Zero, + CheckCodePrefix::F4 => SuffixLength::One, + CheckCodePrefix::F40 => SuffixLength::Two, + CheckCodePrefix::F401 => SuffixLength::Three, + CheckCodePrefix::F402 => SuffixLength::Three, + CheckCodePrefix::F403 => SuffixLength::Three, + CheckCodePrefix::F404 => SuffixLength::Three, + CheckCodePrefix::F405 => SuffixLength::Three, + CheckCodePrefix::F406 => SuffixLength::Three, + CheckCodePrefix::F407 => SuffixLength::Three, + CheckCodePrefix::F5 => SuffixLength::One, + CheckCodePrefix::F50 => SuffixLength::Two, + CheckCodePrefix::F501 => SuffixLength::Three, + CheckCodePrefix::F502 => SuffixLength::Three, + CheckCodePrefix::F503 => SuffixLength::Three, + CheckCodePrefix::F504 => SuffixLength::Three, + CheckCodePrefix::F505 => SuffixLength::Three, + CheckCodePrefix::F506 => SuffixLength::Three, + CheckCodePrefix::F507 => SuffixLength::Three, + CheckCodePrefix::F508 => SuffixLength::Three, + CheckCodePrefix::F509 => SuffixLength::Three, + CheckCodePrefix::F52 => SuffixLength::Two, + CheckCodePrefix::F521 => SuffixLength::Three, + CheckCodePrefix::F522 => SuffixLength::Three, + CheckCodePrefix::F523 => SuffixLength::Three, + CheckCodePrefix::F524 => SuffixLength::Three, + CheckCodePrefix::F525 => SuffixLength::Three, + CheckCodePrefix::F54 => SuffixLength::Two, + CheckCodePrefix::F541 => SuffixLength::Three, + CheckCodePrefix::F6 => SuffixLength::One, + CheckCodePrefix::F60 => SuffixLength::Two, + CheckCodePrefix::F601 => SuffixLength::Three, + CheckCodePrefix::F602 => SuffixLength::Three, + CheckCodePrefix::F62 => SuffixLength::Two, + CheckCodePrefix::F621 => SuffixLength::Three, + CheckCodePrefix::F622 => SuffixLength::Three, + CheckCodePrefix::F63 => SuffixLength::Two, + CheckCodePrefix::F631 => SuffixLength::Three, + CheckCodePrefix::F632 => SuffixLength::Three, + CheckCodePrefix::F633 => SuffixLength::Three, + CheckCodePrefix::F634 => SuffixLength::Three, + CheckCodePrefix::F7 => SuffixLength::One, + CheckCodePrefix::F70 => SuffixLength::Two, + CheckCodePrefix::F701 => SuffixLength::Three, + CheckCodePrefix::F702 => SuffixLength::Three, + CheckCodePrefix::F704 => SuffixLength::Three, + CheckCodePrefix::F706 => SuffixLength::Three, + CheckCodePrefix::F707 => SuffixLength::Three, + CheckCodePrefix::F72 => SuffixLength::Two, + CheckCodePrefix::F722 => SuffixLength::Three, + CheckCodePrefix::F8 => SuffixLength::One, + CheckCodePrefix::F81 => SuffixLength::Two, + CheckCodePrefix::F811 => SuffixLength::Three, + CheckCodePrefix::F82 => SuffixLength::Two, + CheckCodePrefix::F821 => SuffixLength::Three, + CheckCodePrefix::F822 => SuffixLength::Three, + CheckCodePrefix::F823 => SuffixLength::Three, + CheckCodePrefix::F84 => SuffixLength::Two, + CheckCodePrefix::F841 => SuffixLength::Three, + CheckCodePrefix::F842 => SuffixLength::Three, + CheckCodePrefix::F9 => SuffixLength::One, + CheckCodePrefix::F90 => SuffixLength::Two, + CheckCodePrefix::F901 => SuffixLength::Three, + CheckCodePrefix::FBT => SuffixLength::Zero, + CheckCodePrefix::FBT0 => SuffixLength::One, + CheckCodePrefix::FBT00 => SuffixLength::Two, + CheckCodePrefix::FBT001 => SuffixLength::Three, + CheckCodePrefix::FBT002 => SuffixLength::Three, + CheckCodePrefix::FBT003 => SuffixLength::Three, + CheckCodePrefix::I => SuffixLength::Zero, + CheckCodePrefix::I0 => SuffixLength::One, + CheckCodePrefix::I00 => SuffixLength::Two, + CheckCodePrefix::I001 => SuffixLength::Three, + CheckCodePrefix::I2 => SuffixLength::One, + CheckCodePrefix::I25 => SuffixLength::Two, + CheckCodePrefix::I252 => SuffixLength::Three, + CheckCodePrefix::IC => SuffixLength::Zero, + CheckCodePrefix::IC0 => SuffixLength::One, + CheckCodePrefix::IC001 => SuffixLength::Three, + CheckCodePrefix::IC002 => SuffixLength::Three, + CheckCodePrefix::IC003 => SuffixLength::Three, + CheckCodePrefix::IC004 => SuffixLength::Three, + CheckCodePrefix::ICN => SuffixLength::Zero, + CheckCodePrefix::ICN0 => SuffixLength::One, + CheckCodePrefix::ICN00 => SuffixLength::Two, + CheckCodePrefix::ICN001 => SuffixLength::Three, + CheckCodePrefix::ISC => SuffixLength::Zero, + CheckCodePrefix::ISC0 => SuffixLength::One, + CheckCodePrefix::ISC00 => SuffixLength::Two, + CheckCodePrefix::ISC001 => SuffixLength::Three, + CheckCodePrefix::ISC002 => SuffixLength::Three, + CheckCodePrefix::ISC003 => SuffixLength::Three, + CheckCodePrefix::M => SuffixLength::Zero, + CheckCodePrefix::M0 => SuffixLength::One, + CheckCodePrefix::M001 => SuffixLength::Three, + CheckCodePrefix::N => SuffixLength::Zero, + CheckCodePrefix::N8 => SuffixLength::One, + CheckCodePrefix::N80 => SuffixLength::Two, + CheckCodePrefix::N801 => SuffixLength::Three, + CheckCodePrefix::N802 => SuffixLength::Three, + CheckCodePrefix::N803 => SuffixLength::Three, + CheckCodePrefix::N804 => SuffixLength::Three, + CheckCodePrefix::N805 => SuffixLength::Three, + CheckCodePrefix::N806 => SuffixLength::Three, + CheckCodePrefix::N807 => SuffixLength::Three, + CheckCodePrefix::N81 => SuffixLength::Two, + CheckCodePrefix::N811 => SuffixLength::Three, + CheckCodePrefix::N812 => SuffixLength::Three, + CheckCodePrefix::N813 => SuffixLength::Three, + CheckCodePrefix::N814 => SuffixLength::Three, + CheckCodePrefix::N815 => SuffixLength::Three, + CheckCodePrefix::N816 => SuffixLength::Three, + CheckCodePrefix::N817 => SuffixLength::Three, + CheckCodePrefix::N818 => SuffixLength::Three, + CheckCodePrefix::PD => SuffixLength::Zero, + CheckCodePrefix::PD0 => SuffixLength::One, + CheckCodePrefix::PD00 => SuffixLength::Two, + CheckCodePrefix::PD002 => SuffixLength::Three, + CheckCodePrefix::PD003 => SuffixLength::Three, + CheckCodePrefix::PD004 => SuffixLength::Three, + CheckCodePrefix::PD007 => SuffixLength::Three, + CheckCodePrefix::PD008 => SuffixLength::Three, + CheckCodePrefix::PD009 => SuffixLength::Three, + CheckCodePrefix::PD01 => SuffixLength::Two, + CheckCodePrefix::PD010 => SuffixLength::Three, + CheckCodePrefix::PD011 => SuffixLength::Three, + CheckCodePrefix::PD012 => SuffixLength::Three, + CheckCodePrefix::PD013 => SuffixLength::Three, + CheckCodePrefix::PD015 => SuffixLength::Three, + CheckCodePrefix::PD9 => SuffixLength::One, + CheckCodePrefix::PD90 => SuffixLength::Two, + CheckCodePrefix::PD901 => SuffixLength::Three, + CheckCodePrefix::PDV => SuffixLength::Zero, + CheckCodePrefix::PDV0 => SuffixLength::One, + CheckCodePrefix::PDV002 => SuffixLength::Three, + CheckCodePrefix::PDV003 => SuffixLength::Three, + CheckCodePrefix::PDV004 => SuffixLength::Three, + CheckCodePrefix::PDV007 => SuffixLength::Three, + CheckCodePrefix::PDV008 => SuffixLength::Three, + CheckCodePrefix::PDV009 => SuffixLength::Three, + CheckCodePrefix::PDV01 => SuffixLength::Two, + CheckCodePrefix::PDV010 => SuffixLength::Three, + CheckCodePrefix::PDV011 => SuffixLength::Three, + CheckCodePrefix::PDV012 => SuffixLength::Three, + CheckCodePrefix::PDV013 => SuffixLength::Three, + CheckCodePrefix::PDV015 => SuffixLength::Three, + CheckCodePrefix::PDV9 => SuffixLength::One, + CheckCodePrefix::PDV90 => SuffixLength::Two, + CheckCodePrefix::PDV901 => SuffixLength::Three, + CheckCodePrefix::PGH => SuffixLength::Zero, + CheckCodePrefix::PGH0 => SuffixLength::One, + CheckCodePrefix::PGH00 => SuffixLength::Two, + CheckCodePrefix::PGH001 => SuffixLength::Three, + CheckCodePrefix::PGH002 => SuffixLength::Three, + CheckCodePrefix::PGH003 => SuffixLength::Three, + CheckCodePrefix::PGH004 => SuffixLength::Three, + CheckCodePrefix::PLC => SuffixLength::Zero, + CheckCodePrefix::PLC0 => SuffixLength::One, + CheckCodePrefix::PLC04 => SuffixLength::Two, + CheckCodePrefix::PLC041 => SuffixLength::Three, + CheckCodePrefix::PLC0414 => SuffixLength::Four, + CheckCodePrefix::PLC2 => SuffixLength::One, + CheckCodePrefix::PLC22 => SuffixLength::Two, + CheckCodePrefix::PLC220 => SuffixLength::Three, + CheckCodePrefix::PLC2201 => SuffixLength::Four, + CheckCodePrefix::PLC3 => SuffixLength::One, + CheckCodePrefix::PLC30 => SuffixLength::Two, + CheckCodePrefix::PLC300 => SuffixLength::Three, + CheckCodePrefix::PLC3002 => SuffixLength::Four, + CheckCodePrefix::PLE => SuffixLength::Zero, + CheckCodePrefix::PLE0 => SuffixLength::One, + CheckCodePrefix::PLE01 => SuffixLength::Two, + CheckCodePrefix::PLE011 => SuffixLength::Three, + CheckCodePrefix::PLE0117 => SuffixLength::Four, + CheckCodePrefix::PLE0118 => SuffixLength::Four, + CheckCodePrefix::PLE1 => SuffixLength::One, + CheckCodePrefix::PLE11 => SuffixLength::Two, + CheckCodePrefix::PLE114 => SuffixLength::Three, + CheckCodePrefix::PLE1142 => SuffixLength::Four, + CheckCodePrefix::PLR => SuffixLength::Zero, + CheckCodePrefix::PLR0 => SuffixLength::One, + CheckCodePrefix::PLR02 => SuffixLength::Two, + CheckCodePrefix::PLR020 => SuffixLength::Three, + CheckCodePrefix::PLR0206 => SuffixLength::Four, + CheckCodePrefix::PLR04 => SuffixLength::Two, + CheckCodePrefix::PLR040 => SuffixLength::Three, + CheckCodePrefix::PLR0402 => SuffixLength::Four, + CheckCodePrefix::PLR1 => SuffixLength::One, + CheckCodePrefix::PLR17 => SuffixLength::Two, + CheckCodePrefix::PLR170 => SuffixLength::Three, + CheckCodePrefix::PLR1701 => SuffixLength::Four, + CheckCodePrefix::PLR172 => SuffixLength::Three, + CheckCodePrefix::PLR1722 => SuffixLength::Four, + CheckCodePrefix::PLW => SuffixLength::Zero, + CheckCodePrefix::PLW0 => SuffixLength::One, + CheckCodePrefix::PLW01 => SuffixLength::Two, + CheckCodePrefix::PLW012 => SuffixLength::Three, + CheckCodePrefix::PLW0120 => SuffixLength::Four, + CheckCodePrefix::PLW06 => SuffixLength::Two, + CheckCodePrefix::PLW060 => SuffixLength::Three, + CheckCodePrefix::PLW0602 => SuffixLength::Four, + CheckCodePrefix::PT => SuffixLength::Zero, + CheckCodePrefix::PT0 => SuffixLength::One, + CheckCodePrefix::PT00 => SuffixLength::Two, + CheckCodePrefix::PT001 => SuffixLength::Three, + CheckCodePrefix::PT002 => SuffixLength::Three, + CheckCodePrefix::PT003 => SuffixLength::Three, + CheckCodePrefix::PT004 => SuffixLength::Three, + CheckCodePrefix::PT005 => SuffixLength::Three, + CheckCodePrefix::PT006 => SuffixLength::Three, + CheckCodePrefix::PT007 => SuffixLength::Three, + CheckCodePrefix::PT008 => SuffixLength::Three, + CheckCodePrefix::PT009 => SuffixLength::Three, + CheckCodePrefix::PT01 => SuffixLength::Two, + CheckCodePrefix::PT010 => SuffixLength::Three, + CheckCodePrefix::PT011 => SuffixLength::Three, + CheckCodePrefix::PT012 => SuffixLength::Three, + CheckCodePrefix::PT013 => SuffixLength::Three, + CheckCodePrefix::PT015 => SuffixLength::Three, + CheckCodePrefix::PT016 => SuffixLength::Three, + CheckCodePrefix::PT017 => SuffixLength::Three, + CheckCodePrefix::PT018 => SuffixLength::Three, + CheckCodePrefix::PT019 => SuffixLength::Three, + CheckCodePrefix::PT02 => SuffixLength::Two, + CheckCodePrefix::PT020 => SuffixLength::Three, + CheckCodePrefix::PT021 => SuffixLength::Three, + CheckCodePrefix::PT022 => SuffixLength::Three, + CheckCodePrefix::PT023 => SuffixLength::Three, + CheckCodePrefix::PT024 => SuffixLength::Three, + CheckCodePrefix::PT025 => SuffixLength::Three, + CheckCodePrefix::PT026 => SuffixLength::Three, + CheckCodePrefix::Q => SuffixLength::Zero, + CheckCodePrefix::Q0 => SuffixLength::One, + CheckCodePrefix::Q00 => SuffixLength::Two, + CheckCodePrefix::Q000 => SuffixLength::Three, + CheckCodePrefix::Q001 => SuffixLength::Three, + CheckCodePrefix::Q002 => SuffixLength::Three, + CheckCodePrefix::Q003 => SuffixLength::Three, + CheckCodePrefix::R => SuffixLength::Zero, + CheckCodePrefix::R5 => SuffixLength::One, + CheckCodePrefix::R50 => SuffixLength::Two, + CheckCodePrefix::R501 => SuffixLength::Three, + CheckCodePrefix::R502 => SuffixLength::Three, + CheckCodePrefix::R503 => SuffixLength::Three, + CheckCodePrefix::R504 => SuffixLength::Three, + CheckCodePrefix::R505 => SuffixLength::Three, + CheckCodePrefix::R506 => SuffixLength::Three, + CheckCodePrefix::R507 => SuffixLength::Three, + CheckCodePrefix::R508 => SuffixLength::Three, + CheckCodePrefix::RET => SuffixLength::Zero, + CheckCodePrefix::RET5 => SuffixLength::One, + CheckCodePrefix::RET50 => SuffixLength::Two, + CheckCodePrefix::RET501 => SuffixLength::Three, + CheckCodePrefix::RET502 => SuffixLength::Three, + CheckCodePrefix::RET503 => SuffixLength::Three, + CheckCodePrefix::RET504 => SuffixLength::Three, + CheckCodePrefix::RET505 => SuffixLength::Three, + CheckCodePrefix::RET506 => SuffixLength::Three, + CheckCodePrefix::RET507 => SuffixLength::Three, + CheckCodePrefix::RET508 => SuffixLength::Three, + CheckCodePrefix::RUF => SuffixLength::Zero, + CheckCodePrefix::RUF0 => SuffixLength::One, + CheckCodePrefix::RUF00 => SuffixLength::Two, + CheckCodePrefix::RUF001 => SuffixLength::Three, + CheckCodePrefix::RUF002 => SuffixLength::Three, + CheckCodePrefix::RUF003 => SuffixLength::Three, + CheckCodePrefix::RUF004 => SuffixLength::Three, + CheckCodePrefix::RUF1 => SuffixLength::One, + CheckCodePrefix::RUF10 => SuffixLength::Two, + CheckCodePrefix::RUF100 => SuffixLength::Three, + CheckCodePrefix::S => SuffixLength::Zero, + CheckCodePrefix::S1 => SuffixLength::One, + CheckCodePrefix::S10 => SuffixLength::Two, + CheckCodePrefix::S101 => SuffixLength::Three, + CheckCodePrefix::S102 => SuffixLength::Three, + CheckCodePrefix::S104 => SuffixLength::Three, + CheckCodePrefix::S105 => SuffixLength::Three, + CheckCodePrefix::S106 => SuffixLength::Three, + CheckCodePrefix::S107 => SuffixLength::Three, + CheckCodePrefix::SIM => SuffixLength::Zero, + CheckCodePrefix::SIM1 => SuffixLength::One, + CheckCodePrefix::SIM11 => SuffixLength::Two, + CheckCodePrefix::SIM118 => SuffixLength::Three, + CheckCodePrefix::SIM3 => SuffixLength::One, + CheckCodePrefix::SIM30 => SuffixLength::Two, + CheckCodePrefix::SIM300 => SuffixLength::Three, + CheckCodePrefix::T => SuffixLength::Zero, + CheckCodePrefix::T1 => SuffixLength::One, + CheckCodePrefix::T10 => SuffixLength::Two, + CheckCodePrefix::T100 => SuffixLength::Three, + CheckCodePrefix::T2 => SuffixLength::One, + CheckCodePrefix::T20 => SuffixLength::Two, + CheckCodePrefix::T201 => SuffixLength::Three, + CheckCodePrefix::T203 => SuffixLength::Three, + CheckCodePrefix::TID => SuffixLength::Zero, + CheckCodePrefix::TID2 => SuffixLength::One, + CheckCodePrefix::TID25 => SuffixLength::Two, + CheckCodePrefix::TID251 => SuffixLength::Three, + CheckCodePrefix::TID252 => SuffixLength::Three, + CheckCodePrefix::U => SuffixLength::Zero, + CheckCodePrefix::U0 => SuffixLength::One, + CheckCodePrefix::U00 => SuffixLength::Two, + CheckCodePrefix::U001 => SuffixLength::Three, + CheckCodePrefix::U003 => SuffixLength::Three, + CheckCodePrefix::U004 => SuffixLength::Three, + CheckCodePrefix::U005 => SuffixLength::Three, + CheckCodePrefix::U006 => SuffixLength::Three, + CheckCodePrefix::U007 => SuffixLength::Three, + CheckCodePrefix::U008 => SuffixLength::Three, + CheckCodePrefix::U009 => SuffixLength::Three, + CheckCodePrefix::U01 => SuffixLength::Two, + CheckCodePrefix::U010 => SuffixLength::Three, + CheckCodePrefix::U011 => SuffixLength::Three, + CheckCodePrefix::U012 => SuffixLength::Three, + CheckCodePrefix::U013 => SuffixLength::Three, + CheckCodePrefix::U014 => SuffixLength::Three, + CheckCodePrefix::U015 => SuffixLength::Three, + CheckCodePrefix::U016 => SuffixLength::Three, + CheckCodePrefix::U017 => SuffixLength::Three, + CheckCodePrefix::U019 => SuffixLength::Three, + CheckCodePrefix::UP => SuffixLength::Zero, + CheckCodePrefix::UP0 => SuffixLength::One, + CheckCodePrefix::UP00 => SuffixLength::Two, + CheckCodePrefix::UP001 => SuffixLength::Three, + CheckCodePrefix::UP003 => SuffixLength::Three, + CheckCodePrefix::UP004 => SuffixLength::Three, + CheckCodePrefix::UP005 => SuffixLength::Three, + CheckCodePrefix::UP006 => SuffixLength::Three, + CheckCodePrefix::UP007 => SuffixLength::Three, + CheckCodePrefix::UP008 => SuffixLength::Three, + CheckCodePrefix::UP009 => SuffixLength::Three, + CheckCodePrefix::UP01 => SuffixLength::Two, + CheckCodePrefix::UP010 => SuffixLength::Three, + CheckCodePrefix::UP011 => SuffixLength::Three, + CheckCodePrefix::UP012 => SuffixLength::Three, + CheckCodePrefix::UP013 => SuffixLength::Three, + CheckCodePrefix::UP014 => SuffixLength::Three, + CheckCodePrefix::UP015 => SuffixLength::Three, + CheckCodePrefix::UP016 => SuffixLength::Three, + CheckCodePrefix::UP017 => SuffixLength::Three, + CheckCodePrefix::UP018 => SuffixLength::Three, + CheckCodePrefix::UP019 => SuffixLength::Three, + CheckCodePrefix::UP02 => SuffixLength::Two, + CheckCodePrefix::UP020 => SuffixLength::Three, + CheckCodePrefix::UP021 => SuffixLength::Three, + CheckCodePrefix::UP022 => SuffixLength::Three, + CheckCodePrefix::UP023 => SuffixLength::Three, + CheckCodePrefix::UP024 => SuffixLength::Three, + CheckCodePrefix::UP025 => SuffixLength::Three, + CheckCodePrefix::UP026 => SuffixLength::Three, + CheckCodePrefix::UP027 => SuffixLength::Three, + CheckCodePrefix::W => SuffixLength::Zero, + CheckCodePrefix::W2 => SuffixLength::One, + CheckCodePrefix::W29 => SuffixLength::Two, + CheckCodePrefix::W292 => SuffixLength::Three, + CheckCodePrefix::W6 => SuffixLength::One, + CheckCodePrefix::W60 => SuffixLength::Two, + CheckCodePrefix::W605 => SuffixLength::Three, + CheckCodePrefix::YTT => SuffixLength::Zero, + CheckCodePrefix::YTT1 => SuffixLength::One, + CheckCodePrefix::YTT10 => SuffixLength::Two, + CheckCodePrefix::YTT101 => SuffixLength::Three, + CheckCodePrefix::YTT102 => SuffixLength::Three, + CheckCodePrefix::YTT103 => SuffixLength::Three, + CheckCodePrefix::YTT2 => SuffixLength::One, + CheckCodePrefix::YTT20 => SuffixLength::Two, + CheckCodePrefix::YTT201 => SuffixLength::Three, + CheckCodePrefix::YTT202 => SuffixLength::Three, + CheckCodePrefix::YTT203 => SuffixLength::Three, + CheckCodePrefix::YTT204 => SuffixLength::Three, + CheckCodePrefix::YTT3 => SuffixLength::One, + CheckCodePrefix::YTT30 => SuffixLength::Two, + CheckCodePrefix::YTT301 => SuffixLength::Three, + CheckCodePrefix::YTT302 => SuffixLength::Three, + CheckCodePrefix::YTT303 => SuffixLength::Three, + } + } +} + +pub const CATEGORIES: &[CheckCodePrefix] = &[ + CheckCodePrefix::A, + CheckCodePrefix::ALL, + CheckCodePrefix::ANN, + CheckCodePrefix::ARG, + CheckCodePrefix::B, + CheckCodePrefix::BLE, + CheckCodePrefix::C, + CheckCodePrefix::D, + CheckCodePrefix::DTZ, + CheckCodePrefix::E, + CheckCodePrefix::EM, + CheckCodePrefix::ERA, + CheckCodePrefix::F, + CheckCodePrefix::FBT, + CheckCodePrefix::I, + CheckCodePrefix::ICN, + CheckCodePrefix::ISC, + CheckCodePrefix::N, + CheckCodePrefix::PD, + CheckCodePrefix::PGH, + CheckCodePrefix::PLC, + CheckCodePrefix::PLE, + CheckCodePrefix::PLR, + CheckCodePrefix::PLW, + CheckCodePrefix::PT, + CheckCodePrefix::Q, + CheckCodePrefix::RET, + CheckCodePrefix::RUF, + CheckCodePrefix::S, + CheckCodePrefix::SIM, + CheckCodePrefix::T, + CheckCodePrefix::TID, + CheckCodePrefix::UP, + CheckCodePrefix::W, + CheckCodePrefix::YTT, +]; diff --git a/src/ruff/checks.rs b/src/ruff/checks.rs index a1ce73f16f..4df462a26b 100644 --- a/src/ruff/checks.rs +++ b/src/ruff/checks.rs @@ -4,7 +4,7 @@ use rustpython_ast::{Expr, ExprKind, Keyword, KeywordData, Location}; use crate::ast::types::Range; use crate::autofix::Fix; -use crate::checks::CheckKind; +use crate::registry::CheckKind; use crate::settings::flags; use crate::source_code_locator::SourceCodeLocator; use crate::{Check, Settings}; diff --git a/src/ruff/mod.rs b/src/ruff/mod.rs index 78079c8d5a..633ccc7196 100644 --- a/src/ruff/mod.rs +++ b/src/ruff/mod.rs @@ -10,8 +10,8 @@ mod tests { use rustc_hash::FxHashSet; use test_case::test_case; - use crate::checks::CheckCode; use crate::linter::test_path; + use crate::registry::CheckCode; use crate::settings; #[test_case(CheckCode::RUF004, Path::new("RUF004.py"); "RUF004")] fn checks(check_code: CheckCode, path: &Path) -> Result<()> { diff --git a/src/settings/configuration.rs b/src/settings/configuration.rs index a61cc272ce..370d813113 100644 --- a/src/settings/configuration.rs +++ b/src/settings/configuration.rs @@ -12,8 +12,8 @@ use regex::Regex; use shellexpand; use shellexpand::LookupError; -use crate::checks_gen::CheckCodePrefix; use crate::cli::{collect_per_file_ignores, Overrides}; +use crate::registry_gen::CheckCodePrefix; use crate::settings::options::Options; use crate::settings::pyproject::load_options; use crate::settings::types::{ diff --git a/src/settings/mod.rs b/src/settings/mod.rs index 8374d1a704..6f0fc1767e 100644 --- a/src/settings/mod.rs +++ b/src/settings/mod.rs @@ -14,8 +14,8 @@ use regex::Regex; use rustc_hash::FxHashSet; use crate::cache::cache_dir; -use crate::checks::CheckCode; -use crate::checks_gen::{CheckCodePrefix, SuffixLength, CATEGORIES}; +use crate::registry::CheckCode; +use crate::registry_gen::{CheckCodePrefix, SuffixLength, CATEGORIES}; use crate::settings::configuration::Configuration; use crate::settings::types::{ FilePattern, PerFileIgnore, PythonVersion, SerializationFormat, Version, @@ -416,8 +416,8 @@ fn resolve_codes<'a>(specs: impl Iterator>) -> FxHashSe mod tests { use rustc_hash::FxHashSet; - use crate::checks::CheckCode; - use crate::checks_gen::CheckCodePrefix; + use crate::registry::CheckCode; + use crate::registry_gen::CheckCodePrefix; use crate::settings::{resolve_codes, CheckCodeSpec}; #[test] diff --git a/src/settings/options.rs b/src/settings/options.rs index 030333cd20..8d23c6e028 100644 --- a/src/settings/options.rs +++ b/src/settings/options.rs @@ -5,7 +5,7 @@ use rustc_hash::FxHashMap; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use crate::checks_gen::CheckCodePrefix; +use crate::registry_gen::CheckCodePrefix; use crate::settings::types::{PythonVersion, SerializationFormat, Version}; use crate::{ flake8_annotations, flake8_bugbear, flake8_errmsg, flake8_import_conventions, diff --git a/src/settings/pyproject.rs b/src/settings/pyproject.rs index 83469ac830..8c02c31248 100644 --- a/src/settings/pyproject.rs +++ b/src/settings/pyproject.rs @@ -129,9 +129,9 @@ mod tests { use anyhow::Result; use rustc_hash::FxHashMap; - use crate::checks_gen::CheckCodePrefix; use crate::flake8_quotes::settings::Quote; use crate::flake8_tidy_imports::settings::{BannedApi, Strictness}; + use crate::registry_gen::CheckCodePrefix; use crate::settings::pyproject::{ find_settings_toml, parse_pyproject_toml, Options, Pyproject, Tools, }; diff --git a/src/settings/types.rs b/src/settings/types.rs index 9b76981dd2..938cb482cb 100644 --- a/src/settings/types.rs +++ b/src/settings/types.rs @@ -11,9 +11,9 @@ use rustc_hash::FxHashSet; use schemars::JsonSchema; use serde::{de, Deserialize, Deserializer, Serialize}; -use crate::checks::CheckCode; -use crate::checks_gen::CheckCodePrefix; use crate::fs; +use crate::registry::CheckCode; +use crate::registry_gen::CheckCodePrefix; #[derive( Clone, Copy, Debug, PartialOrd, Ord, PartialEq, Eq, Serialize, Deserialize, Hash, JsonSchema, diff --git a/tests/black_compatibility_test.rs b/tests/black_compatibility_test.rs index 84e9db1fca..ec3893223a 100644 --- a/tests/black_compatibility_test.rs +++ b/tests/black_compatibility_test.rs @@ -12,8 +12,8 @@ use anyhow::{anyhow, Context, Result}; use assert_cmd::{crate_name, Command}; use itertools::Itertools; use log::info; -use ruff::checks::CheckCategory; use ruff::logging::{set_up_logging, LogLevel}; +use ruff::registry::CheckCategory; use strum::IntoEnumIterator; use walkdir::WalkDir;