| // 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; |
| |
| enum AnEnum { |
| FIRST, SECOND |
| }; |
| |
| [Extensible] |
| enum AnExtensibleEnum { |
| FIRST, SECOND, THIRD |
| }; |
| |
| 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; |
| AnEnum f_enum; |
| AnExtensibleEnum f_extensible_enum; |
| }; |
| |
| 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; |
| PodUnion f_pod_union; |
| // Test that Clone() is defined after SmallStruct is declared. |
| array<SmallStruct> f_small_structs; |
| }; |
| |
| union HandleUnion { |
| handle f_handle; |
| handle<message_pipe> f_message_pipe; |
| handle<data_pipe_consumer> f_data_pipe_consumer; |
| handle<data_pipe_producer> f_data_pipe_producer; |
| handle<shared_buffer> f_shared_buffer; |
| SmallCache f_small_cache; |
| SmallCache& f_small_cache_request; |
| }; |
| |
| struct WrapperStruct { |
| ObjectUnion? object_union; |
| PodUnion? pod_union; |
| HandleUnion? handle_union; |
| }; |
| |
| struct DummyStruct { |
| int8 f_int8; |
| }; |
| |
| struct SmallStruct { |
| DummyStruct? dummy_struct; |
| PodUnion? pod_union; |
| array<PodUnion>? pod_union_array; |
| array<PodUnion?>? nullable_pod_union_array; |
| array<DummyStruct>? s_array; |
| map<string, PodUnion>? pod_union_map; |
| map<string, PodUnion?>? nullable_pod_union_map; |
| }; |
| |
| struct SmallStructNonNullableUnion { |
| PodUnion pod_union; |
| }; |
| |
| struct SmallObjStruct { |
| ObjectUnion obj_union; |
| int8 f_int8; |
| }; |
| |
| interface SmallCache { |
| SetIntValue(int64 int_value); |
| GetIntValue() => (int64 int_value); |
| }; |
| |
| interface UnionInterface { |
| Echo(PodUnion in_val) => (PodUnion out_val); |
| }; |
| |
| struct TryNonNullStruct { |
| DummyStruct? nullable; |
| DummyStruct non_nullable; |
| }; |
| |
| union OldUnion { |
| int8 f_int8; |
| }; |
| |
| union NewUnion { |
| int8 f_int8; |
| int16 f_int16; |
| }; |