File tree Expand file tree Collapse file tree 3 files changed +13
-7
lines changed
Expand file tree Collapse file tree 3 files changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -378,10 +378,6 @@ def __init__(
378378 self .path = path
379379 self .msg = MessageBuilder (errors , modules )
380380 self .plugin = plugin
381- self .expr_checker = mypy .checkexpr .ExpressionChecker (
382- self , self .msg , self .plugin , per_line_checking_time_ns
383- )
384- self .pattern_checker = PatternChecker (self , self .msg , self .plugin )
385381 self .tscope = Scope ()
386382 self .scope = CheckerScope (tree )
387383 self .binder = ConditionalTypeBinder ()
@@ -419,6 +415,12 @@ def __init__(
419415 # example when type-checking class decorators.
420416 self .allow_abstract_call = False
421417
418+ # Child checker objects for specific AST node types
419+ self .expr_checker = mypy .checkexpr .ExpressionChecker (
420+ self , self .msg , self .plugin , per_line_checking_time_ns
421+ )
422+ self .pattern_checker = PatternChecker (self , self .msg , self .plugin )
423+
422424 @property
423425 def type_context (self ) -> list [Type | None ]:
424426 return self .expr_checker .type_context
Original file line number Diff line number Diff line change @@ -276,7 +276,7 @@ def __init__(
276276 self .msg = msg
277277 self .plugin = plugin
278278 self .per_line_checking_time_ns = per_line_checking_time_ns
279- self .collect_line_checking_stats = self . chk .options .line_checking_stats is not None
279+ self .collect_line_checking_stats = chk .options .line_checking_stats is not None
280280 # Are we already visiting some expression? This is used to avoid double counting
281281 # time for nested expressions.
282282 self .in_expression = False
Original file line number Diff line number Diff line change @@ -2623,13 +2623,17 @@ def __init__(
26232623 # We must keep this false to avoid crashes during semantic analysis.
26242624 # TODO: maybe switch this to True during type-checking pass?
26252625 self .items = flatten_nested_unions (items , handle_type_alias_type = False )
2626- self .can_be_true = any (item .can_be_true for item in items )
2627- self .can_be_false = any (item .can_be_false for item in items )
26282626 # is_evaluated should be set to false for type comments and string literals
26292627 self .is_evaluated = is_evaluated
26302628 # uses_pep604_syntax is True if Union uses OR syntax (X | Y)
26312629 self .uses_pep604_syntax = uses_pep604_syntax
26322630
2631+ def can_be_true_default (self ) -> bool :
2632+ return any (item .can_be_true for item in self .items )
2633+
2634+ def can_be_false_default (self ) -> bool :
2635+ return any (item .can_be_false for item in self .items )
2636+
26332637 def __hash__ (self ) -> int :
26342638 return hash (frozenset (self .items ))
26352639
You can’t perform that action at this time.
0 commit comments