123123
124124from mypy .build import (
125125 BuildManager , State , BuildSource , Graph , load_graph , SavedCache , CacheMeta ,
126- cache_meta_from_dict , find_module_clear_caches
126+ cache_meta_from_dict , find_module_clear_caches , DEBUG_FINE_GRAINED
127127)
128128from mypy .checker import DeferredNode
129129from mypy .errors import Errors , CompileError
@@ -201,23 +201,23 @@ def update(self, changed_modules: List[Tuple[str, str]]) -> List[str]:
201201 self .triggered = []
202202 changed_modules = dedupe_modules (changed_modules + self .stale )
203203 initial_set = {id for id , _ in changed_modules }
204- self .manager .log ( 'fine-grained: ==== update %s ====' % ', ' .join (
204+ self .manager .log_fine_grained ( ' ==== update %s ====' % ', ' .join (
205205 repr (id ) for id , _ in changed_modules ))
206- if self .previous_targets_with_errors and self .options . verbosity >= 1 :
207- self .manager .log ( 'fine-grained: previous targets with errors: %s' %
206+ if self .previous_targets_with_errors and is_verbose ( self .manager ) :
207+ self .manager .log_fine_grained ( ' previous targets with errors: %s' %
208208 sorted (self .previous_targets_with_errors ))
209209
210210 if self .blocking_error :
211211 # Handle blocking errors first. We'll exit as soon as we find a
212212 # module that still has blocking errors.
213- self .manager .log ( 'fine-grained: existing blocker: %s' % self .blocking_error [0 ])
213+ self .manager .log_fine_grained ( ' existing blocker: %s' % self .blocking_error [0 ])
214214 changed_modules = dedupe_modules ([self .blocking_error ] + changed_modules )
215215 self .blocking_error = None
216216
217217 while changed_modules :
218218 next_id , next_path = changed_modules .pop (0 )
219219 if next_id not in self .previous_modules and next_id not in initial_set :
220- self .manager .log ( 'fine-grained: skip %r (module not in import graph)' % next_id )
220+ self .manager .log_fine_grained ( ' skip %r (module not in import graph)' % next_id )
221221 continue
222222 result = self .update_single (next_id , next_path )
223223 messages , remaining , (next_id , next_path ), blocker = result
@@ -248,7 +248,7 @@ def update_single(self, module: str, path: str) -> Tuple[List[str],
248248 - Module which was actually processed as (id, path) tuple
249249 - Whether there was a blocking error in the module
250250 """
251- self .manager .log ( 'fine-grained: --- update single %r ---' % module )
251+ self .manager .log_fine_grained ( ' --- update single %r ---' % module )
252252
253253 # TODO: If new module brings in other modules, we parse some files multiple times.
254254 manager = self .manager
@@ -272,10 +272,10 @@ def update_single(self, module: str, path: str) -> Tuple[List[str],
272272
273273 # TODO: What to do with stale dependencies?
274274 triggered = calculate_active_triggers (manager , old_snapshots , {module : tree })
275- if self .options . verbosity >= 1 :
275+ if is_verbose ( self .manager ) :
276276 filtered = [trigger for trigger in triggered
277277 if not trigger .endswith ('__>' )]
278- self .manager .log ( 'fine-grained: triggered: %r' % sorted (filtered ))
278+ self .manager .log_fine_grained ( ' triggered: %r' % sorted (filtered ))
279279 self .triggered .extend (triggered | self .previous_targets_with_errors )
280280 collect_dependencies ({module : tree }, self .deps , graph )
281281 remaining += propagate_changes_using_dependencies (
@@ -367,7 +367,7 @@ def update_single_isolated(module: str,
367367 if module in manager .modules :
368368 assert_equivalent_paths (path , manager .modules [module ].path )
369369 else :
370- manager .log ( 'fine-grained: new module %r' % module )
370+ manager .log_fine_grained ( ' new module %r' % module )
371371
372372 old_modules = dict (manager .modules )
373373 sources = get_sources (previous_modules , [(module , path )])
@@ -411,7 +411,7 @@ def update_single_isolated(module: str,
411411 else :
412412 del manager .modules [id ]
413413 del graph [id ]
414- manager .log ( 'fine-grained: --> %r (newly imported)' % module )
414+ manager .log_fine_grained ( ' --> %r (newly imported)' % module )
415415 else :
416416 remaining_modules = []
417417
@@ -485,7 +485,7 @@ def assert_equivalent_paths(path1: str, path2: str) -> None:
485485def delete_module (module_id : str ,
486486 graph : Dict [str , State ],
487487 manager : BuildManager ) -> Dict [str , State ]:
488- manager .log ( 'fine-grained: delete module %r' % module_id )
488+ manager .log_fine_grained ( ' delete module %r' % module_id )
489489 # TODO: Deletion of a package
490490 # TODO: Remove deps for the module (this only affects memory use, not correctness)
491491 assert module_id not in graph
@@ -735,7 +735,7 @@ def propagate_changes_using_dependencies(
735735 if id is not None and id not in up_to_date_modules :
736736 if id not in todo :
737737 todo [id ] = set ()
738- manager .log ( 'fine-grained: process: %s' % target )
738+ manager .log_fine_grained ( ' process: %s' % target )
739739 todo [id ].update (lookup_target (manager .modules , target ))
740740 triggered = set ()
741741 # TODO: Preserve order (set is not optimal)
@@ -753,8 +753,8 @@ def propagate_changes_using_dependencies(
753753 # dependency loop that loops back to an originally processed module.
754754 up_to_date_modules = set ()
755755 targets_with_errors = set ()
756- if manager . options . verbosity >= 1 :
757- manager .log ( 'fine-grained: triggered: %r' % list (triggered ))
756+ if is_verbose ( manager ) :
757+ manager .log_fine_grained ( ' triggered: %r' % list (triggered ))
758758
759759 return remaining_modules
760760
@@ -793,7 +793,7 @@ def find_targets_recursive(
793793 continue
794794 if module_id not in result :
795795 result [module_id ] = set ()
796- manager .log ( 'fine-grained: process %s' % target )
796+ manager .log_fine_grained ( ' process %s' % target )
797797 deferred = lookup_target (modules , target )
798798 result [module_id ].update (deferred )
799799
@@ -810,7 +810,7 @@ def reprocess_nodes(manager: BuildManager,
810810 Return fired triggers.
811811 """
812812 if module_id not in manager .saved_cache or module_id not in graph :
813- manager .log ( 'fine-grained: %s not in saved cache or graph (blocking errors or deleted?)' %
813+ manager .log_fine_grained ( ' %s not in saved cache or graph (blocking errors or deleted?)' %
814814 module_id )
815815 return set ()
816816
@@ -1008,3 +1008,7 @@ def extract_type_maps(graph: Graph) -> Dict[str, Dict[Expression, Type]]:
10081008 # This is used to export information used only by the testmerge harness.
10091009 return {id : state .type_map () for id , state in graph .items ()
10101010 if state .tree }
1011+
1012+
1013+ def is_verbose (manager : BuildManager ) -> bool :
1014+ return manager .options .verbosity >= 1 or DEBUG_FINE_GRAINED
0 commit comments