diff options
author | Georg Brandl <georg@python.org> | 2009-09-07 22:52:26 +0200 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2009-09-07 22:52:26 +0200 |
commit | fa7f8812cd4e82e2393e8a8023312f71b5199d34 (patch) | |
tree | 89c33e03f3beba4ed7343248c34be120be6cf78d /sphinx/ext/autodoc.py | |
parent | 0d029eeb9c6cb98236fa44fb182879fa9c1a7ad7 (diff) | |
download | sphinx-git-fa7f8812cd4e82e2393e8a8023312f71b5199d34.tar.gz |
More refactoring for language-independent domain support.
* Renamed "desc"ription unit to "object" wherever possible.
* Added standard x-ref types to a StandardDomain which is always consulted.
* Split domains module into a subpackage.
* Removed additional_xref_types in favor of new directive classes in StandardDomain.
* Implemented x-ref inventory version 2, for all object types.
* Added env.doc_read_data which is for temporary data stored while reading.
* Minimally updated extension tutorial.
* Started to implement changes to interactive search.
* Test suite passes again.
Diffstat (limited to 'sphinx/ext/autodoc.py')
-rw-r--r-- | sphinx/ext/autodoc.py | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py index 705853c20..3501e15b9 100644 --- a/sphinx/ext/autodoc.py +++ b/sphinx/ext/autodoc.py @@ -546,9 +546,9 @@ class Documenter(object): do all members, else those given by *self.options.members*. """ # set current namespace for finding members - self.env.autodoc_current_module = self.modname + self.env.doc_read_data['autodoc_module'] = self.modname if self.objpath: - self.env.autodoc_current_class = self.objpath[0] + self.env.doc_read_data['autodoc_class'] = self.objpath[0] want_all = all_members or self.options.inherited_members or \ self.options.members is ALL @@ -589,8 +589,8 @@ class Documenter(object): check_module=members_check_module) # reset current objects - self.env.autodoc_current_module = None - self.env.autodoc_current_class = None + self.env.doc_read_data['autodoc_module'] = None + self.env.doc_read_data['autodoc_class'] = None def generate(self, more_content=None, real_modname=None, check_module=False, all_members=False): @@ -748,11 +748,10 @@ class ModuleLevelDocumenter(Documenter): else: # if documenting a toplevel object without explicit module, # it can be contained in another auto directive ... - if hasattr(self.env, 'autodoc_current_module'): - modname = self.env.autodoc_current_module + modname = self.env.doc_read_data.get('autodoc_module') # ... or in the scope of a module directive if not modname: - modname = self.env.currmodule + modname = self.env.doc_read_data.get('py_module') # ... else, it stays None, which means invalid return modname, parents + [base] @@ -771,21 +770,20 @@ class ClassLevelDocumenter(Documenter): # if documenting a class-level object without path, # there must be a current class, either from a parent # auto directive ... - if hasattr(self.env, 'autodoc_current_class'): - mod_cls = self.env.autodoc_current_class + mod_cls = self.env.doc_read_data.get('autodoc_class') # ... or from a class directive if mod_cls is None: - mod_cls = self.env.currclass + mod_cls = self.env.doc_read_data.get('py_class') # ... if still None, there's no way to know if mod_cls is None: return None, [] modname, cls = rpartition(mod_cls, '.') parents = [cls] # if the module name is still missing, get it like above - if not modname and hasattr(self.env, 'autodoc_current_module'): - modname = self.env.autodoc_current_module if not modname: - modname = self.env.currmodule + modname = self.env.doc_read_data.get('autodoc_module') + if not modname: + modname = self.env.doc_read_data.get('py_module') # ... else, it stays None, which means invalid return modname, parents + [base] @@ -1082,7 +1080,7 @@ class AutoDirective(Directive): # record all filenames as dependencies -- this will at least # partially make automatic invalidation possible for fn in self.filename_set: - self.env.note_dependency(fn) + self.state.document.settings.record_dependencies.add(fn) # use a custom reporter that correctly assigns lines to source # filename/description and lineno |