|
12 | 12 | import mypy.checkexpr |
13 | 13 | from mypy import errorcodes as codes, join, message_registry, nodes, operators |
14 | 14 | from mypy.binder import ConditionalTypeBinder, Frame, get_declaration |
15 | | -from mypy.checker_shared import CheckerScope, TypeCheckerSharedApi, TypeRange |
| 15 | +from mypy.checker_shared import CheckerScope, TypeCheckerSharedApi, TypeRange, ExpressionCheckerSharedApi |
16 | 16 | from mypy.checkmember import ( |
17 | 17 | MemberContext, |
18 | 18 | analyze_class_attribute_access, |
@@ -296,7 +296,7 @@ class TypeChecker(NodeVisitor[None], TypeCheckerSharedApi): |
296 | 296 | # Helper for managing conditional types |
297 | 297 | binder: ConditionalTypeBinder |
298 | 298 | # Helper for type checking expressions |
299 | | - expr_checker: mypy.checkexpr.ExpressionChecker |
| 299 | + _expr_checker: mypy.checkexpr.ExpressionChecker |
300 | 300 |
|
301 | 301 | pattern_checker: PatternChecker |
302 | 302 |
|
@@ -411,14 +411,18 @@ def __init__( |
411 | 411 | self.allow_abstract_call = False |
412 | 412 |
|
413 | 413 | # Child checker objects for specific AST node types |
414 | | - self.expr_checker = mypy.checkexpr.ExpressionChecker( |
| 414 | + self._expr_checker = mypy.checkexpr.ExpressionChecker( |
415 | 415 | self, self.msg, self.plugin, per_line_checking_time_ns |
416 | 416 | ) |
417 | 417 | self.pattern_checker = PatternChecker(self, self.msg, self.plugin, options) |
418 | 418 |
|
| 419 | + @property |
| 420 | + def expr_checker(self) -> mypy.checkexpr.ExpressionChecker: |
| 421 | + return self._expr_checker |
| 422 | + |
419 | 423 | @property |
420 | 424 | def type_context(self) -> list[Type | None]: |
421 | | - return self.expr_checker.type_context |
| 425 | + return self._expr_checker.type_context |
422 | 426 |
|
423 | 427 | def reset(self) -> None: |
424 | 428 | """Cleanup stale state that might be left over from a typechecking run. |
|
0 commit comments