blob: 1732f31d3d9342b42f0030c67b2abd723d1581ea [file] [log] [blame]
Yuxuan 'fishy' Wangb0b35312021-02-18 09:09:20 -08001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
wangtieju4aaef752021-02-04 11:26:44 +080020typedef i8 mybyte
21typedef string mystr
22typedef binary mybin
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070023typedef uuid myuuid
wangtieju4aaef752021-02-04 11:26:44 +080024
25enum EnumFoo {
26 e1
27 e2
28}
29
30struct BasicEqualsFoo {
31 1: bool BoolFoo,
32 2: optional bool OptBoolFoo,
33 3: i8 I8Foo,
34 4: optional i8 OptI8Foo,
35 5: i16 I16Foo,
36 6: optional i16 OptI16Foo,
37 7: i32 I32Foo,
38 8: optional i32 OptI32Foo,
39 9: i64 I64Foo,
40 10: optional i64 OptI64Foo,
41 11: double DoubleFoo,
42 12: optional double OptDoubleFoo,
43 13: string StrFoo,
44 14: optional string OptStrFoo,
45 15: binary BinFoo,
46 16: optional binary OptBinFoo,
47 17: EnumFoo EnumFoo,
48 18: optional EnumFoo OptEnumFoo,
49 19: mybyte MyByteFoo,
50 20: optional mybyte OptMyByteFoo,
51 21: mystr MyStrFoo,
52 22: optional mystr OptMyStrFoo,
53 23: mybin MyBinFoo,
54 24: optional mybin OptMyBinFoo,
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070055 25: uuid UUIDFoo,
56 26: optional uuid OptUUIDFoo,
57 27: myuuid MyUUIDFoo,
58 28: optional myuuid OptMyUUIDFoo,
wangtieju4aaef752021-02-04 11:26:44 +080059}
60
61struct StructEqualsFoo {
62 1: BasicEqualsFoo StructFoo,
63 2: optional BasicEqualsFoo OptStructFoo,
64}
65
66struct ListEqualsFoo {
67 1: list<i64> I64ListFoo,
68 2: optional list<i64> OptI64ListFoo,
69 3: list<string> StrListFoo,
70 4: optional list<string> OptStrListFoo,
71 5: list<binary> BinListFoo,
72 6: optional list<binary> OptBinListFoo,
73 7: list<BasicEqualsFoo> StructListFoo,
74 8: optional list<BasicEqualsFoo> OptStructListFoo,
75 9: list<list<i64>> I64ListListFoo,
76 10: optional list<list<i64>> OptI64ListListFoo,
77 11: list<set<i64>> I64SetListFoo,
78 12: optional list<set<i64>> OptI64SetListFoo,
79 13: list<map<i64, string>> I64StringMapListFoo,
80 14: optional list<map<i64, string>> OptI64StringMapListFoo,
81 15: list<mybyte> MyByteListFoo,
82 16: optional list<mybyte> OptMyByteListFoo,
83 17: list<mystr> MyStrListFoo,
84 18: optional list<mystr> OptMyStrListFoo,
85 19: list<mybin> MyBinListFoo,
86 20: optional list<mybin> OptMyBinListFoo,
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070087 21: list<uuid> UUIDListFoo,
88 22: optional list<uuid> OptUUIDListFoo,
89 23: list<myuuid> MyUUIDListFoo,
90 24: optional list<myuuid> OptMyUUIDListFoo,
wangtieju4aaef752021-02-04 11:26:44 +080091}
92
93struct SetEqualsFoo {
94 1: set<i64> I64SetFoo,
95 2: optional set<i64> OptI64SetFoo,
96 3: set<string> StrSetFoo,
97 4: optional set<string> OptStrSetFoo,
98 5: set<binary> BinSetFoo,
99 6: optional set<binary> OptBinSetFoo,
100 7: set<BasicEqualsFoo> StructSetFoo,
101 8: optional set<BasicEqualsFoo> OptStructSetFoo,
102 9: set<list<i64>> I64ListSetFoo,
103 10: optional set<list<i64>> OptI64ListSetFoo,
104 11: set<set<i64>> I64SetSetFoo,
105 12: optional set<set<i64>> OptI64SetSetFoo,
106 13: set<map<i64, string>> I64StringMapSetFoo,
107 14: optional set<map<i64, string>> OptI64StringMapSetFoo,
108 15: set<mybyte> MyByteSetFoo,
109 16: optional set<mybyte> OptMyByteSetFoo,
110 17: set<mystr> MyStrSetFoo,
111 18: optional set<mystr> OptMyStrSetFoo,
112 19: set<mybin> MyBinSetFoo,
113 20: optional set<mybin> OptMyBinSetFoo,
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -0700114 21: set<uuid> UUIDSetFoo,
115 22: optional set<uuid> OptUUIDSetFoo,
116 23: set<myuuid> MyUUIDSetFoo,
117 24: optional set<myuuid> OptMyUUIDSetFoo,
wangtieju4aaef752021-02-04 11:26:44 +0800118}
119
120struct MapEqualsFoo {
121 1: map<i64, string> I64StrMapFoo,
122 2: optional map<i64, string> OptI64StrMapFoo,
123 3: map<string, i64> StrI64MapFoo,
124 4: optional map<string, i64> OptStrI64MapFoo,
125 5: map<BasicEqualsFoo, binary> StructBinMapFoo,
126 6: optional map<BasicEqualsFoo, binary> OptStructBinMapFoo,
127 7: map<binary, BasicEqualsFoo> BinStructMapFoo,
128 8: optional map<binary, BasicEqualsFoo> OptBinStructMapFoo,
129 9: map<i64, list<i64>> I64I64ListMapFoo,
130 10: optional map<i64, list<i64>> OptI64I64ListMapFoo,
131 11: map<i64, set<i64>> I64I64SetMapFoo,
132 12: optional map<i64, set<i64>> OptI64I64SetMapFoo,
133 13: map<i64, map<i64, string>> I64I64StringMapMapFoo,
134 14: optional map<i64, map<i64, string>> OptI64I64StringMapMapFoo,
135 15: map<mystr, mybin> MyStrMyBinMapFoo,
136 16: optional map<mystr, mybin> OptMyStrMyBinMapFoo,
137 17: map<i64, mybyte> Int64MyByteMapFoo,
138 18: optional map<i64, mybyte> OptInt64MyByteMapFoo,
139 19: map<mybyte, i64> MyByteInt64MapFoo,
140 20: optional map<mybyte, i64> OptMyByteInt64MapFoo,
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -0700141 21: map<i64, uuid> UUIDMapFoo,
142 22: optional map<i64, uuid> OptUUIDMapFoo,
143 23: map<i64, myuuid> MyUUIDMapFoo,
144 24: optional map<i64, myuuid> OptMyUUIDMapFoo,
Yuxuan 'fishy' Wangb0b35312021-02-18 09:09:20 -0800145}