mirror of https://github.com/astral-sh/ruff
Include function and argument names in ANN checks (#648)
This commit is contained in:
parent
de6435f41d
commit
da39cddccb
20
README.md
20
README.md
|
|
@ -535,16 +535,16 @@ For more, see [flake8-annotations](https://pypi.org/project/flake8-annotations/2
|
||||||
|
|
||||||
| Code | Name | Message | Fix |
|
| Code | Name | Message | Fix |
|
||||||
| ---- | ---- | ------- | --- |
|
| ---- | ---- | ------- | --- |
|
||||||
| ANN001 | MissingTypeFunctionArgument | Missing type annotation for function argument | |
|
| ANN001 | MissingTypeFunctionArgument | Missing type annotation for function argument `...` | |
|
||||||
| ANN002 | MissingTypeArgs | Missing type annotation for `*args` | |
|
| ANN002 | MissingTypeArgs | Missing type annotation for `*...` | |
|
||||||
| ANN003 | MissingTypeKwargs | Missing type annotation for `**kwargs` | |
|
| ANN003 | MissingTypeKwargs | Missing type annotation for `**...` | |
|
||||||
| ANN101 | MissingTypeSelf | Missing type annotation for `self` in method | |
|
| ANN101 | MissingTypeSelf | Missing type annotation for `...` in method | |
|
||||||
| ANN102 | MissingTypeCls | Missing type annotation for `cls` in classmethod | |
|
| ANN102 | MissingTypeCls | Missing type annotation for `...` in classmethod | |
|
||||||
| ANN201 | MissingReturnTypePublicFunction | Missing return type annotation for public function | |
|
| ANN201 | MissingReturnTypePublicFunction | Missing return type annotation for public function `...` | |
|
||||||
| ANN202 | MissingReturnTypePrivateFunction | Missing return type annotation for private function | |
|
| ANN202 | MissingReturnTypePrivateFunction | Missing return type annotation for private function `...` | |
|
||||||
| ANN204 | MissingReturnTypeMagicMethod | Missing return type annotation for magic method | |
|
| ANN204 | MissingReturnTypeMagicMethod | Missing return type annotation for magic method `...` | |
|
||||||
| ANN205 | MissingReturnTypeStaticMethod | Missing return type annotation for staticmethod | |
|
| ANN205 | MissingReturnTypeStaticMethod | Missing return type annotation for staticmethod `...` | |
|
||||||
| ANN206 | MissingReturnTypeClassMethod | Missing return type annotation for classmethod | |
|
| ANN206 | MissingReturnTypeClassMethod | Missing return type annotation for classmethod `...` | |
|
||||||
|
|
||||||
### Ruff-specific rules
|
### Ruff-specific rules
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -378,16 +378,16 @@ pub enum CheckKind {
|
||||||
BadQuotesDocstring(Quote),
|
BadQuotesDocstring(Quote),
|
||||||
AvoidQuoteEscape,
|
AvoidQuoteEscape,
|
||||||
// flake8-annotations
|
// flake8-annotations
|
||||||
MissingTypeFunctionArgument,
|
MissingTypeFunctionArgument(String),
|
||||||
MissingTypeArgs,
|
MissingTypeArgs(String),
|
||||||
MissingTypeKwargs,
|
MissingTypeKwargs(String),
|
||||||
MissingTypeSelf,
|
MissingTypeSelf(String),
|
||||||
MissingTypeCls,
|
MissingTypeCls(String),
|
||||||
MissingReturnTypePublicFunction,
|
MissingReturnTypePublicFunction(String),
|
||||||
MissingReturnTypePrivateFunction,
|
MissingReturnTypePrivateFunction(String),
|
||||||
MissingReturnTypeMagicMethod,
|
MissingReturnTypeMagicMethod(String),
|
||||||
MissingReturnTypeStaticMethod,
|
MissingReturnTypeStaticMethod(String),
|
||||||
MissingReturnTypeClassMethod,
|
MissingReturnTypeClassMethod(String),
|
||||||
// pyupgrade
|
// pyupgrade
|
||||||
TypeOfPrimitive(Primitive),
|
TypeOfPrimitive(Primitive),
|
||||||
UnnecessaryAbspath,
|
UnnecessaryAbspath,
|
||||||
|
|
@ -599,16 +599,16 @@ impl CheckCode {
|
||||||
CheckCode::Q002 => CheckKind::BadQuotesDocstring(Quote::Double),
|
CheckCode::Q002 => CheckKind::BadQuotesDocstring(Quote::Double),
|
||||||
CheckCode::Q003 => CheckKind::AvoidQuoteEscape,
|
CheckCode::Q003 => CheckKind::AvoidQuoteEscape,
|
||||||
// flake8-annotations
|
// flake8-annotations
|
||||||
CheckCode::ANN001 => CheckKind::MissingTypeFunctionArgument,
|
CheckCode::ANN001 => CheckKind::MissingTypeFunctionArgument("...".to_string()),
|
||||||
CheckCode::ANN002 => CheckKind::MissingTypeArgs,
|
CheckCode::ANN002 => CheckKind::MissingTypeArgs("...".to_string()),
|
||||||
CheckCode::ANN003 => CheckKind::MissingTypeKwargs,
|
CheckCode::ANN003 => CheckKind::MissingTypeKwargs("...".to_string()),
|
||||||
CheckCode::ANN101 => CheckKind::MissingTypeSelf,
|
CheckCode::ANN101 => CheckKind::MissingTypeSelf("...".to_string()),
|
||||||
CheckCode::ANN102 => CheckKind::MissingTypeCls,
|
CheckCode::ANN102 => CheckKind::MissingTypeCls("...".to_string()),
|
||||||
CheckCode::ANN201 => CheckKind::MissingReturnTypePublicFunction,
|
CheckCode::ANN201 => CheckKind::MissingReturnTypePublicFunction("...".to_string()),
|
||||||
CheckCode::ANN202 => CheckKind::MissingReturnTypePrivateFunction,
|
CheckCode::ANN202 => CheckKind::MissingReturnTypePrivateFunction("...".to_string()),
|
||||||
CheckCode::ANN204 => CheckKind::MissingReturnTypeMagicMethod,
|
CheckCode::ANN204 => CheckKind::MissingReturnTypeMagicMethod("...".to_string()),
|
||||||
CheckCode::ANN205 => CheckKind::MissingReturnTypeStaticMethod,
|
CheckCode::ANN205 => CheckKind::MissingReturnTypeStaticMethod("...".to_string()),
|
||||||
CheckCode::ANN206 => CheckKind::MissingReturnTypeClassMethod,
|
CheckCode::ANN206 => CheckKind::MissingReturnTypeClassMethod("...".to_string()),
|
||||||
// pyupgrade
|
// pyupgrade
|
||||||
CheckCode::U001 => CheckKind::UselessMetaclassType,
|
CheckCode::U001 => CheckKind::UselessMetaclassType,
|
||||||
CheckCode::U002 => CheckKind::UnnecessaryAbspath,
|
CheckCode::U002 => CheckKind::UnnecessaryAbspath,
|
||||||
|
|
@ -974,16 +974,16 @@ impl CheckKind {
|
||||||
CheckKind::BadQuotesDocstring(_) => &CheckCode::Q002,
|
CheckKind::BadQuotesDocstring(_) => &CheckCode::Q002,
|
||||||
CheckKind::AvoidQuoteEscape => &CheckCode::Q003,
|
CheckKind::AvoidQuoteEscape => &CheckCode::Q003,
|
||||||
// flake8-annotations
|
// flake8-annotations
|
||||||
CheckKind::MissingTypeFunctionArgument => &CheckCode::ANN001,
|
CheckKind::MissingTypeFunctionArgument(_) => &CheckCode::ANN001,
|
||||||
CheckKind::MissingTypeArgs => &CheckCode::ANN002,
|
CheckKind::MissingTypeArgs(_) => &CheckCode::ANN002,
|
||||||
CheckKind::MissingTypeKwargs => &CheckCode::ANN003,
|
CheckKind::MissingTypeKwargs(_) => &CheckCode::ANN003,
|
||||||
CheckKind::MissingTypeSelf => &CheckCode::ANN101,
|
CheckKind::MissingTypeSelf(_) => &CheckCode::ANN101,
|
||||||
CheckKind::MissingTypeCls => &CheckCode::ANN102,
|
CheckKind::MissingTypeCls(_) => &CheckCode::ANN102,
|
||||||
CheckKind::MissingReturnTypePublicFunction => &CheckCode::ANN201,
|
CheckKind::MissingReturnTypePublicFunction(_) => &CheckCode::ANN201,
|
||||||
CheckKind::MissingReturnTypePrivateFunction => &CheckCode::ANN202,
|
CheckKind::MissingReturnTypePrivateFunction(_) => &CheckCode::ANN202,
|
||||||
CheckKind::MissingReturnTypeMagicMethod => &CheckCode::ANN204,
|
CheckKind::MissingReturnTypeMagicMethod(_) => &CheckCode::ANN204,
|
||||||
CheckKind::MissingReturnTypeStaticMethod => &CheckCode::ANN205,
|
CheckKind::MissingReturnTypeStaticMethod(_) => &CheckCode::ANN205,
|
||||||
CheckKind::MissingReturnTypeClassMethod => &CheckCode::ANN206,
|
CheckKind::MissingReturnTypeClassMethod(_) => &CheckCode::ANN206,
|
||||||
// pyupgrade
|
// pyupgrade
|
||||||
CheckKind::TypeOfPrimitive(_) => &CheckCode::U003,
|
CheckKind::TypeOfPrimitive(_) => &CheckCode::U003,
|
||||||
CheckKind::UnnecessaryAbspath => &CheckCode::U002,
|
CheckKind::UnnecessaryAbspath => &CheckCode::U002,
|
||||||
|
|
@ -1377,31 +1377,33 @@ impl CheckKind {
|
||||||
"Change outer quotes to avoid escaping inner quotes".to_string()
|
"Change outer quotes to avoid escaping inner quotes".to_string()
|
||||||
}
|
}
|
||||||
// flake8-annotations
|
// flake8-annotations
|
||||||
CheckKind::MissingTypeFunctionArgument => {
|
CheckKind::MissingTypeFunctionArgument(name) => {
|
||||||
"Missing type annotation for function argument".to_string()
|
format!("Missing type annotation for function argument `{name}`")
|
||||||
}
|
}
|
||||||
CheckKind::MissingTypeArgs => "Missing type annotation for `*args`".to_string(),
|
CheckKind::MissingTypeArgs(name) => format!("Missing type annotation for `*{name}`"),
|
||||||
CheckKind::MissingTypeKwargs => "Missing type annotation for `**kwargs`".to_string(),
|
CheckKind::MissingTypeKwargs(name) => {
|
||||||
CheckKind::MissingTypeSelf => {
|
format!("Missing type annotation for `**{name}`")
|
||||||
"Missing type annotation for `self` in method".to_string()
|
|
||||||
}
|
}
|
||||||
CheckKind::MissingTypeCls => {
|
CheckKind::MissingTypeSelf(name) => {
|
||||||
"Missing type annotation for `cls` in classmethod".to_string()
|
format!("Missing type annotation for `{name}` in method")
|
||||||
}
|
}
|
||||||
CheckKind::MissingReturnTypePublicFunction => {
|
CheckKind::MissingTypeCls(name) => {
|
||||||
"Missing return type annotation for public function".to_string()
|
format!("Missing type annotation for `{name}` in classmethod")
|
||||||
}
|
}
|
||||||
CheckKind::MissingReturnTypePrivateFunction => {
|
CheckKind::MissingReturnTypePublicFunction(name) => {
|
||||||
"Missing return type annotation for private function".to_string()
|
format!("Missing return type annotation for public function `{name}`")
|
||||||
}
|
}
|
||||||
CheckKind::MissingReturnTypeMagicMethod => {
|
CheckKind::MissingReturnTypePrivateFunction(name) => {
|
||||||
"Missing return type annotation for magic method".to_string()
|
format!("Missing return type annotation for private function `{name}`")
|
||||||
}
|
}
|
||||||
CheckKind::MissingReturnTypeStaticMethod => {
|
CheckKind::MissingReturnTypeMagicMethod(name) => {
|
||||||
"Missing return type annotation for staticmethod".to_string()
|
format!("Missing return type annotation for magic method `{name}`")
|
||||||
}
|
}
|
||||||
CheckKind::MissingReturnTypeClassMethod => {
|
CheckKind::MissingReturnTypeStaticMethod(name) => {
|
||||||
"Missing return type annotation for classmethod".to_string()
|
format!("Missing return type annotation for staticmethod `{name}`")
|
||||||
|
}
|
||||||
|
CheckKind::MissingReturnTypeClassMethod(name) => {
|
||||||
|
format!("Missing return type annotation for classmethod `{name}`")
|
||||||
}
|
}
|
||||||
// pyupgrade
|
// pyupgrade
|
||||||
CheckKind::TypeOfPrimitive(primitive) => {
|
CheckKind::TypeOfPrimitive(primitive) => {
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@ where
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_none_returning(stmt: &Stmt) -> bool {
|
fn is_none_returning(body: &[Stmt]) -> bool {
|
||||||
let mut visitor: ReturnStatementVisitor = Default::default();
|
let mut visitor: ReturnStatementVisitor = Default::default();
|
||||||
for stmt in match_body(stmt) {
|
for stmt in body {
|
||||||
visitor.visit_stmt(stmt);
|
visitor.visit_stmt(stmt);
|
||||||
}
|
}
|
||||||
for expr in visitor.returns.into_iter().flatten() {
|
for expr in visitor.returns.into_iter().flatten() {
|
||||||
|
|
@ -48,26 +48,23 @@ fn is_none_returning(stmt: &Stmt) -> bool {
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
fn match_args(stmt: &Stmt) -> &Arguments {
|
fn match_function_def(stmt: &Stmt) -> (&str, &Arguments, &Option<Box<Expr>>, &Vec<Stmt>) {
|
||||||
match &stmt.node {
|
match &stmt.node {
|
||||||
StmtKind::FunctionDef { args, .. } | StmtKind::AsyncFunctionDef { args, .. } => args,
|
StmtKind::FunctionDef {
|
||||||
_ => panic!("Found non-FunctionDef in match_args"),
|
name,
|
||||||
|
args,
|
||||||
|
returns,
|
||||||
|
body,
|
||||||
|
..
|
||||||
}
|
}
|
||||||
}
|
| StmtKind::AsyncFunctionDef {
|
||||||
|
name,
|
||||||
fn match_body(stmt: &Stmt) -> &Vec<Stmt> {
|
args,
|
||||||
match &stmt.node {
|
returns,
|
||||||
StmtKind::FunctionDef { body, .. } | StmtKind::AsyncFunctionDef { body, .. } => body,
|
body,
|
||||||
_ => panic!("Found non-FunctionDef in match_body"),
|
..
|
||||||
}
|
} => (name, args, returns, body),
|
||||||
}
|
_ => panic!("Found non-FunctionDef in match_name"),
|
||||||
|
|
||||||
fn match_returns(stmt: &Stmt) -> &Option<Box<Expr>> {
|
|
||||||
match &stmt.node {
|
|
||||||
StmtKind::FunctionDef { returns, .. } | StmtKind::AsyncFunctionDef { returns, .. } => {
|
|
||||||
returns
|
|
||||||
}
|
|
||||||
_ => panic!("Found non-FunctionDef in match_returns"),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -82,8 +79,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
DefinitionKind::Class(_) => {}
|
DefinitionKind::Class(_) => {}
|
||||||
DefinitionKind::NestedClass(_) => {}
|
DefinitionKind::NestedClass(_) => {}
|
||||||
DefinitionKind::Function(stmt) | DefinitionKind::NestedFunction(stmt) => {
|
DefinitionKind::Function(stmt) | DefinitionKind::NestedFunction(stmt) => {
|
||||||
let args = match_args(stmt);
|
let (name, args, returns, body) = match_function_def(stmt);
|
||||||
let returns = match_returns(stmt);
|
|
||||||
|
|
||||||
// ANN001
|
// ANN001
|
||||||
for arg in args
|
for arg in args
|
||||||
|
|
@ -98,7 +94,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
{
|
{
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN001) {
|
if checker.settings.enabled.contains(&CheckCode::ANN001) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingTypeFunctionArgument,
|
CheckKind::MissingTypeFunctionArgument(arg.node.arg.to_string()),
|
||||||
Range::from_located(arg),
|
Range::from_located(arg),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -114,7 +110,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
{
|
{
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN002) {
|
if checker.settings.enabled.contains(&CheckCode::ANN002) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingTypeArgs,
|
CheckKind::MissingTypeArgs(arg.node.arg.to_string()),
|
||||||
Range::from_located(arg),
|
Range::from_located(arg),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -130,7 +126,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
{
|
{
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN003) {
|
if checker.settings.enabled.contains(&CheckCode::ANN003) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingTypeKwargs,
|
CheckKind::MissingTypeKwargs(arg.node.arg.to_string()),
|
||||||
Range::from_located(arg),
|
Range::from_located(arg),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -143,7 +139,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
// Allow omission of return annotation in `__init__` functions, if the function
|
// Allow omission of return annotation in `__init__` functions, if the function
|
||||||
// only returns `None` (explicitly or implicitly).
|
// only returns `None` (explicitly or implicitly).
|
||||||
if checker.settings.flake8_annotations.suppress_none_returning
|
if checker.settings.flake8_annotations.suppress_none_returning
|
||||||
&& is_none_returning(stmt)
|
&& is_none_returning(body)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -152,7 +148,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
Visibility::Public => {
|
Visibility::Public => {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN201) {
|
if checker.settings.enabled.contains(&CheckCode::ANN201) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingReturnTypePublicFunction,
|
CheckKind::MissingReturnTypePublicFunction(name.to_string()),
|
||||||
Range::from_located(stmt),
|
Range::from_located(stmt),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -160,7 +156,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
Visibility::Private => {
|
Visibility::Private => {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN202) {
|
if checker.settings.enabled.contains(&CheckCode::ANN202) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingReturnTypePrivateFunction,
|
CheckKind::MissingReturnTypePrivateFunction(name.to_string()),
|
||||||
Range::from_located(stmt),
|
Range::from_located(stmt),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -169,8 +165,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DefinitionKind::Method(stmt) => {
|
DefinitionKind::Method(stmt) => {
|
||||||
let args = match_args(stmt);
|
let (name, args, returns, body) = match_function_def(stmt);
|
||||||
let returns = match_returns(stmt);
|
|
||||||
let mut has_any_typed_arg = false;
|
let mut has_any_typed_arg = false;
|
||||||
|
|
||||||
// ANN001
|
// ANN001
|
||||||
|
|
@ -190,7 +185,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
{
|
{
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN001) {
|
if checker.settings.enabled.contains(&CheckCode::ANN001) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingTypeFunctionArgument,
|
CheckKind::MissingTypeFunctionArgument(arg.node.arg.to_string()),
|
||||||
Range::from_located(arg),
|
Range::from_located(arg),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -208,7 +203,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
{
|
{
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN002) {
|
if checker.settings.enabled.contains(&CheckCode::ANN002) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingTypeArgs,
|
CheckKind::MissingTypeArgs(arg.node.arg.to_string()),
|
||||||
Range::from_located(arg),
|
Range::from_located(arg),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -226,7 +221,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
{
|
{
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN003) {
|
if checker.settings.enabled.contains(&CheckCode::ANN003) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingTypeKwargs,
|
CheckKind::MissingTypeKwargs(arg.node.arg.to_string()),
|
||||||
Range::from_located(arg),
|
Range::from_located(arg),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -243,14 +238,14 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
if visibility::is_classmethod(stmt) {
|
if visibility::is_classmethod(stmt) {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN102) {
|
if checker.settings.enabled.contains(&CheckCode::ANN102) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingTypeCls,
|
CheckKind::MissingTypeCls(arg.node.arg.to_string()),
|
||||||
Range::from_located(arg),
|
Range::from_located(arg),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN101) {
|
if checker.settings.enabled.contains(&CheckCode::ANN101) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingTypeSelf,
|
CheckKind::MissingTypeSelf(arg.node.arg.to_string()),
|
||||||
Range::from_located(arg),
|
Range::from_located(arg),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -264,7 +259,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
// Allow omission of return annotation in `__init__` functions, if the function
|
// Allow omission of return annotation in `__init__` functions, if the function
|
||||||
// only returns `None` (explicitly or implicitly).
|
// only returns `None` (explicitly or implicitly).
|
||||||
if checker.settings.flake8_annotations.suppress_none_returning
|
if checker.settings.flake8_annotations.suppress_none_returning
|
||||||
&& is_none_returning(stmt)
|
&& is_none_returning(body)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -272,21 +267,21 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
if visibility::is_classmethod(stmt) {
|
if visibility::is_classmethod(stmt) {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN206) {
|
if checker.settings.enabled.contains(&CheckCode::ANN206) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingReturnTypeClassMethod,
|
CheckKind::MissingReturnTypeClassMethod(name.to_string()),
|
||||||
Range::from_located(stmt),
|
Range::from_located(stmt),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
} else if visibility::is_staticmethod(stmt) {
|
} else if visibility::is_staticmethod(stmt) {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN205) {
|
if checker.settings.enabled.contains(&CheckCode::ANN205) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingReturnTypeStaticMethod,
|
CheckKind::MissingReturnTypeStaticMethod(name.to_string()),
|
||||||
Range::from_located(stmt),
|
Range::from_located(stmt),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
} else if visibility::is_magic(stmt) {
|
} else if visibility::is_magic(stmt) {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN204) {
|
if checker.settings.enabled.contains(&CheckCode::ANN204) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingReturnTypeMagicMethod,
|
CheckKind::MissingReturnTypeMagicMethod(name.to_string()),
|
||||||
Range::from_located(stmt),
|
Range::from_located(stmt),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -298,7 +293,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
&& has_any_typed_arg)
|
&& has_any_typed_arg)
|
||||||
{
|
{
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingReturnTypeMagicMethod,
|
CheckKind::MissingReturnTypeMagicMethod(name.to_string()),
|
||||||
Range::from_located(stmt),
|
Range::from_located(stmt),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -308,7 +303,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
Visibility::Public => {
|
Visibility::Public => {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN201) {
|
if checker.settings.enabled.contains(&CheckCode::ANN201) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingReturnTypePublicFunction,
|
CheckKind::MissingReturnTypePublicFunction(name.to_string()),
|
||||||
Range::from_located(stmt),
|
Range::from_located(stmt),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
@ -316,7 +311,7 @@ pub fn definition(checker: &mut Checker, definition: &Definition, visibility: &V
|
||||||
Visibility::Private => {
|
Visibility::Private => {
|
||||||
if checker.settings.enabled.contains(&CheckCode::ANN202) {
|
if checker.settings.enabled.contains(&CheckCode::ANN202) {
|
||||||
checker.add_check(Check::new(
|
checker.add_check(Check::new(
|
||||||
CheckKind::MissingReturnTypePrivateFunction,
|
CheckKind::MissingReturnTypePrivateFunction(name.to_string()),
|
||||||
Range::from_located(stmt),
|
Range::from_located(stmt),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
source: src/flake8_annotations/mod.rs
|
source: src/flake8_annotations/mod.rs
|
||||||
expression: checks
|
expression: checks
|
||||||
---
|
---
|
||||||
- kind: MissingReturnTypePublicFunction
|
- kind:
|
||||||
|
MissingReturnTypePublicFunction: foo
|
||||||
location:
|
location:
|
||||||
row: 4
|
row: 4
|
||||||
column: 0
|
column: 0
|
||||||
|
|
@ -10,7 +11,8 @@ expression: checks
|
||||||
row: 9
|
row: 9
|
||||||
column: 0
|
column: 0
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingTypeFunctionArgument
|
- kind:
|
||||||
|
MissingTypeFunctionArgument: a
|
||||||
location:
|
location:
|
||||||
row: 4
|
row: 4
|
||||||
column: 8
|
column: 8
|
||||||
|
|
@ -18,7 +20,8 @@ expression: checks
|
||||||
row: 4
|
row: 4
|
||||||
column: 9
|
column: 9
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingTypeFunctionArgument
|
- kind:
|
||||||
|
MissingTypeFunctionArgument: b
|
||||||
location:
|
location:
|
||||||
row: 4
|
row: 4
|
||||||
column: 11
|
column: 11
|
||||||
|
|
@ -26,7 +29,8 @@ expression: checks
|
||||||
row: 4
|
row: 4
|
||||||
column: 12
|
column: 12
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingReturnTypePublicFunction
|
- kind:
|
||||||
|
MissingReturnTypePublicFunction: foo
|
||||||
location:
|
location:
|
||||||
row: 9
|
row: 9
|
||||||
column: 0
|
column: 0
|
||||||
|
|
@ -34,7 +38,8 @@ expression: checks
|
||||||
row: 14
|
row: 14
|
||||||
column: 0
|
column: 0
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingTypeFunctionArgument
|
- kind:
|
||||||
|
MissingTypeFunctionArgument: b
|
||||||
location:
|
location:
|
||||||
row: 9
|
row: 9
|
||||||
column: 16
|
column: 16
|
||||||
|
|
@ -42,7 +47,8 @@ expression: checks
|
||||||
row: 9
|
row: 9
|
||||||
column: 17
|
column: 17
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingTypeFunctionArgument
|
- kind:
|
||||||
|
MissingTypeFunctionArgument: b
|
||||||
location:
|
location:
|
||||||
row: 14
|
row: 14
|
||||||
column: 16
|
column: 16
|
||||||
|
|
@ -50,7 +56,8 @@ expression: checks
|
||||||
row: 14
|
row: 14
|
||||||
column: 17
|
column: 17
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingReturnTypePublicFunction
|
- kind:
|
||||||
|
MissingReturnTypePublicFunction: foo
|
||||||
location:
|
location:
|
||||||
row: 19
|
row: 19
|
||||||
column: 0
|
column: 0
|
||||||
|
|
@ -58,7 +65,8 @@ expression: checks
|
||||||
row: 24
|
row: 24
|
||||||
column: 0
|
column: 0
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingReturnTypePublicFunction
|
- kind:
|
||||||
|
MissingReturnTypePublicFunction: foo
|
||||||
location:
|
location:
|
||||||
row: 24
|
row: 24
|
||||||
column: 0
|
column: 0
|
||||||
|
|
@ -66,7 +74,8 @@ expression: checks
|
||||||
row: 29
|
row: 29
|
||||||
column: 0
|
column: 0
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingTypeSelf
|
- kind:
|
||||||
|
MissingTypeSelf: self
|
||||||
location:
|
location:
|
||||||
row: 44
|
row: 44
|
||||||
column: 12
|
column: 12
|
||||||
|
|
@ -74,7 +83,8 @@ expression: checks
|
||||||
row: 44
|
row: 44
|
||||||
column: 16
|
column: 16
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingTypeCls
|
- kind:
|
||||||
|
MissingTypeCls: cls
|
||||||
location:
|
location:
|
||||||
row: 54
|
row: 54
|
||||||
column: 12
|
column: 12
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
source: src/flake8_annotations/mod.rs
|
source: src/flake8_annotations/mod.rs
|
||||||
expression: checks
|
expression: checks
|
||||||
---
|
---
|
||||||
- kind: MissingReturnTypeMagicMethod
|
- kind:
|
||||||
|
MissingReturnTypeMagicMethod: __init__
|
||||||
location:
|
location:
|
||||||
row: 5
|
row: 5
|
||||||
column: 4
|
column: 4
|
||||||
|
|
@ -10,7 +11,8 @@ expression: checks
|
||||||
row: 10
|
row: 10
|
||||||
column: 0
|
column: 0
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingReturnTypeMagicMethod
|
- kind:
|
||||||
|
MissingReturnTypeMagicMethod: __init__
|
||||||
location:
|
location:
|
||||||
row: 11
|
row: 11
|
||||||
column: 4
|
column: 4
|
||||||
|
|
@ -18,7 +20,8 @@ expression: checks
|
||||||
row: 16
|
row: 16
|
||||||
column: 0
|
column: 0
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingReturnTypePrivateFunction
|
- kind:
|
||||||
|
MissingReturnTypePrivateFunction: __init__
|
||||||
location:
|
location:
|
||||||
row: 40
|
row: 40
|
||||||
column: 0
|
column: 0
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
source: src/flake8_annotations/mod.rs
|
source: src/flake8_annotations/mod.rs
|
||||||
expression: checks
|
expression: checks
|
||||||
---
|
---
|
||||||
- kind: MissingReturnTypePublicFunction
|
- kind:
|
||||||
|
MissingReturnTypePublicFunction: foo
|
||||||
location:
|
location:
|
||||||
row: 45
|
row: 45
|
||||||
column: 0
|
column: 0
|
||||||
|
|
@ -10,7 +11,8 @@ expression: checks
|
||||||
row: 50
|
row: 50
|
||||||
column: 0
|
column: 0
|
||||||
fix: ~
|
fix: ~
|
||||||
- kind: MissingReturnTypePublicFunction
|
- kind:
|
||||||
|
MissingReturnTypePublicFunction: foo
|
||||||
location:
|
location:
|
||||||
row: 50
|
row: 50
|
||||||
column: 0
|
column: 0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue