| Index: mojo/public/tools/bindings/generators/go_templates/union.tmpl
|
| diff --git a/mojo/public/tools/bindings/generators/go_templates/union.tmpl b/mojo/public/tools/bindings/generators/go_templates/union.tmpl
|
| index aaea489fa1ded810e5715ce52df18161a3467664..8dc2c46e658fe5c507d1461dd05cd6d7b7c33b33 100644
|
| --- a/mojo/public/tools/bindings/generators/go_templates/union.tmpl
|
| +++ b/mojo/public/tools/bindings/generators/go_templates/union.tmpl
|
| @@ -3,9 +3,10 @@
|
| // found in the LICENSE file.
|
|
|
| {% import "encoding_macros.tmpl" as encoding_macros %}
|
| +{% import "mojom_type_macros.tmpl" as mojom_type_macros %}
|
| +{% import "mojom_util_macros.tmpl" as util %}
|
|
|
| -
|
| -{% macro define(union, exported=True) %}
|
| +{% macro define(union, typepkg, package, exported=True) %}
|
| type {{union|name(exported)}} interface {
|
| Tag() uint32
|
| Interface() interface{}
|
| @@ -77,6 +78,18 @@ func (u *{{struct_name}}) decodeInternal(decoder *bindings.Decoder) error {
|
|
|
| {% endfor %}
|
|
|
| +// String names and labels used by the MojomUnion types.
|
| +var (
|
| + unionName_{{union|name}} = "{{union|name}}"
|
| +{% for field in union.fields %}
|
| + unionFieldName_{{union|name}}_{{field|name}} = "{{field|name}}"
|
| +{% endfor %}
|
| +)
|
| +
|
| +func {{util.typeName(union, typepkg, package)}}() {{typepkg}}MojomUnion {
|
| + return {{ mojom_type_macros.writeMojomType(typepkg, union, package, exported) }}
|
| +}
|
| +
|
| {% endmacro %}
|
|
|
| {% macro encode_union_field(value, kind) %}
|
|
|