| Index: mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_included_unions.mojom.dart
|
| diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_included_unions.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_included_unions.mojom.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a458991a57b4dfd45c926e195c041fcb1f8d75c5
|
| --- /dev/null
|
| +++ b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_included_unions.mojom.dart
|
| @@ -0,0 +1,133 @@
|
| +// 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.
|
| +
|
| +library test_included_unions_mojom;
|
| +
|
| +import 'dart:async';
|
| +
|
| +import 'package:mojo/bindings.dart' as bindings;
|
| +import 'package:mojo/core.dart' as core;
|
| +import 'package:mojo/mojo/mojom_types.mojom.dart' as mojom_types;
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +enum IncludedUnionTag {
|
| + a,
|
| + unknown
|
| +}
|
| +
|
| +class IncludedUnion extends bindings.Union {
|
| + static final _tag_to_int = const {
|
| + IncludedUnionTag.a: 0,
|
| + };
|
| +
|
| + static final _int_to_tag = const {
|
| + 0: IncludedUnionTag.a,
|
| + };
|
| +
|
| + var _data;
|
| + IncludedUnionTag _tag = IncludedUnionTag.unknown;
|
| +
|
| + IncludedUnionTag get tag => _tag;
|
| + int get a {
|
| + if (_tag != IncludedUnionTag.a) {
|
| + throw new bindings.UnsetUnionTagError(_tag, IncludedUnionTag.a);
|
| + }
|
| + return _data;
|
| + }
|
| +
|
| + set a(int value) {
|
| + _tag = IncludedUnionTag.a;
|
| + _data = value;
|
| + }
|
| +
|
| + static IncludedUnion decode(bindings.Decoder decoder0, int offset) {
|
| + int size = decoder0.decodeUint32(offset);
|
| + if (size == 0) {
|
| + return null;
|
| + }
|
| + IncludedUnion result = new IncludedUnion();
|
| +
|
| + // TODO(azani): Handle unknown union member. An assert breaks validation_unittest.
|
| + IncludedUnionTag tag = _int_to_tag[decoder0.decodeUint32(offset + 4)];
|
| + switch (tag) {
|
| + case IncludedUnionTag.a:
|
| +
|
| + result.a = decoder0.decodeInt8(offset + 8);
|
| + break;
|
| + default:
|
| + break;
|
| + }
|
| +
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder0, int offset) {
|
| + // TODO(azani): Error when trying to encode an unknown member.
|
| + encoder0.encodeUint32(16, offset);
|
| + encoder0.encodeUint32(_tag_to_int[_tag], offset + 4);
|
| + switch (_tag) {
|
| + case IncludedUnionTag.a:
|
| +
|
| + encoder0.encodeInt8(a, offset + 8);
|
| + break;
|
| + default:
|
| + break;
|
| + }
|
| + }
|
| +
|
| + String toString() {
|
| + String result = "IncludedUnion(";
|
| + switch (_tag) {
|
| + case IncludedUnionTag.a:
|
| + result += "a";
|
| + break;
|
| + default:
|
| + result += "unknown";
|
| + }
|
| + result += ": $_data)";
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +mojom_types.MojomUnion _test_included_unions_IncludedUnion__() {
|
| + return new mojom_types.MojomUnion()
|
| + ..declData = (new mojom_types.DeclarationData()..shortName = 'IncludedUnion')
|
| + ..fields = <mojom_types.UnionField>[
|
| + new mojom_types.UnionField()
|
| + ..declData = (new mojom_types.DeclarationData()..shortName = 'A')
|
| + ..type = (new mojom_types.Type()..simpleType = mojom_types.SimpleType.INT8)
|
| + ..tag = 0,
|
| + ];
|
| +}
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +var _MojomDesc__ = _initDescriptions();
|
| +
|
| +Map<String, mojom_types.UserDefinedType> _initDescriptions() {
|
| + var map = new Map<String, mojom_types.UserDefinedType>();
|
| +
|
| + map["_test_included_unions_IncludedUnion__"] =
|
| + new mojom_types.UserDefinedType()
|
| + ..unionType = _test_included_unions_IncludedUnion__();
|
| +
|
| +
|
| +
|
| +
|
| + return map;
|
| +}
|
| +
|
| +Map<String, mojom_types.UserDefinedType> getAllMojomTypeDefinitions() {
|
| + return _MojomDesc__;
|
| +}
|
| +
|
| +
|
|
|