summaryrefslogtreecommitdiff
path: root/test/v0.16/NameConflictTest.thrift
blob: 7130d8a4013bfbf4fc90f414284bd6873832913d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// Naming testcases, sepcifically for these tickets (but not limited to them)
// THRIFT-2508 Uncompileable C# code due to language keywords in IDL
// THRIFT-2557 error CS0542 member names cannot be the same as their enclosing type


struct using {
    1: double single
    2: double integer
}

struct delegate {
    1: string partial
    2: delegate delegate
}

struct get {
    1: bool sbyte
}

struct partial {
    1: using using
    2: bool read
    3: bool write
}

enum Maybe {
  JUST = 1,
  TRUE = 2,
  FALSE = 3
}

enum Either {
  LEFT = 1,
  RIGHT = 2
}

struct foldr {
  1: string id
}

struct of {
  1: string let
  2: string where
}

struct ofOf {
  1: of Of
}


struct ClassAndProp {
  1: bool ClassAndProp
  2: bool ClassAndProp_
  3: bool ClassAndProp__
  4: bool ClassAndProper
}

struct second_chance {
  1: bool SECOND_CHANCE
  2: bool SECOND_CHANCE_
  3: bool SECOND_CHANCE__
  4: bool SECOND_CHANCES
}

struct NOW_EAT_THIS {
  1: bool now_eat_this
  2: bool now_eat_this_
  3: bool now_eat_this__
  4: bool now_eat_this_and_this
}

struct TheEdgeCase {
  1: bool theEdgeCase
  2: bool theEdgeCase_
  3: bool theEdgeCase__
  4: bool TheEdgeCase
  5: bool TheEdgeCase_
  6: bool TheEdgeCase__
}

struct Tricky_ {
  1: bool tricky
  2: bool Tricky
}

struct Nested {
  1: ClassAndProp ClassAndProp
  2: second_chance second_chance
  3: NOW_EAT_THIS NOW_EAT_THIS
  4: TheEdgeCase TheEdgeCase
  5: Tricky_ Tricky_
  6: Nested Nested
}

exception Problem_ {
  1: bool problem
  2: bool Problem
}

struct Thrift5626 {
   1: i8       i8
   2: i16      i16
   3: i32      i32
   4: i64      i64
   //5: uuid     uuid
   6: string   string
   7: binary   binary
   8: bool     bool
   9: byte     byte
  10: list<string>        list
  11: set<string>         set
  12: map<string,string>  map
}

service extern {
    delegate event(1: partial get)
    void Foo(1: Nested Foo_args) throws (1: Problem_ Foo_result)
}

service qualified {
    Maybe maybe(1: Maybe foldr)
    Either either(1: foldr of)
}
// eof