Index: tools/json_schema_compiler/idl_schema.py |
diff --git a/tools/json_schema_compiler/idl_schema.py b/tools/json_schema_compiler/idl_schema.py |
index 45f0609e49bc3878e5df3328a2995d2021b61b87..31e0a273233eec50e23cd85ba7471f3593657984 100755 |
--- a/tools/json_schema_compiler/idl_schema.py |
+++ b/tools/json_schema_compiler/idl_schema.py |
@@ -343,7 +343,8 @@ class Namespace(object): |
internal=False, |
platforms=None, |
compiler_options=None, |
- deprecated=None): |
+ deprecated=None, |
+ documentation_options=None): |
self.namespace = namespace_node |
self.nodoc = nodoc |
self.internal = internal |
@@ -355,6 +356,7 @@ class Namespace(object): |
self.callbacks = OrderedDict() |
self.description = description |
self.deprecated = deprecated |
+ self.documentation_options = documentation_options |
def process(self): |
for node in self.namespace.GetChildren(): |
@@ -371,10 +373,8 @@ class Namespace(object): |
self.types.append(Enum(node).process()) |
else: |
sys.exit('Did not process %s %s' % (node.cls, node)) |
- if self.compiler_options is not None: |
- compiler_options = self.compiler_options |
- else: |
- compiler_options = {} |
+ compiler_options = self.compiler_options or {} |
+ documentation_options = self.documentation_options or {} |
return {'namespace': self.namespace.GetName(), |
'description': self.description, |
'nodoc': self.nodoc, |
@@ -384,7 +384,8 @@ class Namespace(object): |
'events': self.events, |
'platforms': self.platforms, |
'compiler_options': compiler_options, |
- 'deprecated': self.deprecated} |
+ 'deprecated': self.deprecated, |
+ 'documentation_options': documentation_options} |
def process_interface(self, node): |
members = [] |
@@ -412,6 +413,7 @@ class IDLSchema(object): |
platforms = None |
compiler_options = {} |
deprecated = None |
+ documentation_options = {} |
for node in self.idl: |
if node.cls == 'Namespace': |
if not description: |
@@ -422,7 +424,8 @@ class IDLSchema(object): |
namespace = Namespace(node, description, nodoc, internal, |
platforms=platforms, |
compiler_options=compiler_options or None, |
- deprecated=deprecated) |
+ deprecated=deprecated, |
+ documentation_options=documentation_options) |
namespaces.append(namespace.process()) |
nodoc = False |
internal = False |
@@ -445,6 +448,12 @@ class IDLSchema(object): |
compiler_options['camel_case_enum_to_string'] = node.value |
elif node.name == 'deprecated': |
deprecated = str(node.value) |
+ elif node.name == 'documentation_title': |
+ documentation_options['title'] = node.value |
+ elif node.name == 'documentation_namespace': |
+ documentation_options['namespace'] = node.value |
+ elif node.name == 'documented_in': |
+ documentation_options['documented_in'] = node.value |
else: |
continue |
else: |