Index: mojo/public/tools/bindings/generators/python_templates/module_macros.tmpl |
diff --git a/mojo/public/tools/bindings/generators/python_templates/module_macros.tmpl b/mojo/public/tools/bindings/generators/python_templates/module_macros.tmpl |
index 305b26a832ca59b6704fb1d38b171b577a87b468..b42fc3047c4f744f4994c979a34bc851a20bf972 100644 |
--- a/mojo/public/tools/bindings/generators/python_templates/module_macros.tmpl |
+++ b/mojo/public/tools/bindings/generators/python_templates/module_macros.tmpl |
@@ -9,3 +9,31 @@ |
{% endfor %} |
] |
{%- endmacro -%} |
+ |
+{%- macro struct_descriptor(struct) -%} |
+{ |
+{% if struct.constants %} |
+ 'constants': { |
+{% for constant in struct.constants %} |
+ '{{constant|name}}': {{constant.value|expression_to_text}}, |
+{% endfor %} |
+ }, |
+{% endif %} |
+{% if struct.enums %} |
+ 'enums': { |
+{% for enum in struct.enums %} |
+ '{{enum|name}}': {{enum_values(enum)|indent(6)}}, |
+{% endfor %} |
+ }, |
+{% endif %} |
+{% if struct.fields %} |
+ 'fields': [ |
+{% for byte in struct.bytes %} |
+{% if byte.packed_fields %} |
+ {{byte|field_group}}, |
+{% endif %} |
+{% endfor %} |
+ ], |
+{% endif %} |
+} |
+{%- endmacro -%} |