mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-03 15:15:33 +00:00
Rename checks.rs to registry.rs (#1566)
This commit is contained in:
parent
14042800c2
commit
8647bec3cb
173 changed files with 3847 additions and 193 deletions
4
.github/workflows/ci.yaml
vendored
4
.github/workflows/ci.yaml
vendored
|
@ -38,9 +38,9 @@ jobs:
|
||||||
- run: cargo build --all --release
|
- run: cargo build --all --release
|
||||||
- run: ./target/release/ruff_dev generate-all
|
- 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 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 --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:
|
cargo-fmt:
|
||||||
name: "cargo fmt"
|
name: "cargo fmt"
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
use std::collections::{BTreeSet, HashMap};
|
use std::collections::{BTreeSet, HashMap};
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use ruff::checks_gen::CheckCodePrefix;
|
|
||||||
use ruff::flake8_pytest_style::types::{
|
use ruff::flake8_pytest_style::types::{
|
||||||
ParametrizeNameType, ParametrizeValuesRowType, ParametrizeValuesType,
|
ParametrizeNameType, ParametrizeValuesRowType, ParametrizeValuesType,
|
||||||
};
|
};
|
||||||
use ruff::flake8_quotes::settings::Quote;
|
use ruff::flake8_quotes::settings::Quote;
|
||||||
use ruff::flake8_tidy_imports::settings::Strictness;
|
use ruff::flake8_tidy_imports::settings::Strictness;
|
||||||
use ruff::pydocstyle::settings::Convention;
|
use ruff::pydocstyle::settings::Convention;
|
||||||
|
use ruff::registry_gen::CheckCodePrefix;
|
||||||
use ruff::settings::options::Options;
|
use ruff::settings::options::Options;
|
||||||
use ruff::settings::pyproject::Pyproject;
|
use ruff::settings::pyproject::Pyproject;
|
||||||
use ruff::{
|
use ruff::{
|
||||||
|
@ -345,8 +345,8 @@ mod tests {
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use ruff::checks_gen::CheckCodePrefix;
|
|
||||||
use ruff::pydocstyle::settings::Convention;
|
use ruff::pydocstyle::settings::Convention;
|
||||||
|
use ruff::registry_gen::CheckCodePrefix;
|
||||||
use ruff::settings::options::Options;
|
use ruff::settings::options::Options;
|
||||||
use ruff::settings::pyproject::Pyproject;
|
use ruff::settings::pyproject::Pyproject;
|
||||||
use ruff::{flake8_quotes, pydocstyle};
|
use ruff::{flake8_quotes, pydocstyle};
|
||||||
|
|
|
@ -3,8 +3,8 @@ use std::str::FromStr;
|
||||||
use anyhow::{bail, Result};
|
use anyhow::{bail, Result};
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use ruff::checks::PREFIX_REDIRECTS;
|
use ruff::registry::PREFIX_REDIRECTS;
|
||||||
use ruff::checks_gen::CheckCodePrefix;
|
use ruff::registry_gen::CheckCodePrefix;
|
||||||
use ruff::settings::types::PatternPrefixPair;
|
use ruff::settings::types::PatternPrefixPair;
|
||||||
use rustc_hash::FxHashMap;
|
use rustc_hash::FxHashMap;
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ pub fn collect_per_file_ignores(
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use ruff::checks_gen::CheckCodePrefix;
|
use ruff::registry_gen::CheckCodePrefix;
|
||||||
use ruff::settings::types::PatternPrefixPair;
|
use ruff::settings::types::PatternPrefixPair;
|
||||||
|
|
||||||
use crate::parser::{parse_files_to_codes_mapping, parse_prefix_codes, parse_strings};
|
use crate::parser::{parse_files_to_codes_mapping, parse_prefix_codes, parse_strings};
|
||||||
|
|
|
@ -3,7 +3,7 @@ use std::fmt;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
|
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use ruff::checks_gen::CheckCodePrefix;
|
use ruff::registry_gen::CheckCodePrefix;
|
||||||
|
|
||||||
#[derive(Clone, Ord, PartialOrd, Eq, PartialEq)]
|
#[derive(Clone, Ord, PartialOrd, Eq, PartialEq)]
|
||||||
pub enum Plugin {
|
pub enum Plugin {
|
||||||
|
|
|
@ -5,8 +5,8 @@ use schemars::JsonSchema;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use strum_macros::{AsRefStr, EnumString};
|
use strum_macros::{AsRefStr, EnumString};
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::one_time_warning;
|
use crate::one_time_warning;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
|
|
||||||
#[derive(
|
#[derive(
|
||||||
EnumString,
|
EnumString,
|
|
@ -10,7 +10,7 @@ use anyhow::{ensure, Result};
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use codegen::{Scope, Type, Variant};
|
use codegen::{Scope, Type, Variant};
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use ruff::checks::{CheckCode, PREFIX_REDIRECTS};
|
use ruff::registry::{CheckCode, PREFIX_REDIRECTS};
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
const ALL: &str = "ALL";
|
const ALL: &str = "ALL";
|
||||||
|
@ -19,7 +19,7 @@ const ALL: &str = "ALL";
|
||||||
#[command(author, version, about, long_about = None)]
|
#[command(author, version, about, long_about = None)]
|
||||||
pub struct Cli {
|
pub struct Cli {
|
||||||
/// Write the generated source code to stdout (rather than to
|
/// Write the generated source code to stdout (rather than to
|
||||||
/// `src/checks_gen.rs`).
|
/// `src/registry_gen.rs`).
|
||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
pub(crate) dry_run: bool,
|
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_str("use strum_macros::{AsRefStr, EnumString};");
|
||||||
output.push('\n');
|
output.push('\n');
|
||||||
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('\n');
|
||||||
output.push_str("use crate::one_time_warning;");
|
output.push_str("use crate::one_time_warning;");
|
||||||
output.push('\n');
|
output.push('\n');
|
||||||
|
@ -204,14 +204,14 @@ pub fn main(cli: &Cli) -> Result<()> {
|
||||||
let Output { status, stdout, .. } = rustfmt.wait_with_output()?;
|
let Output { status, stdout, .. } = rustfmt.wait_with_output()?;
|
||||||
ensure!(status.success(), "rustfmt failed with {status}");
|
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 {
|
if cli.dry_run {
|
||||||
println!("{}", String::from_utf8(stdout)?);
|
println!("{}", String::from_utf8(stdout)?);
|
||||||
} else {
|
} else {
|
||||||
let file = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
|
let file = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
|
||||||
.parent()
|
.parent()
|
||||||
.expect("Failed to find root directory")
|
.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) {
|
if fs::read(&file).map_or(true, |old| old != stdout) {
|
||||||
fs::write(&file, stdout)?;
|
fs::write(&file, stdout)?;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::Args;
|
use clap::Args;
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use ruff::checks::{CheckCategory, CheckCode};
|
use ruff::registry::{CheckCategory, CheckCode};
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::utils::replace_readme_section;
|
use crate::utils::replace_readme_section;
|
||||||
|
|
|
@ -7,7 +7,7 @@ use rustpython_parser::ast::Location;
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checks::Check;
|
use crate::registry::Check;
|
||||||
use crate::source_code_locator::SourceCodeLocator;
|
use crate::source_code_locator::SourceCodeLocator;
|
||||||
|
|
||||||
#[derive(Debug, Copy, Clone, Hash)]
|
#[derive(Debug, Copy, Clone, Hash)]
|
||||||
|
|
|
@ -23,13 +23,13 @@ use crate::ast::types::{
|
||||||
};
|
};
|
||||||
use crate::ast::visitor::{walk_excepthandler, Visitor};
|
use crate::ast::visitor::{walk_excepthandler, Visitor};
|
||||||
use crate::ast::{branch_detection, cast, helpers, operations, 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::docstrings::definition::{Definition, DefinitionKind, Docstring, Documentable};
|
||||||
use crate::noqa::Directive;
|
use crate::noqa::Directive;
|
||||||
use crate::python::builtins::{BUILTINS, MAGIC_GLOBALS};
|
use crate::python::builtins::{BUILTINS, MAGIC_GLOBALS};
|
||||||
use crate::python::future::ALL_FEATURE_NAMES;
|
use crate::python::future::ALL_FEATURE_NAMES;
|
||||||
use crate::python::typing;
|
use crate::python::typing;
|
||||||
use crate::python::typing::SubscriptKind;
|
use crate::python::typing::SubscriptKind;
|
||||||
|
use crate::registry::{Check, CheckCode, CheckKind, DeferralKeyword};
|
||||||
use crate::settings::types::PythonVersion;
|
use crate::settings::types::PythonVersion;
|
||||||
use crate::settings::{flags, Settings};
|
use crate::settings::{flags, Settings};
|
||||||
use crate::source_code_locator::SourceCodeLocator;
|
use crate::source_code_locator::SourceCodeLocator;
|
||||||
|
|
|
@ -5,10 +5,10 @@ use std::path::Path;
|
||||||
use rustpython_parser::ast::Suite;
|
use rustpython_parser::ast::Suite;
|
||||||
|
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::checks::Check;
|
|
||||||
use crate::directives::IsortDirectives;
|
use crate::directives::IsortDirectives;
|
||||||
use crate::isort;
|
use crate::isort;
|
||||||
use crate::isort::track::ImportTracker;
|
use crate::isort::track::ImportTracker;
|
||||||
|
use crate::registry::Check;
|
||||||
use crate::settings::{flags, Settings};
|
use crate::settings::{flags, Settings};
|
||||||
use crate::source_code_locator::SourceCodeLocator;
|
use crate::source_code_locator::SourceCodeLocator;
|
||||||
use crate::source_code_style::SourceCodeStyleDetector;
|
use crate::source_code_style::SourceCodeStyleDetector;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
//! Lint rules based on checking raw physical lines.
|
//! 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::pycodestyle::checks::{line_too_long, no_newline_at_end_of_file};
|
||||||
use crate::pygrep_hooks::plugins::{blanket_noqa, blanket_type_ignore};
|
use crate::pygrep_hooks::plugins::{blanket_noqa, blanket_type_ignore};
|
||||||
use crate::pyupgrade::checks::unnecessary_coding_comment;
|
use crate::pyupgrade::checks::unnecessary_coding_comment;
|
||||||
|
use crate::registry::{Check, CheckCode};
|
||||||
use crate::settings::{flags, Settings};
|
use crate::settings::{flags, Settings};
|
||||||
|
|
||||||
pub fn check_lines(
|
pub fn check_lines(
|
||||||
|
@ -80,7 +80,7 @@ pub fn check_lines(
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
use super::check_lines;
|
use super::check_lines;
|
||||||
use crate::checks::CheckCode;
|
use crate::registry::CheckCode;
|
||||||
use crate::settings::{flags, Settings};
|
use crate::settings::{flags, Settings};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -7,9 +7,9 @@ use rustpython_parser::ast::Location;
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checks::{Check, CheckCode, CheckKind, UnusedCodes, CODE_REDIRECTS};
|
|
||||||
use crate::noqa;
|
use crate::noqa;
|
||||||
use crate::noqa::{is_file_exempt, Directive};
|
use crate::noqa::{is_file_exempt, Directive};
|
||||||
|
use crate::registry::{Check, CheckCode, CheckKind, UnusedCodes, CODE_REDIRECTS};
|
||||||
use crate::settings::{flags, Settings};
|
use crate::settings::{flags, Settings};
|
||||||
|
|
||||||
pub fn check_noqa(
|
pub fn check_noqa(
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
use rustpython_parser::lexer::{LexResult, Tok};
|
use rustpython_parser::lexer::{LexResult, Tok};
|
||||||
|
|
||||||
use crate::checks::{Check, CheckCode};
|
|
||||||
use crate::lex::docstring_detection::StateMachine;
|
use crate::lex::docstring_detection::StateMachine;
|
||||||
|
use crate::registry::{Check, CheckCode};
|
||||||
use crate::ruff::checks::Context;
|
use crate::ruff::checks::Context;
|
||||||
use crate::settings::flags;
|
use crate::settings::flags;
|
||||||
use crate::source_code_locator::SourceCodeLocator;
|
use crate::source_code_locator::SourceCodeLocator;
|
||||||
|
|
|
@ -4,10 +4,10 @@ use clap::{command, Parser};
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use rustc_hash::FxHashMap;
|
use rustc_hash::FxHashMap;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::checks_gen::CheckCodePrefix;
|
|
||||||
use crate::fs;
|
use crate::fs;
|
||||||
use crate::logging::LogLevel;
|
use crate::logging::LogLevel;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
|
use crate::registry_gen::CheckCodePrefix;
|
||||||
use crate::settings::types::{
|
use crate::settings::types::{
|
||||||
FilePattern, PatternPrefixPair, PerFileIgnore, PythonVersion, SerializationFormat,
|
FilePattern, PatternPrefixPair, PerFileIgnore, PythonVersion, SerializationFormat,
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,12 +17,12 @@ use walkdir::WalkDir;
|
||||||
|
|
||||||
use crate::autofix::fixer;
|
use crate::autofix::fixer;
|
||||||
use crate::cache::DEFAULT_CACHE_DIR_NAME;
|
use crate::cache::DEFAULT_CACHE_DIR_NAME;
|
||||||
use crate::checks::{CheckCode, CheckKind};
|
|
||||||
use crate::cli::Overrides;
|
use crate::cli::Overrides;
|
||||||
use crate::iterators::par_iter;
|
use crate::iterators::par_iter;
|
||||||
use crate::linter::{add_noqa_to_path, lint_path, lint_stdin, Diagnostics};
|
use crate::linter::{add_noqa_to_path, lint_path, lint_stdin, Diagnostics};
|
||||||
use crate::logging::LogLevel;
|
use crate::logging::LogLevel;
|
||||||
use crate::message::Message;
|
use crate::message::Message;
|
||||||
|
use crate::registry::{CheckCode, CheckKind};
|
||||||
use crate::resolver::{FileDiscovery, PyprojectDiscovery};
|
use crate::resolver::{FileDiscovery, PyprojectDiscovery};
|
||||||
use crate::settings::flags;
|
use crate::settings::flags;
|
||||||
use crate::settings::types::SerializationFormat;
|
use crate::settings::types::SerializationFormat;
|
||||||
|
|
|
@ -6,7 +6,7 @@ use rustpython_ast::Location;
|
||||||
use rustpython_parser::lexer::{LexResult, Tok};
|
use rustpython_parser::lexer::{LexResult, Tok};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::LintSource;
|
use crate::registry::LintSource;
|
||||||
use crate::{Settings, SourceCodeLocator};
|
use crate::{Settings, SourceCodeLocator};
|
||||||
|
|
||||||
bitflags! {
|
bitflags! {
|
||||||
|
|
|
@ -2,8 +2,8 @@ use rustpython_ast::Location;
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checks::{CheckCode, CheckKind};
|
|
||||||
use crate::eradicate::detection::comment_contains_code;
|
use crate::eradicate::detection::comment_contains_code;
|
||||||
|
use crate::registry::{CheckCode, CheckKind};
|
||||||
use crate::settings::flags;
|
use crate::settings::flags;
|
||||||
use crate::{Check, Settings, SourceCodeLocator};
|
use crate::{Check, Settings, SourceCodeLocator};
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::ERA001, Path::new("ERA001.py"); "ERA001")]
|
#[test_case(CheckCode::ERA001, Path::new("ERA001.py"); "ERA001")]
|
||||||
|
|
|
@ -8,8 +8,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::YTT101, Path::new("YTT101.py"); "YTT101")]
|
#[test_case(CheckCode::YTT101, Path::new("YTT101.py"); "YTT101")]
|
||||||
|
|
|
@ -4,7 +4,7 @@ use rustpython_ast::{Cmpop, Constant, Expr, ExprKind, Located};
|
||||||
use crate::ast::helpers::match_module_member;
|
use crate::ast::helpers::match_module_member;
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
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 {
|
fn is_sys(checker: &Checker, expr: &Expr, target: &str) -> bool {
|
||||||
match_module_member(
|
match_module_member(
|
||||||
|
|
|
@ -9,8 +9,8 @@ mod tests {
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::{flake8_annotations, Settings};
|
use crate::{flake8_annotations, Settings};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -5,10 +5,10 @@ use crate::ast::types::Range;
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::ast::{cast, helpers, visitor};
|
use crate::ast::{cast, helpers, visitor};
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{CheckCode, CheckKind};
|
|
||||||
use crate::docstrings::definition::{Definition, DefinitionKind};
|
use crate::docstrings::definition::{Definition, DefinitionKind};
|
||||||
use crate::flake8_annotations::fixes;
|
use crate::flake8_annotations::fixes;
|
||||||
use crate::flake8_annotations::helpers::match_function_def;
|
use crate::flake8_annotations::helpers::match_function_def;
|
||||||
|
use crate::registry::{CheckCode, CheckKind};
|
||||||
use crate::visibility::Visibility;
|
use crate::visibility::Visibility;
|
||||||
use crate::{visibility, Check};
|
use crate::{visibility, Check};
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::S101, Path::new("S101.py"); "S101")]
|
#[test_case(CheckCode::S101, Path::new("S101.py"); "S101")]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
use rustpython_ast::{Located, StmtKind};
|
use rustpython_ast::{Located, StmtKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// S101
|
/// S101
|
||||||
pub fn assert_used(stmt: &Located<StmtKind>) -> Check {
|
pub fn assert_used(stmt: &Located<StmtKind>) -> Check {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
use rustpython_ast::{Expr, ExprKind};
|
use rustpython_ast::{Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// S102
|
/// S102
|
||||||
pub fn exec_used(expr: &Expr, func: &Expr) -> Option<Check> {
|
pub fn exec_used(expr: &Expr, func: &Expr) -> Option<Check> {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// S104
|
/// S104
|
||||||
pub fn hardcoded_bind_all_interfaces(value: &str, range: &Range) -> Option<Check> {
|
pub fn hardcoded_bind_all_interfaces(value: &str, range: &Range) -> Option<Check> {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
use rustpython_ast::{ArgData, Arguments, Expr, Located};
|
use rustpython_ast::{ArgData, Arguments, Expr, Located};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_bandit::helpers::{matches_password_name, string_literal};
|
use crate::flake8_bandit::helpers::{matches_password_name, string_literal};
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
fn check_password_kwarg(arg: &Located<ArgData>, default: &Expr) -> Option<Check> {
|
fn check_password_kwarg(arg: &Located<ArgData>, default: &Expr) -> Option<Check> {
|
||||||
let string = string_literal(default)?;
|
let string = string_literal(default)?;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
use rustpython_ast::Keyword;
|
use rustpython_ast::Keyword;
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_bandit::helpers::{matches_password_name, string_literal};
|
use crate::flake8_bandit::helpers::{matches_password_name, string_literal};
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// S106
|
/// S106
|
||||||
pub fn hardcoded_password_func_arg(keywords: &[Keyword]) -> Vec<Check> {
|
pub fn hardcoded_password_func_arg(keywords: &[Keyword]) -> Vec<Check> {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
use rustpython_ast::{Constant, Expr, ExprKind};
|
use rustpython_ast::{Constant, Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_bandit::helpers::{matches_password_name, string_literal};
|
use crate::flake8_bandit::helpers::{matches_password_name, string_literal};
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
fn is_password_target(target: &Expr) -> bool {
|
fn is_password_target(target: &Expr) -> bool {
|
||||||
let target_name = match &target.node {
|
let target_name = match &target.node {
|
||||||
|
|
|
@ -8,8 +8,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::BLE001, Path::new("BLE.py"); "BLE001")]
|
#[test_case(CheckCode::BLE001, Path::new("BLE.py"); "BLE001")]
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind, Stmt, StmtKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// BLE001
|
/// BLE001
|
||||||
pub fn blind_except(
|
pub fn blind_except(
|
||||||
|
|
|
@ -8,8 +8,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::FBT001, Path::new("FBT.py"); "FBT001")]
|
#[test_case(CheckCode::FBT001, Path::new("FBT.py"); "FBT001")]
|
||||||
|
|
|
@ -3,7 +3,7 @@ use rustpython_parser::ast::{Constant, Expr};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
const FUNC_NAME_ALLOWLIST: &[&str] = &[
|
const FUNC_NAME_ALLOWLIST: &[&str] = &[
|
||||||
"assertEqual",
|
"assertEqual",
|
||||||
|
|
|
@ -8,8 +8,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::{flake8_bugbear, Settings};
|
use crate::{flake8_bugbear, Settings};
|
||||||
|
|
||||||
#[test_case(CheckCode::B002, Path::new("B002.py"); "B002")]
|
#[test_case(CheckCode::B002, Path::new("B002.py"); "B002")]
|
||||||
|
|
|
@ -4,7 +4,7 @@ use rustpython_ast::{Constant, Expr, ExprKind, Keyword, Stmt, StmtKind};
|
||||||
use crate::ast::helpers::match_module_member;
|
use crate::ast::helpers::match_module_member;
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckCode, CheckKind};
|
use crate::registry::{Check, CheckCode, CheckKind};
|
||||||
|
|
||||||
fn is_abc_class(
|
fn is_abc_class(
|
||||||
bases: &[Expr],
|
bases: &[Expr],
|
||||||
|
|
|
@ -3,7 +3,7 @@ use rustpython_ast::{Constant, Expr, ExprContext, ExprKind, Location, Stmt, Stmt
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
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_generator::SourceCodeGenerator;
|
||||||
|
|
||||||
fn assertion_error(msg: Option<&Expr>) -> Stmt {
|
fn assertion_error(msg: Option<&Expr>) -> Stmt {
|
||||||
|
|
|
@ -3,7 +3,7 @@ use rustpython_ast::{ExprKind, Stmt, Withitem};
|
||||||
use crate::ast::helpers::match_module_member;
|
use crate::ast::helpers::match_module_member;
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B017
|
/// B017
|
||||||
pub fn assert_raises_exception(checker: &mut Checker, stmt: &Stmt, items: &[Withitem]) {
|
pub fn assert_raises_exception(checker: &mut Checker, stmt: &Stmt, items: &[Withitem]) {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B003
|
/// B003
|
||||||
pub fn assignment_to_os_environ(checker: &mut Checker, targets: &[Expr]) {
|
pub fn assignment_to_os_environ(checker: &mut Checker, targets: &[Expr]) {
|
||||||
|
|
|
@ -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::helpers::{collect_call_paths, dealias_call_path, match_call_path};
|
||||||
use crate::ast::types::{Range, ScopeKind};
|
use crate::ast::types::{Range, ScopeKind};
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
fn is_cache_func(checker: &Checker, expr: &Expr) -> bool {
|
fn is_cache_func(checker: &Checker, expr: &Expr) -> bool {
|
||||||
let call_path = dealias_call_path(collect_call_paths(expr), &checker.import_aliases);
|
let call_path = dealias_call_path(collect_call_paths(expr), &checker.import_aliases);
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B016
|
/// B016
|
||||||
pub fn cannot_raise_literal(checker: &mut Checker, expr: &Expr) {
|
pub fn cannot_raise_literal(checker: &mut Checker, expr: &Expr) {
|
||||||
|
|
|
@ -6,7 +6,7 @@ use crate::ast::helpers;
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
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_generator::SourceCodeGenerator;
|
||||||
|
|
||||||
fn type_pattern(elts: Vec<&Expr>) -> Expr {
|
fn type_pattern(elts: Vec<&Expr>) -> Expr {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{ExprKind, Stmt, StmtKind};
|
||||||
|
|
||||||
use crate::ast::helpers;
|
use crate::ast::helpers;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B021
|
/// B021
|
||||||
pub fn f_string_docstring(checker: &mut Checker, body: &[Stmt]) {
|
pub fn f_string_docstring(checker: &mut Checker, body: &[Stmt]) {
|
||||||
|
|
|
@ -8,8 +8,8 @@ use crate::ast::types::Range;
|
||||||
use crate::ast::visitor;
|
use crate::ast::visitor;
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_bugbear::plugins::mutable_argument_default::is_mutable_func;
|
use crate::flake8_bugbear::plugins::mutable_argument_default::is_mutable_func;
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
const IMMUTABLE_FUNCS: [(&str, &str); 7] = [
|
const IMMUTABLE_FUNCS: [(&str, &str); 7] = [
|
||||||
("", "tuple"),
|
("", "tuple"),
|
||||||
|
|
|
@ -6,7 +6,7 @@ use crate::ast::types::{Node, Range};
|
||||||
use crate::ast::visitor;
|
use crate::ast::visitor;
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
struct LoadedNamesVisitor<'a> {
|
struct LoadedNamesVisitor<'a> {
|
||||||
|
|
|
@ -3,9 +3,9 @@ use rustpython_ast::{Constant, Expr, ExprContext, ExprKind, Location};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::python::identifiers::IDENTIFIER_REGEX;
|
use crate::python::identifiers::IDENTIFIER_REGEX;
|
||||||
use crate::python::keyword::KWLIST;
|
use crate::python::keyword::KWLIST;
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
use crate::source_code_generator::SourceCodeGenerator;
|
use crate::source_code_generator::SourceCodeGenerator;
|
||||||
|
|
||||||
fn attribute(value: &Expr, attr: &str) -> Expr {
|
fn attribute(value: &Expr, attr: &str) -> Expr {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Stmt, StmtKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
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) {
|
fn walk_stmt(checker: &mut Checker, body: &[Stmt], f: fn(&Stmt) -> bool) {
|
||||||
for stmt in body {
|
for stmt in body {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use crate::ast::types::Range;
|
||||||
use crate::ast::visitor;
|
use crate::ast::visitor;
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
struct NameFinder<'a> {
|
struct NameFinder<'a> {
|
||||||
|
|
|
@ -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::helpers::{collect_call_paths, dealias_call_path, match_call_path};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
const MUTABLE_FUNCS: &[(&str, &str)] = &[
|
const MUTABLE_FUNCS: &[(&str, &str)] = &[
|
||||||
("", "dict"),
|
("", "dict"),
|
||||||
|
|
|
@ -3,8 +3,8 @@ use rustpython_ast::{ExprKind, Stmt, StmtKind};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::python::string::is_lower;
|
use crate::python::string::is_lower;
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
struct RaiseVisitor {
|
struct RaiseVisitor {
|
||||||
checks: Vec<Check>,
|
checks: Vec<Check>,
|
||||||
|
|
|
@ -3,7 +3,7 @@ use rustpython_ast::{Excepthandler, ExcepthandlerKind, ExprKind};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
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_generator::SourceCodeGenerator;
|
||||||
|
|
||||||
/// B013
|
/// B013
|
||||||
|
|
|
@ -5,9 +5,9 @@ use rustpython_ast::{Constant, Expr, ExprContext, ExprKind, Location, Stmt, Stmt
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::python::identifiers::IDENTIFIER_REGEX;
|
use crate::python::identifiers::IDENTIFIER_REGEX;
|
||||||
use crate::python::keyword::KWLIST;
|
use crate::python::keyword::KWLIST;
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
use crate::source_code_generator::SourceCodeGenerator;
|
use crate::source_code_generator::SourceCodeGenerator;
|
||||||
use crate::source_code_style::SourceCodeStyleDetector;
|
use crate::source_code_style::SourceCodeStyleDetector;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind, Keyword};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B026
|
/// B026
|
||||||
pub fn star_arg_unpacking_after_keyword_arg(
|
pub fn star_arg_unpacking_after_keyword_arg(
|
||||||
|
|
|
@ -3,7 +3,7 @@ use rustpython_ast::{Constant, Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B005
|
/// B005
|
||||||
pub fn strip_with_multi_characters(checker: &mut Checker, expr: &Expr, func: &Expr, args: &[Expr]) {
|
pub fn strip_with_multi_characters(checker: &mut Checker, expr: &Expr, func: &Expr, args: &[Expr]) {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind, Unaryop};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B002
|
/// B002
|
||||||
pub fn unary_prefix_increment(checker: &mut Checker, expr: &Expr, op: &Unaryop, operand: &Expr) {
|
pub fn unary_prefix_increment(checker: &mut Checker, expr: &Expr, op: &Unaryop, operand: &Expr) {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Constant, Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B004
|
/// B004
|
||||||
pub fn unreliable_callable_check(checker: &mut Checker, expr: &Expr, func: &Expr, args: &[Expr]) {
|
pub fn unreliable_callable_check(checker: &mut Checker, expr: &Expr, func: &Expr, args: &[Expr]) {
|
||||||
|
|
|
@ -6,7 +6,7 @@ use crate::ast::visitor;
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// Identify all `ExprKind::Name` nodes in an AST.
|
/// Identify all `ExprKind::Name` nodes in an AST.
|
||||||
struct NameFinder<'a> {
|
struct NameFinder<'a> {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
pub fn useless_comparison(checker: &mut Checker, expr: &Expr) {
|
pub fn useless_comparison(checker: &mut Checker, expr: &Expr) {
|
||||||
if matches!(expr.node, ExprKind::Compare { .. }) {
|
if matches!(expr.node, ExprKind::Compare { .. }) {
|
||||||
|
|
|
@ -3,7 +3,7 @@ use rustpython_ast::Expr;
|
||||||
use crate::ast::helpers::{collect_call_paths, match_call_path};
|
use crate::ast::helpers::{collect_call_paths, match_call_path};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B005
|
/// B005
|
||||||
pub fn useless_contextlib_suppress(checker: &mut Checker, expr: &Expr, args: &[Expr]) {
|
pub fn useless_contextlib_suppress(checker: &mut Checker, expr: &Expr, args: &[Expr]) {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Constant, ExprKind, Stmt, StmtKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
// B018
|
// B018
|
||||||
pub fn useless_expression(checker: &mut Checker, body: &[Stmt]) {
|
pub fn useless_expression(checker: &mut Checker, body: &[Stmt]) {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Expr, ExprKind, Keyword};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// B905
|
/// B905
|
||||||
pub fn zip_without_explicit_strict(
|
pub fn zip_without_explicit_strict(
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
use rustpython_ast::Located;
|
use rustpython_ast::Located;
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_builtins::types::ShadowingType;
|
use crate::flake8_builtins::types::ShadowingType;
|
||||||
use crate::python::builtins::BUILTINS;
|
use crate::python::builtins::BUILTINS;
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// Check builtin name shadowing.
|
/// Check builtin name shadowing.
|
||||||
pub fn builtin_shadowing<T>(
|
pub fn builtin_shadowing<T>(
|
||||||
|
|
|
@ -9,8 +9,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::A001, Path::new("A001.py"); "A001")]
|
#[test_case(CheckCode::A001, Path::new("A001.py"); "A001")]
|
||||||
|
|
|
@ -5,8 +5,8 @@ use rustpython_ast::{
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_comprehensions::fixes;
|
use crate::flake8_comprehensions::fixes;
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
use crate::source_code_locator::SourceCodeLocator;
|
use crate::source_code_locator::SourceCodeLocator;
|
||||||
|
|
||||||
fn function_name(func: &Expr) -> Option<&str> {
|
fn function_name(func: &Expr) -> Option<&str> {
|
||||||
|
|
|
@ -9,8 +9,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::C400, Path::new("C400.py"); "C400")]
|
#[test_case(CheckCode::C400, Path::new("C400.py"); "C400")]
|
||||||
|
|
|
@ -8,8 +8,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::DTZ001, Path::new("DTZ001.py"); "DTZ001")]
|
#[test_case(CheckCode::DTZ001, Path::new("DTZ001.py"); "DTZ001")]
|
||||||
|
|
|
@ -5,7 +5,7 @@ use crate::ast::helpers::{
|
||||||
};
|
};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
pub fn call_datetime_without_tzinfo(
|
pub fn call_datetime_without_tzinfo(
|
||||||
checker: &mut Checker,
|
checker: &mut Checker,
|
||||||
|
|
|
@ -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::helpers::{collect_call_paths, dealias_call_path, match_call_path};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_debugger::types::DebuggerUsingType;
|
use crate::flake8_debugger::types::DebuggerUsingType;
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
const DEBUGGERS: &[(&str, &str)] = &[
|
const DEBUGGERS: &[(&str, &str)] = &[
|
||||||
("pdb", "set_trace"),
|
("pdb", "set_trace"),
|
||||||
|
|
|
@ -9,8 +9,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::T100, Path::new("T100.py"); "T100")]
|
#[test_case(CheckCode::T100, Path::new("T100.py"); "T100")]
|
||||||
|
|
|
@ -7,8 +7,8 @@ mod tests {
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::{flake8_errmsg, settings};
|
use crate::{flake8_errmsg, settings};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Constant, Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckCode, CheckKind};
|
use crate::registry::{Check, CheckCode, CheckKind};
|
||||||
|
|
||||||
/// EM101, EM102, EM103
|
/// EM101, EM102, EM103
|
||||||
pub fn string_in_exception(checker: &mut Checker, exc: &Expr) {
|
pub fn string_in_exception(checker: &mut Checker, exc: &Expr) {
|
||||||
|
|
|
@ -3,7 +3,7 @@ use rustpython_ast::{Constant, Expr, ExprKind, Location, Operator};
|
||||||
use rustpython_parser::lexer::{LexResult, Tok};
|
use rustpython_parser::lexer::{LexResult, Tok};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
use crate::source_code_locator::SourceCodeLocator;
|
use crate::source_code_locator::SourceCodeLocator;
|
||||||
|
|
||||||
/// ISC001, ISC002
|
/// ISC001, ISC002
|
||||||
|
|
|
@ -8,8 +8,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::ISC001, Path::new("ISC.py"); "ISC001")]
|
#[test_case(CheckCode::ISC001, Path::new("ISC.py"); "ISC001")]
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustc_hash::FxHashMap;
|
||||||
use rustpython_ast::Stmt;
|
use rustpython_ast::Stmt;
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// ICN001
|
/// ICN001
|
||||||
pub fn check_conventional_import(
|
pub fn check_conventional_import(
|
||||||
|
|
|
@ -9,8 +9,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use rustc_hash::FxHashMap;
|
use rustc_hash::FxHashMap;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::{flake8_import_conventions, Settings};
|
use crate::{flake8_import_conventions, Settings};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -8,8 +8,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::T201, Path::new("T201.py"); "T201")]
|
#[test_case(CheckCode::T201, Path::new("T201.py"); "T201")]
|
||||||
|
|
|
@ -5,7 +5,7 @@ use crate::ast::helpers::{collect_call_paths, dealias_call_path, is_const_none,
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::helpers;
|
use crate::autofix::helpers;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// T201, T203
|
/// T201, T203
|
||||||
pub fn print_call(checker: &mut Checker, func: &Expr, keywords: &[Keyword]) {
|
pub fn print_call(checker: &mut Checker, func: &Expr, keywords: &[Keyword]) {
|
||||||
|
|
|
@ -9,10 +9,10 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::flake8_pytest_style::settings::Settings;
|
use crate::flake8_pytest_style::settings::Settings;
|
||||||
use crate::flake8_pytest_style::types;
|
use crate::flake8_pytest_style::types;
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::PT001, Path::new("PT001.py"), Settings::default(), "PT001_default"; "PT001_0")]
|
#[test_case(CheckCode::PT001, Path::new("PT001.py"), Settings::default(), "PT001_default"; "PT001_0")]
|
||||||
|
|
|
@ -6,7 +6,7 @@ use super::helpers::is_falsy_constant;
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::ast::visitor;
|
use crate::ast::visitor;
|
||||||
use crate::ast::visitor::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
|
/// Visitor that tracks assert statements and checks if they reference
|
||||||
/// the exception name.
|
/// the exception name.
|
||||||
|
|
|
@ -3,7 +3,7 @@ use rustpython_ast::{Expr, Keyword};
|
||||||
use super::helpers::{is_empty_or_null_string, is_pytest_fail, SimpleCallArgs};
|
use super::helpers::{is_empty_or_null_string, is_pytest_fail, SimpleCallArgs};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
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<Expr>, keywords: &Vec<Keyword>) {
|
pub fn fail_call(checker: &mut Checker, call: &Expr, args: &Vec<Expr>, keywords: &Vec<Keyword>) {
|
||||||
if is_pytest_fail(call, checker) {
|
if is_pytest_fail(call, checker) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ use crate::ast::visitor;
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckCode, CheckKind};
|
use crate::registry::{Check, CheckCode, CheckKind};
|
||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
/// Visitor that skips functions
|
/// Visitor that skips functions
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
use rustpython_ast::Stmt;
|
use rustpython_ast::Stmt;
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
fn is_pytest_or_subpackage(imported_name: &str) -> bool {
|
fn is_pytest_or_subpackage(imported_name: &str) -> bool {
|
||||||
imported_name == "pytest" || imported_name.starts_with("pytest.")
|
imported_name == "pytest" || imported_name.starts_with("pytest.")
|
||||||
|
|
|
@ -4,7 +4,7 @@ use super::helpers::{get_mark_decorators, get_mark_name};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckCode, CheckKind};
|
use crate::registry::{Check, CheckCode, CheckKind};
|
||||||
|
|
||||||
fn pytest_mark_parentheses(
|
fn pytest_mark_parentheses(
|
||||||
checker: &mut Checker,
|
checker: &mut Checker,
|
||||||
|
|
|
@ -4,8 +4,8 @@ use super::helpers::is_pytest_parametrize;
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckCode, CheckKind};
|
|
||||||
use crate::flake8_pytest_style::types;
|
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> {
|
fn get_parametrize_decorator<'a>(checker: &Checker, decorators: &'a [Expr]) -> Option<&'a Expr> {
|
||||||
decorators
|
decorators
|
||||||
|
|
|
@ -6,7 +6,7 @@ use crate::ast::helpers::{collect_arg_names, compose_call_path};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::ast::visitor;
|
use crate::ast::visitor;
|
||||||
use crate::ast::visitor::Visitor;
|
use crate::ast::visitor::Visitor;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
const PATCH_NAMES: &[&str] = &[
|
const PATCH_NAMES: &[&str] = &[
|
||||||
"mocker.patch",
|
"mocker.patch",
|
||||||
|
|
|
@ -8,7 +8,7 @@ use crate::ast::helpers::{
|
||||||
};
|
};
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckCode, CheckKind};
|
use crate::registry::{Check, CheckCode, CheckKind};
|
||||||
|
|
||||||
fn is_pytest_raises(
|
fn is_pytest_raises(
|
||||||
func: &Expr,
|
func: &Expr,
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
use rustpython_ast::Location;
|
use rustpython_ast::Location;
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_quotes::settings::{Quote, Settings};
|
use crate::flake8_quotes::settings::{Quote, Settings};
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
use crate::source_code_locator::SourceCodeLocator;
|
use crate::source_code_locator::SourceCodeLocator;
|
||||||
|
|
||||||
fn good_single(quote: &Quote) -> char {
|
fn good_single(quote: &Quote) -> char {
|
||||||
|
|
|
@ -8,9 +8,9 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::flake8_quotes::settings::Quote;
|
use crate::flake8_quotes::settings::Quote;
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::{flake8_quotes, Settings};
|
use crate::{flake8_quotes, Settings};
|
||||||
|
|
||||||
#[test_case(Path::new("doubles.py"))]
|
#[test_case(Path::new("doubles.py"))]
|
||||||
|
|
|
@ -9,8 +9,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::Settings;
|
use crate::Settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::RET501, Path::new("RET501.py"); "RET501")]
|
#[test_case(CheckCode::RET501, Path::new("RET501.py"); "RET501")]
|
||||||
|
|
|
@ -6,9 +6,9 @@ use crate::ast::visitor::Visitor;
|
||||||
use crate::ast::whitespace::indentation;
|
use crate::ast::whitespace::indentation;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Branch, CheckCode, CheckKind};
|
|
||||||
use crate::flake8_return::helpers::result_exists;
|
use crate::flake8_return::helpers::result_exists;
|
||||||
use crate::flake8_return::visitor::{ReturnVisitor, Stack};
|
use crate::flake8_return::visitor::{ReturnVisitor, Stack};
|
||||||
|
use crate::registry::{Branch, CheckCode, CheckKind};
|
||||||
use crate::Check;
|
use crate::Check;
|
||||||
|
|
||||||
/// RET501
|
/// RET501
|
||||||
|
|
|
@ -8,8 +8,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::settings;
|
use crate::settings;
|
||||||
|
|
||||||
#[test_case(CheckCode::SIM118, Path::new("SIM118.py"); "SIM118")]
|
#[test_case(CheckCode::SIM118, Path::new("SIM118.py"); "SIM118")]
|
||||||
|
|
|
@ -4,7 +4,7 @@ use crate::ast::helpers::create_expr;
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checkers::ast::Checker;
|
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_generator::SourceCodeGenerator;
|
||||||
|
|
||||||
/// SIM118
|
/// SIM118
|
||||||
|
|
|
@ -2,7 +2,7 @@ use rustpython_ast::{Cmpop, Expr, ExprKind};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// SIM300
|
/// SIM300
|
||||||
pub fn yoda_conditions(
|
pub fn yoda_conditions(
|
||||||
|
|
|
@ -5,8 +5,8 @@ use super::settings::BannedApi;
|
||||||
use crate::ast::helpers::match_call_path;
|
use crate::ast::helpers::match_call_path;
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::checks::{Check, CheckKind};
|
|
||||||
use crate::flake8_tidy_imports::settings::Strictness;
|
use crate::flake8_tidy_imports::settings::Strictness;
|
||||||
|
use crate::registry::{Check, CheckKind};
|
||||||
|
|
||||||
/// TID252
|
/// TID252
|
||||||
pub fn banned_relative_import(
|
pub fn banned_relative_import(
|
||||||
|
|
|
@ -8,9 +8,9 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use rustc_hash::FxHashMap;
|
use rustc_hash::FxHashMap;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::flake8_tidy_imports::settings::{BannedApi, Strictness};
|
use crate::flake8_tidy_imports::settings::{BannedApi, Strictness};
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::{flake8_tidy_imports, Settings};
|
use crate::{flake8_tidy_imports, Settings};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -11,8 +11,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::{flake8_unused_arguments, settings};
|
use crate::{flake8_unused_arguments, settings};
|
||||||
|
|
||||||
#[test_case(CheckCode::ARG001, Path::new("ARG.py"); "ARG001")]
|
#[test_case(CheckCode::ARG001, Path::new("ARG.py"); "ARG001")]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use crate::checks::{CheckCode, CheckKind};
|
use crate::registry::{CheckCode, CheckKind};
|
||||||
|
|
||||||
/// An AST node that can contain arguments.
|
/// An AST node that can contain arguments.
|
||||||
pub enum Argumentable {
|
pub enum Argumentable {
|
||||||
|
|
|
@ -8,7 +8,7 @@ use globset::GlobMatcher;
|
||||||
use path_absolutize::{path_dedot, Absolutize};
|
use path_absolutize::{path_dedot, Absolutize};
|
||||||
use rustc_hash::FxHashSet;
|
use rustc_hash::FxHashSet;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
use crate::registry::CheckCode;
|
||||||
|
|
||||||
/// Extract the absolute path and basename (as strings) from a Path.
|
/// Extract the absolute path and basename (as strings) from a Path.
|
||||||
pub fn extract_path_names(path: &Path) -> Result<(&str, &str)> {
|
pub fn extract_path_names(path: &Path) -> Result<(&str, &str)> {
|
||||||
|
|
|
@ -644,8 +644,8 @@ mod tests {
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use test_case::test_case;
|
use test_case::test_case;
|
||||||
|
|
||||||
use crate::checks::CheckCode;
|
|
||||||
use crate::linter::test_path;
|
use crate::linter::test_path;
|
||||||
|
use crate::registry::CheckCode;
|
||||||
use crate::{isort, Settings};
|
use crate::{isort, Settings};
|
||||||
|
|
||||||
#[test_case(Path::new("add_newline_before_comments.py"))]
|
#[test_case(Path::new("add_newline_before_comments.py"))]
|
||||||
|
|
|
@ -9,9 +9,9 @@ use crate::ast::helpers::{
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::ast::whitespace::leading_space;
|
use crate::ast::whitespace::leading_space;
|
||||||
use crate::autofix::Fix;
|
use crate::autofix::Fix;
|
||||||
use crate::checks::CheckKind;
|
|
||||||
use crate::isort::track::Block;
|
use crate::isort::track::Block;
|
||||||
use crate::isort::{comments, format_imports};
|
use crate::isort::{comments, format_imports};
|
||||||
|
use crate::registry::CheckKind;
|
||||||
use crate::settings::flags;
|
use crate::settings::flags;
|
||||||
use crate::source_code_style::SourceCodeStyleDetector;
|
use crate::source_code_style::SourceCodeStyleDetector;
|
||||||
use crate::{Check, Settings, SourceCodeLocator};
|
use crate::{Check, Settings, SourceCodeLocator};
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
use cfg_if::cfg_if;
|
use cfg_if::cfg_if;
|
||||||
|
|
||||||
use crate::checks::Check;
|
use crate::registry::Check;
|
||||||
use crate::settings::Settings;
|
use crate::settings::Settings;
|
||||||
use crate::source_code_locator::SourceCodeLocator;
|
use crate::source_code_locator::SourceCodeLocator;
|
||||||
|
|
||||||
|
@ -21,8 +21,6 @@ mod ast;
|
||||||
pub mod autofix;
|
pub mod autofix;
|
||||||
pub mod cache;
|
pub mod cache;
|
||||||
mod checkers;
|
mod checkers;
|
||||||
pub mod checks;
|
|
||||||
pub mod checks_gen;
|
|
||||||
pub mod cli;
|
pub mod cli;
|
||||||
mod cst;
|
mod cst;
|
||||||
mod directives;
|
mod directives;
|
||||||
|
@ -67,6 +65,8 @@ mod pygrep_hooks;
|
||||||
mod pylint;
|
mod pylint;
|
||||||
mod python;
|
mod python;
|
||||||
mod pyupgrade;
|
mod pyupgrade;
|
||||||
|
pub mod registry;
|
||||||
|
pub mod registry_gen;
|
||||||
pub mod resolver;
|
pub mod resolver;
|
||||||
mod ruff;
|
mod ruff;
|
||||||
mod rustpython_helpers;
|
mod rustpython_helpers;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue