blob: a8f5d8689d484b211dfd82dbc2d0a8a8cb73b442 [file] [log] [blame]
Mark Sleee8540632006-05-30 09:24:40 +00001enum Numberz
2{
3 ONE = 1,
4 TWO,
5 THREE,
6 FIVE = 5,
7 SIX,
8 EIGHT = 8
9}
10
Mark Slee6e536442006-06-30 18:28:50 +000011typedef i64 UserId
Mark Sleee8540632006-05-30 09:24:40 +000012
13struct Xtruct
14{
15 string string_thing = 0,
16 byte byte_thing = 1,
Mark Sleee8540632006-05-30 09:24:40 +000017 i32 i32_thing = 3,
Mark Sleee8540632006-05-30 09:24:40 +000018 i64 i64_thing = 5
19}
20
21struct Xtruct2
22{
Marc Slemko0b4ffa92006-08-11 02:49:29 +000023 byte byte_thing,
24 Xtruct struct_thing,
25 i32 i32_thing
Mark Sleee8540632006-05-30 09:24:40 +000026}
27
28struct Insanity
29{
30 map<Numberz, UserId> userMap = 0,
Marc Slemkoe6889de2006-08-12 00:32:53 +000031 list<Xtruct> xtructs = 1
Mark Sleee8540632006-05-30 09:24:40 +000032}
33
Marc Slemko5b126d62006-08-11 23:03:42 +000034struct Empty {}
35
Mark Sleee8540632006-05-30 09:24:40 +000036service ThriftTest
37{
38 void testVoid()
39 string testString(string thing = 0)
40 byte testByte(byte thing = 0)
Mark Sleee8540632006-05-30 09:24:40 +000041 i32 testI32(i32 thing = 0)
Mark Sleee8540632006-05-30 09:24:40 +000042 i64 testI64(i64 thing = 0)
43 Xtruct testStruct(Xtruct thing = 0)
44 Xtruct2 testNest(Xtruct2 thing = 0)
45 map<i32,i32> testMap(map<i32,i32> thing = 0)
46 set<i32> testSet(set<i32> thing = 0)
47 list<i32> testList(list<i32> thing = 0)
48 Numberz testEnum(Numberz thing = 0)
49 UserId testTypedef(UserId thing = 0)
50
51 map<i32,map<i32,i32>> testMapMap(i32 hello = 0)
52
53 /* So you think you've got this all worked, out eh? */
54 map<UserId, map<Numberz,Insanity>> testInsanity(Insanity argument = 0)
Marc Slemko0b4ffa92006-08-11 02:49:29 +000055
56 Xtruct testMulti(byte arg0, i32 arg1, u64 arg2, map<i16, string> arg3, Numberz arg4, UserId arg5)
Mark Sleee8540632006-05-30 09:24:40 +000057}