Skip to content

Commit 665a311

Browse files
committed
Only retain the overloads part
1 parent 03af5b2 commit 665a311

File tree

1 file changed

+22
-37
lines changed

1 file changed

+22
-37
lines changed

mypy/checkexpr.py

Lines changed: 22 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -357,9 +357,7 @@ def __init__(
357357
self._arg_infer_context_cache = None
358358

359359
self.overload_stack_depth = 0
360-
self.ops_stack_depth = 0
361360
self._args_cache: dict[tuple[int, ...], list[Type]] = {}
362-
self._ops_cache: dict[int, Type] = {}
363361

364362
def reset(self) -> None:
365363
self.resolved_type = {}
@@ -1688,14 +1686,6 @@ def overload_context(self) -> Iterator[None]:
16881686
if self.overload_stack_depth == 0:
16891687
self._args_cache.clear()
16901688

1691-
@contextmanager
1692-
def ops_context(self) -> Iterator[None]:
1693-
self.ops_stack_depth += 1
1694-
yield
1695-
self.ops_stack_depth -= 1
1696-
if self.ops_stack_depth == 0:
1697-
self._ops_cache.clear()
1698-
16991689
def check_callable_call(
17001690
self,
17011691
callee: CallableType,
@@ -3502,9 +3492,6 @@ def visit_op_expr(self, e: OpExpr) -> Type:
35023492
if isinstance(e.left, StrExpr):
35033493
return self.strfrm_checker.check_str_interpolation(e.left, e.right)
35043494

3505-
key = id(e)
3506-
if key in self._ops_cache:
3507-
return self._ops_cache[key]
35083495
left_type = self.accept(e.left)
35093496

35103497
proper_left_type = get_proper_type(left_type)
@@ -3574,30 +3561,28 @@ def visit_op_expr(self, e: OpExpr) -> Type:
35743561
)
35753562

35763563
if e.op in operators.op_methods:
3577-
with self.ops_context():
3578-
method = operators.op_methods[e.op]
3579-
if use_reverse is UseReverse.DEFAULT or use_reverse is UseReverse.NEVER:
3580-
result, method_type = self.check_op(
3581-
method,
3582-
base_type=left_type,
3583-
arg=e.right,
3584-
context=e,
3585-
allow_reverse=use_reverse is UseReverse.DEFAULT,
3586-
)
3587-
elif use_reverse is UseReverse.ALWAYS:
3588-
result, method_type = self.check_op(
3589-
# The reverse operator here gives better error messages:
3590-
operators.reverse_op_methods[method],
3591-
base_type=self.accept(e.right),
3592-
arg=e.left,
3593-
context=e,
3594-
allow_reverse=False,
3595-
)
3596-
else:
3597-
assert_never(use_reverse)
3598-
e.method_type = method_type
3599-
self._ops_cache[key] = result
3600-
return result
3564+
method = operators.op_methods[e.op]
3565+
if use_reverse is UseReverse.DEFAULT or use_reverse is UseReverse.NEVER:
3566+
result, method_type = self.check_op(
3567+
method,
3568+
base_type=left_type,
3569+
arg=e.right,
3570+
context=e,
3571+
allow_reverse=use_reverse is UseReverse.DEFAULT,
3572+
)
3573+
elif use_reverse is UseReverse.ALWAYS:
3574+
result, method_type = self.check_op(
3575+
# The reverse operator here gives better error messages:
3576+
operators.reverse_op_methods[method],
3577+
base_type=self.accept(e.right),
3578+
arg=e.left,
3579+
context=e,
3580+
allow_reverse=False,
3581+
)
3582+
else:
3583+
assert_never(use_reverse)
3584+
e.method_type = method_type
3585+
return result
36013586
else:
36023587
raise RuntimeError(f"Unknown operator {e.op}")
36033588

0 commit comments

Comments
 (0)