Move McCabe violations (#2534)

This commit is contained in:
Aarni Koskela 2023-02-03 15:41:11 +02:00 committed by GitHub
parent d985473f4f
commit 14c5000ad5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 19 deletions

View File

@ -149,7 +149,7 @@ ruff_macros::define_rule_mapping!(
// flake8-debugger // flake8-debugger
T100 => rules::flake8_debugger::rules::Debugger, T100 => rules::flake8_debugger::rules::Debugger,
// mccabe // mccabe
C901 => violations::FunctionIsTooComplex, C901 => rules::mccabe::rules::FunctionIsTooComplex,
// flake8-tidy-imports // flake8-tidy-imports
TID251 => rules::flake8_tidy_imports::banned_api::BannedApi, TID251 => rules::flake8_tidy_imports::banned_api::BannedApi,
TID252 => rules::flake8_tidy_imports::relative_imports::RelativeImports, TID252 => rules::flake8_tidy_imports::relative_imports::RelativeImports,

View File

@ -1,9 +1,25 @@
use rustpython_ast::{ExcepthandlerKind, ExprKind, Stmt, StmtKind}; use rustpython_ast::{ExcepthandlerKind, ExprKind, Stmt, StmtKind};
use crate::ast::helpers::identifier_range; use crate::ast::helpers::identifier_range;
use crate::define_violation;
use crate::registry::Diagnostic; use crate::registry::Diagnostic;
use crate::source_code::Locator; use crate::source_code::Locator;
use crate::violations; use crate::violation::Violation;
use ruff_macros::derive_message_formats;
define_violation!(
pub struct FunctionIsTooComplex {
pub name: String,
pub complexity: usize,
}
);
impl Violation for FunctionIsTooComplex {
#[derive_message_formats]
fn message(&self) -> String {
let FunctionIsTooComplex { name, complexity } = self;
format!("`{name}` is too complex ({complexity})")
}
}
fn get_complexity_number(stmts: &[Stmt]) -> usize { fn get_complexity_number(stmts: &[Stmt]) -> usize {
let mut complexity = 0; let mut complexity = 0;
@ -66,7 +82,7 @@ pub fn function_is_too_complex(
let complexity = get_complexity_number(body) + 1; let complexity = get_complexity_number(body) + 1;
if complexity > max_complexity { if complexity > max_complexity {
Some(Diagnostic::new( Some(Diagnostic::new(
violations::FunctionIsTooComplex { FunctionIsTooComplex {
name: name.to_string(), name: name.to_string(),
complexity, complexity,
}, },

View File

@ -6,22 +6,6 @@ use crate::define_violation;
use crate::violation::{AlwaysAutofixableViolation, Violation}; use crate::violation::{AlwaysAutofixableViolation, Violation};
// mccabe
define_violation!(
pub struct FunctionIsTooComplex {
pub name: String,
pub complexity: usize,
}
);
impl Violation for FunctionIsTooComplex {
#[derive_message_formats]
fn message(&self) -> String {
let FunctionIsTooComplex { name, complexity } = self;
format!("`{name}` is too complex ({complexity})")
}
}
// flake8-print // flake8-print
define_violation!( define_violation!(