blob: 6abffe08711a6fe9ec6c7c919bb85b711468bb14 [file] [log] [blame]
// 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;
import "mojo/public/interfaces/bindings/tests/sample_import.mojom";
enum AnEnum {
enum AnExtensibleEnum {
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;
pending_remote<SmallCache> f_small_cache;
pending_receiver<SmallCache> f_small_cache_receiver;
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;
struct ImportedUnionStruct {
imported.PointOrShape point_or_shape;
union ImportedUnionUnion {
imported.PointOrShape point_or_shape;