1/* 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 20/* 21../compiler/cpp/thrift -gen cpp:dense DebugProtoTest.thrift 22../compiler/cpp/thrift -gen cpp:dense DenseLinkingTest.thrift 23g++ -Wall -g -I../lib/cpp/src -I/usr/local/include/boost-1_33_1 \ 24 DebugProtoTest.cpp gen-cpp/DebugProtoTest_types.cpp \ 25 gen-cpp/DenseLinkingTest_types.cpp \ 26 ../lib/cpp/.libs/libthrift.a -o DebugProtoTest 27./DebugProtoTest 28*/ 29 30/* 31The idea of this test is that everything is structurally identical to DebugProtoTest. 32If I messed up the naming of the reflection local typespecs, 33then compiling this should give errors because of doubly defined symbols. 34*/ 35 36namespace cpp thrift.test 37namespace java thrift.test 38 39struct OneOfEachZZ { 40 1: bool im_true, 41 2: bool im_false, 42 3: byte a_bite, 43 4: i16 integer16, 44 5: i32 integer32, 45 6: i64 integer64, 46 7: double double_precision, 47 8: string some_characters, 48 9: string zomg_unicode, 49 10: bool what_who, 50} 51 52struct BonkZZ { 53 1: i32 type, 54 2: string message, 55} 56 57struct NestingZZ { 58 1: BonkZZ my_bonk, 59 2: OneOfEachZZ my_ooe, 60} 61 62struct HolyMoleyZZ { 63 1: list<OneOfEachZZ> big, 64 2: set<list<string>> contain, 65 3: map<string,list<BonkZZ>> bonks, 66} 67 68struct BackwardsZZ { 69 2: i32 first_tag2, 70 1: i32 second_tag1, 71} 72 73struct EmptyZZ { 74} 75 76struct WrapperZZ { 77 1: EmptyZZ foo 78} 79 80struct RandomStuffZZ { 81 1: i32 a, 82 2: i32 b, 83 3: i32 c, 84 4: i32 d, 85 5: list<i32> myintlist, 86 6: map<i32,WrapperZZ> maps, 87 7: i64 bigint, 88 8: double triple, 89} 90 91service Srv { 92 i32 Janky(1: i32 arg) 93} 94 95service UnderscoreSrv { 96 i64 some_rpc_call(1: string message) 97} 98 99