]> Savannah Git Hosting - gnulib.git/commitdiff
gnulib-tool.py: Fix invalid use of cache.
authorBruno Haible <bruno@clisp.org>
Thu, 5 Dec 2024 08:43:14 +0000 (09:43 +0100)
committerBruno Haible <bruno@clisp.org>
Thu, 5 Dec 2024 08:43:14 +0000 (09:43 +0100)
* pygnulib/GLModuleSystem.py (GLModule._getDependents): Make the modules
argument mandatory. Don't store the result in self.cache.

ChangeLog
pygnulib/GLModuleSystem.py

index 892ead004f7edf55b0260785647832ad4d2cf11b..800faf5fe0e220990b33d7eb91b614d94226694c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2024-12-05  Bruno Haible  <bruno@clisp.org>
 
+       gnulib-tool.py: Fix invalid use of cache.
+       * pygnulib/GLModuleSystem.py (GLModule._getDependents): Make the modules
+       argument mandatory. Don't store the result in self.cache.
+
        gnulib-tool.py: Refactor.
        * pygnulib/GLModuleSystem.py (GLModuleSystem.getAllModules): Moved here
        from GLModule._getAllModules. No need to eliminate empty module names.
index 1a5c93b0d846b9f4e918e7af00aa0cdd277df710..c99cfe25adf80e36cfb572b3513f2f0260b388f7 100644 (file)
@@ -574,19 +574,6 @@ class GLModule:
 
         return outmodules
 
-    def _getDependents(self, modules: list[GLModule] | None = None) -> list[GLModule]:
-        '''Internal function for getDependentsRecursively
-        accepting an optional argument modules.'''
-        if 'dependents' not in self.cache:
-            result = []
-            if modules is None:
-                modules = self.modulesystem.getAllModules()
-            for module in modules:
-                if self in set(module.getDependenciesWithoutConditions()):
-                    result.append(module)
-            self.cache['dependents'] = result
-        return self.cache['dependents']
-
     def getDependents(self) -> list[GLModule]:
         '''Return list of dependents (a.k.a. "reverse dependencies"),
         as a list of GLModule objects.
@@ -639,6 +626,14 @@ class GLModule:
             self.cache['dependents'] = result
         return self.cache['dependents']
 
+    def _getDependents(self, modules: list[GLModule]) -> list[GLModule]:
+        '''Return the list of dependents of this module,
+        among the given set of modules.'''
+        result = []
+        for module in modules:
+            if self in set(module.getDependenciesWithoutConditions()):
+                result.append(module)
+        return result
 
     def getDependentsRecursively(self) -> set[GLModule]:
         '''Return a list of recursive dependents of this module,