diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2013-03-27 17:09:16 -0400 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-06-10 12:34:35 -0400 |
commit | a1ec815afd2dd4379ce443efbb4d4aca4cf97c33 (patch) | |
tree | ebc574ae3a6b79a3e0adc976ebf5fcd36c67c4c3 /giscanner/transformer.py | |
parent | d906932afae1b4e961b8cf3210b2dee95f73058b (diff) | |
download | gobject-introspection-a1ec815afd2dd4379ce443efbb4d4aca4cf97c33.tar.gz |
giscanner: Create AST nodes for SECTION: doc blocks; add a GIR nodedoc-sections
These will eventually be paired with the sections file parser to create
a set of sections.
Diffstat (limited to 'giscanner/transformer.py')
-rw-r--r-- | giscanner/transformer.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/giscanner/transformer.py b/giscanner/transformer.py index 8c5e9087..8e1001be 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -151,6 +151,30 @@ class Transformer(object): self._namespace.includes.add(include) self._parse_include(include_path, uninstalled=True) + def _fabricate_section(self, block): + def get_param(name): + param = block.lower_params.get(name) + if param: + return param.description + else: + return None + + section = ast.Section(block.name, + get_param('short_description'), + get_param('long_description'), + get_param('see_also'), + get_param('title'), + get_param('stability'), + get_param('section_id'), + get_param('include'), + get_param('image')) + self._append_new_node(section) + + def fabricate_special_blocks(self, blocks): + for name, block in blocks.iteritems(): + if name.startswith("SECTION:"): + self._fabricate_section(block) + def lookup_giname(self, name): """Given a name of the form Foo or Bar.Foo, return the corresponding ast.Node, or None if none |