Skip to content

Commit a06b55d

Browse files
committed
Raise instead of returning None
1 parent d80e041 commit a06b55d

File tree

5 files changed

+212
-91
lines changed

5 files changed

+212
-91
lines changed

mypy/checker.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
FuncBase,
7878
FuncDef,
7979
FuncItem,
80+
GlobalDecl,
8081
IfStmt,
8182
Import,
8283
ImportAll,
@@ -92,6 +93,7 @@
9293
MypyFile,
9394
NameExpr,
9495
Node,
96+
NonlocalDecl,
9597
OperatorAssignmentStmt,
9698
OpExpr,
9799
OverloadedFuncDef,
@@ -7766,6 +7768,17 @@ def warn_deprecated_overload_item(
77667768
if candidate == target:
77677769
self.warn_deprecated(item.func, context)
77687770

7771+
# leafs
7772+
7773+
def visit_pass_stmt(self, o: PassStmt, /) -> None:
7774+
return None
7775+
7776+
def visit_nonlocal_decl(self, o: NonlocalDecl, /) -> None:
7777+
return None
7778+
7779+
def visit_global_decl(self, o: GlobalDecl, /) -> None:
7780+
return None
7781+
77697782

77707783
class CollectArgTypeVarTypes(TypeTraverserVisitor):
77717784
"""Collects the non-nested argument types in a set."""

mypy/semanal.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,12 @@
9797
AwaitExpr,
9898
Block,
9999
BreakStmt,
100+
BytesExpr,
100101
CallExpr,
101102
CastExpr,
102103
ClassDef,
103104
ComparisonExpr,
105+
ComplexExpr,
104106
ConditionalExpr,
105107
Context,
106108
ContinueStmt,
@@ -114,6 +116,7 @@
114116
Expression,
115117
ExpressionStmt,
116118
FakeExpression,
119+
FloatExpr,
117120
ForStmt,
118121
FuncBase,
119122
FuncDef,
@@ -126,6 +129,7 @@
126129
ImportBase,
127130
ImportFrom,
128131
IndexExpr,
132+
IntExpr,
129133
LambdaExpr,
130134
ListComprehension,
131135
ListExpr,
@@ -193,6 +197,7 @@
193197
MappingPattern,
194198
OrPattern,
195199
SequencePattern,
200+
SingletonPattern,
196201
StarredPattern,
197202
ValuePattern,
198203
)
@@ -7522,6 +7527,34 @@ def parse_dataclass_transform_field_specifiers(self, arg: Expression) -> tuple[s
75227527
names.append(specifier.fullname)
75237528
return tuple(names)
75247529

7530+
# leafs
7531+
def visit_int_expr(self, o: IntExpr, /) -> None:
7532+
return None
7533+
7534+
def visit_str_expr(self, o: StrExpr, /) -> None:
7535+
return None
7536+
7537+
def visit_bytes_expr(self, o: BytesExpr, /) -> None:
7538+
return None
7539+
7540+
def visit_float_expr(self, o: FloatExpr, /) -> None:
7541+
return None
7542+
7543+
def visit_complex_expr(self, o: ComplexExpr, /) -> None:
7544+
return None
7545+
7546+
def visit_ellipsis(self, o: EllipsisExpr, /) -> None:
7547+
return None
7548+
7549+
def visit_temp_node(self, o: TempNode, /) -> None:
7550+
return None
7551+
7552+
def visit_pass_stmt(self, o: PassStmt, /) -> None:
7553+
return None
7554+
7555+
def visit_singleton_pattern(self, o: SingletonPattern, /) -> None:
7556+
return None
7557+
75257558

75267559
def replace_implicit_first_type(sig: FunctionLike, new: Type) -> FunctionLike:
75277560
if isinstance(sig, CallableType):

mypy/traverser.py

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
OverloadedFuncDef,
5959
ParamSpecExpr,
6060
PassStmt,
61+
PromoteExpr,
6162
RaiseStmt,
6263
ReturnStmt,
6364
RevealExpr,
@@ -67,6 +68,7 @@
6768
StarExpr,
6869
StrExpr,
6970
SuperExpr,
71+
TempNode,
7072
TryStmt,
7173
TupleExpr,
7274
TypeAlias,
@@ -77,6 +79,7 @@
7779
TypeVarExpr,
7880
TypeVarTupleExpr,
7981
UnaryExpr,
82+
Var,
8083
WhileStmt,
8184
WithStmt,
8285
YieldExpr,
@@ -415,6 +418,85 @@ def visit_import_from(self, o: ImportFrom, /) -> None:
415418
for a in o.assignments:
416419
a.accept(self)
417420

421+
# leaf nodes
422+
def visit_name_expr(self, o: NameExpr, /) -> None:
423+
return None
424+
425+
def visit_str_expr(self, o: StrExpr, /) -> None:
426+
return None
427+
428+
def visit_int_expr(self, o: IntExpr, /) -> None:
429+
return None
430+
431+
def visit_float_expr(self, o: FloatExpr, /) -> None:
432+
return None
433+
434+
def visit_bytes_expr(self, o: BytesExpr, /) -> None:
435+
return None
436+
437+
def visit_ellipsis(self, o: EllipsisExpr, /) -> None:
438+
return None
439+
440+
def visit_var(self, o: Var, /) -> None:
441+
return None
442+
443+
def visit_continue_stmt(self, o: ContinueStmt, /) -> None:
444+
return None
445+
446+
def visit_pass_stmt(self, o: PassStmt, /) -> None:
447+
return None
448+
449+
def visit_break_stmt(self, o: BreakStmt, /) -> None:
450+
return None
451+
452+
def visit_temp_node(self, o: TempNode, /) -> None:
453+
return None
454+
455+
def visit_nonlocal_decl(self, o: NonlocalDecl, /) -> None:
456+
return None
457+
458+
def visit_global_decl(self, o: GlobalDecl, /) -> None:
459+
return None
460+
461+
def visit_import_all(self, o: ImportAll, /) -> None:
462+
return None
463+
464+
def visit_type_var_expr(self, o: TypeVarExpr, /) -> None:
465+
return None
466+
467+
def visit_paramspec_expr(self, o: ParamSpecExpr, /) -> None:
468+
return None
469+
470+
def visit_type_var_tuple_expr(self, o: TypeVarTupleExpr, /) -> None:
471+
return None
472+
473+
def visit_type_alias_expr(self, o: TypeAliasExpr, /) -> None:
474+
return None
475+
476+
def visit_type_alias(self, o: TypeAlias, /) -> None:
477+
return None
478+
479+
def visit_namedtuple_expr(self, o: NamedTupleExpr, /) -> None:
480+
return None
481+
482+
def visit_typeddict_expr(self, o: TypedDictExpr, /) -> None:
483+
return None
484+
485+
def visit_newtype_expr(self, o: NewTypeExpr, /) -> None:
486+
return None
487+
488+
def visit__promote_expr(self, o: PromoteExpr, /) -> None:
489+
return None
490+
491+
def visit_complex_expr(self, o: ComplexExpr, /) -> None:
492+
return None
493+
494+
def visit_enum_call_expr(self, o: EnumCallExpr, /) -> None:
495+
return None
496+
497+
def visit_singleton_pattern(self, o: SingletonPattern, /) -> None:
498+
return None
499+
418500

419501
class ExtendedTraverserVisitor(TraverserVisitor):
420502
"""This is a more flexible traverser.

0 commit comments

Comments
 (0)