Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(755)

Unified Diff: mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_included_unions.mojom.dart

Issue 1433183002: Generate Mojom Types for Dart (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Simplify identifier_store for Go and Dart Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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__;
+}
+
+

Powered by Google App Engine
This is Rietveld 408576698