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 1109a6afe27f0131bd147deb1a475e5a49a09f29..90ae1183aa5e566c1aefca4d129065f67912f4a9 100644 |
--- a/mojo/public/tools/bindings/pylib/mojom/generate/data.py |
+++ b/mojo/public/tools/bindings/pylib/mojom/generate/data.py |
@@ -209,14 +209,20 @@ def StructToData(struct): |
def StructFromData(module, data): |
struct = mojom.Struct(module=module) |
struct.name = data['name'] |
+ struct.native_only = data['native_only'] |
struct.spec = 'x:' + module.namespace + '.' + struct.name |
module.kinds[struct.spec] = struct |
- struct.enums = map(lambda enum: |
- EnumFromData(module, enum, struct), data['enums']) |
- struct.constants = map(lambda constant: |
- ConstantFromData(module, constant, struct), data['constants']) |
- # Stash fields data here temporarily. |
- struct.fields_data = data['fields'] |
+ if struct.native_only: |
+ struct.enums = [] |
+ struct.constants = [] |
+ struct.fields_data = [] |
+ else: |
+ struct.enums = map(lambda enum: |
+ EnumFromData(module, enum, struct), data['enums']) |
+ struct.constants = map(lambda constant: |
+ ConstantFromData(module, constant, struct), data['constants']) |
+ # Stash fields data here temporarily. |
+ struct.fields_data = data['fields'] |
struct.attributes = data.get('attributes') |
return struct |