blob: 57ce131ec0969d0002fe6fe82d9483b909f55479 [file] [log] [blame]
Yuxuan 'fishy' Wangbb8fec72021-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
23
24enum EnumFoo {
25 e1
26 e2
27}
28
29struct BasicEqualsFoo {
30 1: bool BoolFoo,
31 2: optional bool OptBoolFoo,
32 3: i8 I8Foo,
33 4: optional i8 OptI8Foo,
34 5: i16 I16Foo,
35 6: optional i16 OptI16Foo,
36 7: i32 I32Foo,
37 8: optional i32 OptI32Foo,
38 9: i64 I64Foo,
39 10: optional i64 OptI64Foo,
40 11: double DoubleFoo,
41 12: optional double OptDoubleFoo,
42 13: string StrFoo,
43 14: optional string OptStrFoo,
44 15: binary BinFoo,
45 16: optional binary OptBinFoo,
46 17: EnumFoo EnumFoo,
47 18: optional EnumFoo OptEnumFoo,
48 19: mybyte MyByteFoo,
49 20: optional mybyte OptMyByteFoo,
50 21: mystr MyStrFoo,
51 22: optional mystr OptMyStrFoo,
52 23: mybin MyBinFoo,
53 24: optional mybin OptMyBinFoo,
54}
55
56struct StructEqualsFoo {
57 1: BasicEqualsFoo StructFoo,
58 2: optional BasicEqualsFoo OptStructFoo,
59}
60
61struct ListEqualsFoo {
62 1: list<i64> I64ListFoo,
63 2: optional list<i64> OptI64ListFoo,
64 3: list<string> StrListFoo,
65 4: optional list<string> OptStrListFoo,
66 5: list<binary> BinListFoo,
67 6: optional list<binary> OptBinListFoo,
68 7: list<BasicEqualsFoo> StructListFoo,
69 8: optional list<BasicEqualsFoo> OptStructListFoo,
70 9: list<list<i64>> I64ListListFoo,
71 10: optional list<list<i64>> OptI64ListListFoo,
72 11: list<set<i64>> I64SetListFoo,
73 12: optional list<set<i64>> OptI64SetListFoo,
74 13: list<map<i64, string>> I64StringMapListFoo,
75 14: optional list<map<i64, string>> OptI64StringMapListFoo,
76 15: list<mybyte> MyByteListFoo,
77 16: optional list<mybyte> OptMyByteListFoo,
78 17: list<mystr> MyStrListFoo,
79 18: optional list<mystr> OptMyStrListFoo,
80 19: list<mybin> MyBinListFoo,
81 20: optional list<mybin> OptMyBinListFoo,
82}
83
84struct SetEqualsFoo {
85 1: set<i64> I64SetFoo,
86 2: optional set<i64> OptI64SetFoo,
87 3: set<string> StrSetFoo,
88 4: optional set<string> OptStrSetFoo,
89 5: set<binary> BinSetFoo,
90 6: optional set<binary> OptBinSetFoo,
91 7: set<BasicEqualsFoo> StructSetFoo,
92 8: optional set<BasicEqualsFoo> OptStructSetFoo,
93 9: set<list<i64>> I64ListSetFoo,
94 10: optional set<list<i64>> OptI64ListSetFoo,
95 11: set<set<i64>> I64SetSetFoo,
96 12: optional set<set<i64>> OptI64SetSetFoo,
97 13: set<map<i64, string>> I64StringMapSetFoo,
98 14: optional set<map<i64, string>> OptI64StringMapSetFoo,
99 15: set<mybyte> MyByteSetFoo,
100 16: optional set<mybyte> OptMyByteSetFoo,
101 17: set<mystr> MyStrSetFoo,
102 18: optional set<mystr> OptMyStrSetFoo,
103 19: set<mybin> MyBinSetFoo,
104 20: optional set<mybin> OptMyBinSetFoo,
105}
106
107struct MapEqualsFoo {
108 1: map<i64, string> I64StrMapFoo,
109 2: optional map<i64, string> OptI64StrMapFoo,
110 3: map<string, i64> StrI64MapFoo,
111 4: optional map<string, i64> OptStrI64MapFoo,
112 5: map<BasicEqualsFoo, binary> StructBinMapFoo,
113 6: optional map<BasicEqualsFoo, binary> OptStructBinMapFoo,
114 7: map<binary, BasicEqualsFoo> BinStructMapFoo,
115 8: optional map<binary, BasicEqualsFoo> OptBinStructMapFoo,
116 9: map<i64, list<i64>> I64I64ListMapFoo,
117 10: optional map<i64, list<i64>> OptI64I64ListMapFoo,
118 11: map<i64, set<i64>> I64I64SetMapFoo,
119 12: optional map<i64, set<i64>> OptI64I64SetMapFoo,
120 13: map<i64, map<i64, string>> I64I64StringMapMapFoo,
121 14: optional map<i64, map<i64, string>> OptI64I64StringMapMapFoo,
122 15: map<mystr, mybin> MyStrMyBinMapFoo,
123 16: optional map<mystr, mybin> OptMyStrMyBinMapFoo,
124 17: map<i64, mybyte> Int64MyByteMapFoo,
125 18: optional map<i64, mybyte> OptInt64MyByteMapFoo,
126 19: map<mybyte, i64> MyByteInt64MapFoo,
127 20: optional map<mybyte, i64> OptMyByteInt64MapFoo,
Yuxuan 'fishy' Wangbb8fec72021-02-18 09:09:20 -0800128}