/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * * Contains some contributions under the Thrift Software License. * Please see doc/old-thrift-license.txt in the Thrift distribution for * details. */ typedef i64 Temperature typedef i8 Size typedef string Location const i32 BoilingPoint = 100 const list Temperatures = [10, 11, 22, 33] // IMPORTANT: temps should end with ".0" because this tests // that we don't have a problem with const float list generation const list CommonTemperatures = [300.0, 450.0] const double MealsPerDay = 2.5; const string DefaultRecipeName = "Soup-rise of the Day" const binary DefaultRecipeBinary = "Soup-rise of the 01010101" struct Noodle { 1: string flourType 2: Temperature cookTemp } struct Spaghetti { 1: optional list noodles } const Noodle SpeltNoodle = { "flourType": "spelt", "cookTemp": 110 } struct MeasuringSpoon { 1: Size size } struct MeasuringCup { 1: double millis } union MeasuringAids { 1: MeasuringSpoon spoon 2: MeasuringCup cup } struct CookingTemperatures { 1: set commonTemperatures 2: list usedTemperatures 3: map fahrenheitToCentigradeConversions } struct Recipe { 1: string recipeName 2: string cuisine 3: i8 page } union CookingTools { 1: set measuringSpoons 2: map measuringCups, 3: list recipes }