143143from mypy .server .trigger import make_trigger
144144
145145
146- # If True, print out debug logging output.
147- DEBUG = False
148-
149-
150146MAX_ITER = 1000
151147
152148
@@ -205,25 +201,23 @@ def update(self, changed_modules: List[Tuple[str, str]]) -> List[str]:
205201 self .triggered = []
206202 changed_modules = dedupe_modules (changed_modules + self .stale )
207203 initial_set = {id for id , _ in changed_modules }
208- if DEBUG :
209- print ('==== update %s ====' % ', ' .join (repr (id )
210- for id , _ in changed_modules ))
211- if self .previous_targets_with_errors :
212- print ('previous targets with errors: %s' %
213- sorted (self .previous_targets_with_errors ))
204+ self .manager .log ('fine-grained: ==== update %s ====' % ', ' .join (
205+ 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' %
208+ sorted (self .previous_targets_with_errors ))
214209
215210 if self .blocking_error :
216211 # Handle blocking errors first. We'll exit as soon as we find a
217212 # module that still has blocking errors.
218- if DEBUG :
219- print ('existing blocker: %s' % self .blocking_error [0 ])
213+ self .manager .log ('fine-grained: existing blocker: %s' % self .blocking_error [0 ])
220214 changed_modules = dedupe_modules ([self .blocking_error ] + changed_modules )
221215 self .blocking_error = None
222216
223217 while changed_modules :
224218 next_id , next_path = changed_modules .pop (0 )
225219 if next_id not in self .previous_modules and next_id not in initial_set :
226- print ( ' skip %r (module not in import graph)' % next_id )
220+ self . manager . log ( 'fine-grained: skip %r (module not in import graph)' % next_id )
227221 continue
228222 result = self .update_single (next_id , next_path )
229223 messages , remaining , (next_id , next_path ), blocker = result
@@ -254,8 +248,7 @@ def update_single(self, module: str, path: str) -> Tuple[List[str],
254248 - Module which was actually processed as (id, path) tuple
255249 - Whether there was a blocking error in the module
256250 """
257- if DEBUG :
258- print ('--- update single %r ---' % module )
251+ self .manager .log ('fine-grained: --- update single %r ---' % module )
259252
260253 # TODO: If new module brings in other modules, we parse some files multiple times.
261254 manager = self .manager
@@ -279,10 +272,10 @@ def update_single(self, module: str, path: str) -> Tuple[List[str],
279272
280273 # TODO: What to do with stale dependencies?
281274 triggered = calculate_active_triggers (manager , old_snapshots , {module : tree })
282- if DEBUG :
275+ if self . options . verbosity >= 1 :
283276 filtered = [trigger for trigger in triggered
284277 if not trigger .endswith ('__>' )]
285- print ( ' triggered:' , sorted (filtered ))
278+ self . manager . log ( 'fine-grained: triggered: %r' % sorted (filtered ))
286279 self .triggered .extend (triggered | self .previous_targets_with_errors )
287280 collect_dependencies ({module : tree }, self .deps , graph )
288281 remaining += propagate_changes_using_dependencies (
@@ -373,8 +366,8 @@ def update_single_isolated(module: str,
373366 """
374367 if module in manager .modules :
375368 assert_equivalent_paths (path , manager .modules [module ].path )
376- elif DEBUG :
377- print ( ' new module %r' % module )
369+ else :
370+ manager . log ( 'fine-grained: new module %r' % module )
378371
379372 old_modules = dict (manager .modules )
380373 sources = get_sources (previous_modules , [(module , path )])
@@ -418,8 +411,7 @@ def update_single_isolated(module: str,
418411 else :
419412 del manager .modules [id ]
420413 del graph [id ]
421- if DEBUG :
422- print ('--> %r (newly imported)' % module )
414+ manager .log ('fine-grained: --> %r (newly imported)' % module )
423415 else :
424416 remaining_modules = []
425417
@@ -493,8 +485,7 @@ def assert_equivalent_paths(path1: str, path2: str) -> None:
493485def delete_module (module_id : str ,
494486 graph : Dict [str , State ],
495487 manager : BuildManager ) -> Dict [str , State ]:
496- if DEBUG :
497- print ('delete module %r' % module_id )
488+ manager .log ('fine-grained: delete module %r' % module_id )
498489 # TODO: Deletion of a package
499490 # TODO: Remove deps for the module (this only affects memory use, not correctness)
500491 assert module_id not in graph
@@ -735,16 +726,16 @@ def propagate_changes_using_dependencies(
735726 if num_iter > MAX_ITER :
736727 raise RuntimeError ('Max number of iterations (%d) reached (endless loop?)' % MAX_ITER )
737728
738- todo = find_targets_recursive (triggered , deps , manager .modules , up_to_date_modules )
729+ todo = find_targets_recursive (manager , triggered , deps ,
730+ manager .modules , up_to_date_modules )
739731 # Also process targets that used to have errors, as otherwise some
740732 # errors might be lost.
741733 for target in targets_with_errors :
742734 id = module_prefix (manager .modules , target )
743735 if id is not None and id not in up_to_date_modules :
744736 if id not in todo :
745737 todo [id ] = set ()
746- if DEBUG :
747- print ('process' , target )
738+ manager .log ('fine-grained: process: %s' % target )
748739 todo [id ].update (lookup_target (manager .modules , target ))
749740 triggered = set ()
750741 # TODO: Preserve order (set is not optimal)
@@ -762,13 +753,14 @@ def propagate_changes_using_dependencies(
762753 # dependency loop that loops back to an originally processed module.
763754 up_to_date_modules = set ()
764755 targets_with_errors = set ()
765- if DEBUG :
766- print ( ' triggered:' , list (triggered ))
756+ if manager . options . verbosity >= 1 :
757+ manager . log ( 'fine-grained: triggered: %r' % list (triggered ))
767758
768759 return remaining_modules
769760
770761
771762def find_targets_recursive (
763+ manager : BuildManager ,
772764 triggers : Set [str ],
773765 deps : Dict [str , Set [str ]],
774766 modules : Dict [str , MypyFile ],
@@ -801,8 +793,7 @@ def find_targets_recursive(
801793 continue
802794 if module_id not in result :
803795 result [module_id ] = set ()
804- if DEBUG :
805- print ('process' , target )
796+ manager .log ('fine-grained: process %s' % target )
806797 deferred = lookup_target (modules , target )
807798 result [module_id ].update (deferred )
808799
@@ -819,8 +810,8 @@ def reprocess_nodes(manager: BuildManager,
819810 Return fired triggers.
820811 """
821812 if module_id not in manager .saved_cache or module_id not in graph :
822- if DEBUG :
823- print ( '%s not in saved cache or graph (blocking errors or deleted?)' % module_id )
813+ manager . log ( 'fine-grained: %s not in saved cache or graph (blocking errors or deleted?)' %
814+ module_id )
824815 return set ()
825816
826817 file_node = manager .modules [module_id ]
0 commit comments