blob: 0cccd9705a0c322d822e5067c580ee50fb850521 [file] [log] [blame]
Jens Geyer944b8e62022-09-11 12:30:35 +02001/*
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
Hernan Silbermand5c66972022-06-08 11:29:43 -070020// Define Child, then Parent. Parent is a forward declaration and was problematic for our Java compiler before
21// fixing THRIFT-4086: Java compiler generates different meta data depending on order of structures in file
22struct Child {
23 1: required string Name
Klemen Košir4f635732023-04-27 15:13:18 +090024 2: required Age Age
25 3: required Parent Parent1
26 4: required MyParent Parent2
27 5: required Parents GrandParents
28 6: required MyEnum MyEnum
29 7: required MyEnumV2 MyEnumV2
30 8: required MyEnums MyEnums
31 9: required MyMapping MyMapping
32 10: required MyBinary MyBinary
Hernan Silbermand5c66972022-06-08 11:29:43 -070033}
34
Klemen Košir4f635732023-04-27 15:13:18 +090035typedef i8 Age
36typedef Parent MyParent
37typedef list<Parent> Parents
38typedef MyEnum MyEnumV2
39typedef set<MyEnum> MyEnums
40typedef map<MyEnumV2, Parent> MyMapping
41typedef binary MyBinary
42
Hernan Silbermand5c66972022-06-08 11:29:43 -070043struct Parent {
44 1: required string Name
45}
Klemen Košir4f635732023-04-27 15:13:18 +090046
47enum MyEnum {
48 FOO = 1
49 BAR = 2
50}