|  | // Copyright 2019 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | // Types useful for tests for the 2019 migration from | 
|  | // unions to xunions. | 
|  |  | 
|  | library fidl.test.unionmigration; | 
|  |  | 
|  | flexible union BasicXUnion { | 
|  | 1: int32 i32; | 
|  | }; | 
|  |  | 
|  | flexible resource union BasicResourceXUnion { | 
|  | 1: int32 i32; | 
|  | }; | 
|  |  | 
|  | union BasicUnion { | 
|  | 1: int32 i32; | 
|  | }; | 
|  |  | 
|  | struct BasicXUnionStruct { | 
|  | BasicXUnion val; | 
|  | }; | 
|  |  | 
|  | resource struct BasicResourceXUnionStruct { | 
|  | BasicResourceXUnion val; | 
|  | }; | 
|  |  | 
|  | struct BasicUnionStruct { | 
|  | BasicUnion val; | 
|  | }; | 
|  |  | 
|  | union SingleVariantUnion { | 
|  | 1: uint32 x; | 
|  | }; | 
|  |  | 
|  | struct SingleVariantUnionStruct { | 
|  | SingleVariantUnion u; | 
|  | }; | 
|  |  | 
|  | struct SingleVariantUnionStructWithHeader { | 
|  | // Header exists to emulate the shape of the transaction header. | 
|  | array<uint8>:16 header; | 
|  | SingleVariantUnionStruct body; | 
|  | }; |