| Index: mojo/public/tools/bindings/pylib/mojom/parse/translate.py
|
| diff --git a/mojo/public/tools/bindings/pylib/mojom/parse/translate.py b/mojo/public/tools/bindings/pylib/mojom/parse/translate.py
|
| index acc9433ed0e1a59b8bcf98899151c87f70c44d3f..e65015e454e523fe80c95f338e3e0c91bd9639e6 100644
|
| --- a/mojo/public/tools/bindings/pylib/mojom/parse/translate.py
|
| +++ b/mojo/public/tools/bindings/pylib/mojom/parse/translate.py
|
| @@ -120,17 +120,6 @@ def _MapConstant(tree):
|
| constant['value'] = tree[3]
|
| return constant
|
|
|
| -def _MapModule(tree, name):
|
| - mojom = {}
|
| - mojom['name'] = name
|
| - mojom['namespace'] = tree[1]
|
| - mojom['attributes'] = _AttributeListToDict(tree[2])
|
| - mojom['structs'] = _MapTree(_MapStruct, tree[3], 'STRUCT')
|
| - mojom['interfaces'] = _MapTree(_MapInterface, tree[3], 'INTERFACE')
|
| - mojom['enums'] = _MapTree(_MapEnum, tree[3], 'ENUM')
|
| - mojom['constants'] = _MapTree(_MapConstant, tree[3], 'CONST')
|
| - return mojom
|
| -
|
| def _MapImport(tree):
|
| import_item = {}
|
| import_item['filename'] = tree[1]
|
| @@ -142,7 +131,19 @@ class _MojomBuilder(object):
|
| self.mojom = {}
|
|
|
| def Build(self, tree, name):
|
| - modules = [_MapModule(item, name) for item in tree if item[0] == 'MODULE']
|
| + def MapModule(tree, name):
|
| + assert tree[1] is None or tree[1][0] == 'IDENTIFIER'
|
| + mojom = {}
|
| + mojom['name'] = name
|
| + mojom['namespace'] = '' if not tree[1] else tree[1][1]
|
| + mojom['attributes'] = _AttributeListToDict(tree[2])
|
| + mojom['structs'] = _MapTree(_MapStruct, tree[3], 'STRUCT')
|
| + mojom['interfaces'] = _MapTree(_MapInterface, tree[3], 'INTERFACE')
|
| + mojom['enums'] = _MapTree(_MapEnum, tree[3], 'ENUM')
|
| + mojom['constants'] = _MapTree(_MapConstant, tree[3], 'CONST')
|
| + return mojom
|
| +
|
| + modules = [MapModule(item, name) for item in tree if item[0] == 'MODULE']
|
| if len(modules) != 1:
|
| raise Exception('A mojom file must contain exactly 1 module.')
|
| self.mojom = modules[0]
|
|
|