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 77e92c5b8b2065c59ebb7453aa18b7b298cce3f9..958b0c462e84b49cb706dd86ff67637e1f92a8d9 100644 |
--- a/mojo/public/tools/bindings/pylib/mojom/parse/translate.py |
+++ b/mojo/public/tools/bindings/pylib/mojom/parse/translate.py |
@@ -40,11 +40,15 @@ def _MapKind(kind): |
base_kind = _MapKind(kind[0:-1]) |
# NOTE: This doesn't rule out enum types. Those will be detected later, when |
# cross-reference is established. |
- reference_kinds = ('s', 'h', 'a', 'r', 'x') |
+ reference_kinds = ('m', 's', 'h', 'a', 'r', 'x') |
if base_kind[0] not in reference_kinds: |
raise Exception( |
'A type (spec "%s") cannot be made nullable' % base_kind) |
return '?' + base_kind |
+ if kind.endswith('}'): |
+ lbracket = kind.rfind('{') |
+ value = kind[0:lbracket] |
+ return 'm[' + _MapKind(kind[lbracket+1:-1]) + '][' + _MapKind(value) + ']' |
if kind.endswith('[]'): |
typename = kind[0:-2] |
if _FIXED_ARRAY_REGEXP.search(typename): |