Skip to content

Commit a8212dd

Browse files
committed
Rename visitor + performance
1 parent a924200 commit a8212dd

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

mypy/expandtype.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
flatten_nested_unions,
4545
get_proper_type,
4646
has_param_specs,
47-
has_type_vars_default,
47+
has_type_var_like_default,
4848
remove_trivial,
4949
)
5050
from mypy.typevartuples import (
@@ -250,7 +250,7 @@ def visit_type_var(self, t: TypeVarType) -> Type:
250250
t = t.copy_modified(upper_bound=t.upper_bound.accept(self))
251251
repl = self.variables.get(t.id, t)
252252

253-
if has_type_vars_default(repl):
253+
if has_type_var_like_default(repl):
254254
if repl in self.recursive_guard:
255255
return repl
256256
self.recursive_guard.add(repl)

mypy/types.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3416,7 +3416,7 @@ def has_type_vars(typ: Type) -> bool:
34163416
return typ.accept(HasTypeVars())
34173417

34183418

3419-
class HasTypeVarDefault(BoolTypeQuery):
3419+
class HasTypeVarLikeDefault(BoolTypeQuery):
34203420
def __init__(self) -> None:
34213421
super().__init__(ANY_STRATEGY)
34223422
self.skip_alias_target = True
@@ -3431,8 +3431,13 @@ def visit_param_spec(self, t: ParamSpecType) -> bool:
34313431
return t.has_default()
34323432

34333433

3434-
def has_type_vars_default(typ: Type) -> bool:
3435-
return typ.accept(HasTypeVarDefault())
3434+
# Use singleton since this is hot (note: call reset() before using)
3435+
_has_type_var_like_default: Final = HasTypeVarLikeDefault()
3436+
3437+
3438+
def has_type_var_like_default(typ: Type) -> bool:
3439+
_has_type_var_like_default.reset()
3440+
return typ.accept(_has_type_var_like_default)
34363441

34373442

34383443
class HasParamSpecs(BoolTypeQuery):

0 commit comments

Comments
 (0)