@@ -51,57 +51,49 @@ impl Violation for BannedApi {
51
51
}
52
52
53
53
/// TID251
54
- pub fn name_is_banned (
55
- module : & str ,
56
- name : & Alias ,
57
- api_bans : & FxHashMap < String , ApiBan > ,
58
- ) -> Option < Diagnostic > {
54
+ pub fn name_is_banned ( checker : & mut Checker , module : & str , name : & Alias ) {
55
+ let banned_api = & checker. settings . flake8_tidy_imports . banned_api ;
59
56
let full_name = format ! ( "{module}.{}" , & name. node. name) ;
60
- if let Some ( ban) = api_bans . get ( & full_name) {
61
- return Some ( Diagnostic :: new (
57
+ if let Some ( ban) = banned_api . get ( & full_name) {
58
+ checker . diagnostics . push ( Diagnostic :: new (
62
59
BannedApi {
63
60
name : full_name,
64
61
message : ban. msg . to_string ( ) ,
65
62
} ,
66
63
Range :: from ( name) ,
67
64
) ) ;
68
65
}
69
- None
70
66
}
71
67
72
68
/// TID251
73
- pub fn name_or_parent_is_banned < T > (
74
- located : & Located < T > ,
75
- name : & str ,
76
- api_bans : & FxHashMap < String , ApiBan > ,
77
- ) -> Option < Diagnostic > {
69
+ pub fn name_or_parent_is_banned < T > ( checker : & mut Checker , name : & str , located : & Located < T > ) {
70
+ let banned_api = & checker. settings . flake8_tidy_imports . banned_api ;
78
71
let mut name = name;
79
72
loop {
80
- if let Some ( ban) = api_bans . get ( name) {
81
- return Some ( Diagnostic :: new (
73
+ if let Some ( ban) = banned_api . get ( name) {
74
+ checker . diagnostics . push ( Diagnostic :: new (
82
75
BannedApi {
83
76
name : name. to_string ( ) ,
84
77
message : ban. msg . to_string ( ) ,
85
78
} ,
86
79
Range :: from ( located) ,
87
80
) ) ;
81
+ return ;
88
82
}
89
83
match name. rfind ( '.' ) {
90
84
Some ( idx) => {
91
85
name = & name[ ..idx] ;
92
86
}
93
- None => return None ,
87
+ None => return ,
94
88
}
95
89
}
96
90
}
97
91
98
92
/// TID251
99
93
pub fn banned_attribute_access ( checker : & mut Checker , expr : & Expr ) {
94
+ let banned_api = & checker. settings . flake8_tidy_imports . banned_api ;
100
95
if let Some ( ( banned_path, ban) ) = checker. ctx . resolve_call_path ( expr) . and_then ( |call_path| {
101
- checker
102
- . settings
103
- . flake8_tidy_imports
104
- . banned_api
96
+ banned_api
105
97
. iter ( )
106
98
. find ( |( banned_path, ..) | call_path == from_qualified_name ( banned_path) )
107
99
} ) {
@@ -119,11 +111,10 @@ pub fn banned_attribute_access(checker: &mut Checker, expr: &Expr) {
119
111
mod tests {
120
112
use std:: path:: Path ;
121
113
122
- use crate :: assert_messages;
123
114
use anyhow:: Result ;
124
-
125
115
use rustc_hash:: FxHashMap ;
126
116
117
+ use crate :: assert_messages;
127
118
use crate :: registry:: Rule ;
128
119
use crate :: settings:: Settings ;
129
120
use crate :: test:: test_path;
0 commit comments