From: Bruno Haible Date: Thu, 5 Dec 2024 08:43:14 +0000 (+0100) Subject: gnulib-tool.py: Fix invalid use of cache. X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=ab4cc5f2b5c616b29f750df4347966ef83416b23;p=gnulib.git 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. --- diff --git a/ChangeLog b/ChangeLog index 892ead004f..800faf5fe0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2024-12-05 Bruno Haible + 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. diff --git a/pygnulib/GLModuleSystem.py b/pygnulib/GLModuleSystem.py index 1a5c93b0d8..c99cfe25ad 100644 --- a/pygnulib/GLModuleSystem.py +++ b/pygnulib/GLModuleSystem.py @@ -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,