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

Side by Side Diff: mojo/public/interfaces/bindings/tests/struct_with_traits.mojom

Issue 2146153002: Mojo typemap config: support "copyable_pass_by_value" attribute. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@69_change_move_only
Patch Set: . Created 4 years, 5 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module mojo.test; 5 module mojo.test;
6 6
7 // TODO(yzshen): Rename *WithTraits* types to something more readable. 7 // TODO(yzshen): Rename *WithTraits* types to something more readable.
8 8
9 struct NestedStructWithTraits { 9 struct NestedStructWithTraits {
10 int32 value; 10 int32 value;
(...skipping 15 matching lines...) Expand all
26 NestedStructWithTraits f_struct; 26 NestedStructWithTraits f_struct;
27 array<NestedStructWithTraits> f_struct_array; 27 array<NestedStructWithTraits> f_struct_array;
28 map<string, NestedStructWithTraits> f_struct_map; 28 map<string, NestedStructWithTraits> f_struct_map;
29 }; 29 };
30 30
31 // Test that this container can be cloned. 31 // Test that this container can be cloned.
32 struct StructWithTraitsContainer { 32 struct StructWithTraitsContainer {
33 StructWithTraits f_struct; 33 StructWithTraits f_struct;
34 }; 34 };
35 35
36 struct PassByValueStructWithTraits { 36 // Maps to a pass-by-value trivial struct.
37 struct TrivialStructWithTraits {
38 int32 value;
39 };
40
41 // Maps to a move-only struct.
42 struct MoveOnlyStructWithTraits {
37 handle f_handle; 43 handle f_handle;
38 }; 44 };
39 45
40 // The custom type for PassByValueStructWithTraits is not clonable. Test that 46 // The custom type for MoveOnlyStructWithTraits is not clonable. Test that
41 // this container can compile as long as Clone() is not used. 47 // this container can compile as long as Clone() is not used.
42 struct PassByValueStructWithTraitsContainer { 48 struct MoveOnlyStructWithTraitsContainer {
43 PassByValueStructWithTraits f_struct; 49 MoveOnlyStructWithTraits f_struct;
44 }; 50 };
45 51
46 struct StructWithTraitsForUniquePtrTest { 52 struct StructWithTraitsForUniquePtrTest {
47 int32 f_int32; 53 int32 f_int32;
48 }; 54 };
49 55
50 interface TraitsTestService { 56 interface TraitsTestService {
51 EchoStructWithTraits(StructWithTraits s) => (StructWithTraits passed); 57 EchoStructWithTraits(StructWithTraits s) => (StructWithTraits passed);
52 58
53 EchoPassByValueStructWithTraits(PassByValueStructWithTraits s) => 59 EchoTrivialStructWithTraits(TrivialStructWithTraits s) =>
54 (PassByValueStructWithTraits passed); 60 (TrivialStructWithTraits passed);
61
62 EchoMoveOnlyStructWithTraits(MoveOnlyStructWithTraits s) =>
63 (MoveOnlyStructWithTraits passed);
55 64
56 EchoEnumWithTraits(EnumWithTraits e) => (EnumWithTraits passed); 65 EchoEnumWithTraits(EnumWithTraits e) => (EnumWithTraits passed);
57 66
58 EchoStructWithTraitsForUniquePtrTest(StructWithTraitsForUniquePtrTest e) => ( 67 EchoStructWithTraitsForUniquePtrTest(StructWithTraitsForUniquePtrTest e) => (
59 StructWithTraitsForUniquePtrTest passed); 68 StructWithTraitsForUniquePtrTest passed);
60 }; 69 };
OLDNEW
« no previous file with comments | « mojo/public/cpp/bindings/tests/struct_with_traits_impl_traits.cc ('k') | mojo/public/tools/bindings/generate_type_mappings.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698