| Index: mojom/generators/go/translator/translator.go
|
| diff --git a/mojom/generators/go/translator/translator.go b/mojom/generators/go/translator/translator.go
|
| index 7629754cf8e6758278270d0d31476fb08520cd28..6864f4ad63d72d159f194d7cbe5b1997f65d22aa 100644
|
| --- a/mojom/generators/go/translator/translator.go
|
| +++ b/mojom/generators/go/translator/translator.go
|
| @@ -121,6 +121,9 @@ func (t *translator) translateUnionField(mojomField *mojom_types.UnionField) (fi
|
| field.Tag = mojomField.Tag
|
| field.EncodingInfo = t.encodingInfo(mojomField.Type)
|
| field.EncodingInfo.setIdentifier("u.Value")
|
| + if info, ok := field.EncodingInfo.(*unionTypeEncodingInfo); ok {
|
| + info.nestedUnion = true
|
| + }
|
| return field
|
| }
|
|
|
| @@ -254,6 +257,8 @@ func (t *translator) typeRefEncodingInfo(typeRef mojom_types.TypeReference) (inf
|
| switch m := mojomType.(type) {
|
| case *mojom_types.UserDefinedTypeStructType:
|
| info = t.structTypeEncodingInfo(m.Value)
|
| + case *mojom_types.UserDefinedTypeUnionType:
|
| + info = t.unionTypeEncodingInfo(m.Value)
|
| }
|
| info.setNullable(typeRef.Nullable)
|
| return info
|
| @@ -264,6 +269,11 @@ func (t *translator) structTypeEncodingInfo(mojomType mojom_types.MojomStruct) (
|
| return info
|
| }
|
|
|
| +func (t *translator) unionTypeEncodingInfo(mojomType mojom_types.MojomUnion) (info *unionTypeEncodingInfo) {
|
| + info = new(unionTypeEncodingInfo)
|
| + return info
|
| +}
|
| +
|
| // Implements sort.Interface.
|
| type structFieldSerializationSorter []mojom_types.StructField
|
|
|
|
|