| 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 238fb05e3ce5b388a8c776bd4942f5984801269a..c8c1c8a24ddf17a7c66d40f7a403e82974b7a801 100644
|
| --- a/tools/json_schema_compiler/idl_schema.py
|
| +++ b/tools/json_schema_compiler/idl_schema.py
|
| @@ -324,11 +324,13 @@ class Namespace(object):
|
| description,
|
| nodoc=False,
|
| internal=False,
|
| - platforms=None):
|
| + platforms=None,
|
| + compiler_options=None):
|
| self.namespace = namespace_node
|
| self.nodoc = nodoc
|
| self.internal = internal
|
| self.platforms = platforms
|
| + self.compiler_options = compiler_options
|
| self.events = []
|
| self.functions = []
|
| self.types = []
|
| @@ -350,6 +352,10 @@ class Namespace(object):
|
| self.types.append(Enum(node).process(self.callbacks))
|
| 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 = {}
|
| return {'namespace': self.namespace.GetName(),
|
| 'description': self.description,
|
| 'nodoc': self.nodoc,
|
| @@ -357,7 +363,8 @@ class Namespace(object):
|
| 'functions': self.functions,
|
| 'internal': self.internal,
|
| 'events': self.events,
|
| - 'platforms': self.platforms}
|
| + 'platforms': self.platforms,
|
| + 'compiler_options': compiler_options}
|
|
|
| def process_interface(self, node):
|
| members = []
|
| @@ -383,6 +390,7 @@ class IDLSchema(object):
|
| internal = False
|
| description = None
|
| platforms = None
|
| + compiler_options = None
|
| for node in self.idl:
|
| if node.cls == 'Namespace':
|
| if not description:
|
| @@ -390,11 +398,14 @@ class IDLSchema(object):
|
| print('%s must have a namespace-level comment. This will '
|
| 'appear on the API summary page.' % node.GetName())
|
| description = ''
|
| - namespace = Namespace(node, description, nodoc, internal, platforms)
|
| + namespace = Namespace(node, description, nodoc, internal,
|
| + platforms=platforms,
|
| + compiler_options=compiler_options)
|
| namespaces.append(namespace.process())
|
| nodoc = False
|
| internal = False
|
| platforms = None
|
| + compiler_options = None
|
| elif node.cls == 'Copyright':
|
| continue
|
| elif node.cls == 'Comment':
|
| @@ -406,6 +417,8 @@ class IDLSchema(object):
|
| internal = bool(node.value)
|
| elif node.name == 'platforms':
|
| platforms = list(node.value)
|
| + elif node.name == 'implemented_in':
|
| + compiler_options = {'implemented_in': node.value}
|
| else:
|
| continue
|
| else:
|
|
|