mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Improve the performance of `PythonDomain.clear_doc()
`
This commit is contained in:
parent
e41617850f
commit
95e7092d92
@ -714,12 +714,16 @@ class PythonDomain(Domain):
|
|||||||
synopsis, platform, deprecated)
|
synopsis, platform, deprecated)
|
||||||
|
|
||||||
def clear_doc(self, docname: str) -> None:
|
def clear_doc(self, docname: str) -> None:
|
||||||
for fullname, obj in list(self.objects.items()):
|
to_remove = [
|
||||||
if obj.docname == docname:
|
fullname for fullname, obj in self.objects.items() if obj.docname == docname
|
||||||
del self.objects[fullname]
|
]
|
||||||
for modname, mod in list(self.modules.items()):
|
for fullname in to_remove:
|
||||||
if mod.docname == docname:
|
del self.objects[fullname]
|
||||||
del self.modules[modname]
|
to_remove = [
|
||||||
|
modname for modname, mod in self.modules.items() if mod.docname == docname
|
||||||
|
]
|
||||||
|
for fullname in to_remove:
|
||||||
|
del self.modules[fullname]
|
||||||
|
|
||||||
def merge_domaindata(self, docnames: Set[str], otherdata: dict[str, Any]) -> None:
|
def merge_domaindata(self, docnames: Set[str], otherdata: dict[str, Any]) -> None:
|
||||||
# XXX check duplicates?
|
# XXX check duplicates?
|
||||||
|
Loading…
Reference in New Issue
Block a user