| Index: mojo/public/tools/bindings/pylib/mojom/generate/data.py
|
| diff --git a/mojo/public/tools/bindings/pylib/mojom/generate/data.py b/mojo/public/tools/bindings/pylib/mojom/generate/data.py
|
| index d7edaabf98ef0fbe9ce2c4de1a5e7365ed0bcdbf..dc130aa01eaf822e9de59b5b0cd699c004622b07 100644
|
| --- a/mojo/public/tools/bindings/pylib/mojom/generate/data.py
|
| +++ b/mojo/public/tools/bindings/pylib/mojom/generate/data.py
|
| @@ -99,20 +99,20 @@ def KindFromData(kinds, data, scope):
|
| kind = LookupKind(kinds, data, scope)
|
| if kind:
|
| return kind
|
| - if data.startswith('a:'):
|
| - kind = mojom.Array()
|
| - kind.kind = KindFromData(kinds, data[2:], scope)
|
| +
|
| + if data.startswith('?'):
|
| + kind = KindFromData(kinds, data[1:], scope).MakeNullableKind()
|
| + elif data.startswith('a:'):
|
| + kind = mojom.Array(KindFromData(kinds, data[2:], scope))
|
| elif data.startswith('r:'):
|
| - kind = mojom.InterfaceRequest()
|
| - kind.kind = KindFromData(kinds, data[2:], scope)
|
| + kind = mojom.InterfaceRequest(KindFromData(kinds, data[2:], scope))
|
| elif data.startswith('a'):
|
| colon = data.find(':')
|
| length = int(data[1:colon])
|
| - kind = mojom.FixedArray(length)
|
| - kind.kind = KindFromData(kinds, data[colon+1:], scope)
|
| + kind = mojom.FixedArray(length, KindFromData(kinds, data[colon+1:], scope))
|
| else:
|
| - kind = mojom.Kind()
|
| - kind.spec = data
|
| + kind = mojom.Kind(data)
|
| +
|
| kinds[data] = kind
|
| return kind
|
|
|
|
|