| // Copyright 2014 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | module mojo.test; | 
 |  | 
 | union PodUnion { | 
 |   int8   f_int8; | 
 |   int8   f_int8_other; | 
 |   uint8  f_uint8; | 
 |   int16  f_int16; | 
 |   uint16 f_uint16; | 
 |   int32  f_int32; | 
 |   uint32 f_uint32; | 
 |   int64  f_int64; | 
 |   uint64 f_uint64; | 
 |   float  f_float; | 
 |   double f_double; | 
 |   bool   f_bool; | 
 | }; | 
 |  | 
 | union ObjectUnion { | 
 |   int8   f_int8; | 
 |   string f_string; | 
 |   DummyStruct f_dummy; | 
 |   DummyStruct? f_nullable; | 
 |   array<int8> f_array_int8; | 
 |   map<string, int8> f_map_int8; | 
 | }; | 
 |  | 
 | struct DummyStruct { | 
 |   int8 f_int8; | 
 | }; | 
 |  | 
 | struct SmallStruct { | 
 |   DummyStruct? dummy_struct; | 
 |   PodUnion? pod_union; | 
 |   array<PodUnion>? pod_union_array; | 
 |   array<DummyStruct>? s_array; | 
 |   map<string, PodUnion>? pod_union_map; | 
 | }; | 
 |  | 
 | struct SmallStructNonNullableUnion { | 
 |   PodUnion pod_union; | 
 | }; | 
 |  | 
 | struct SmallObjStruct { | 
 |   ObjectUnion obj_union; | 
 | }; |