thrift/lib/go/test/RefAnnotationFieldsTest.thrift
Jens Geyer 731975a645 THRIFT-2451: Do not use pointers for optional fields with defaults. Do not write such fields if its value set to default. Also, do not use pointers for any optional fields mapped to go map or slice. generate Get accessors
Client: Go
Patch: Aleksey Pesternikov

This closes #101

commit e6e5dcf3a07cd931183991ff031179b425e2740b
 Author: Aleksey Pesternikov <ap@alekseys-mbp.att.net>
 Date: 2014-04-16T14:06:52Z

initial change

commit f65730e951a4310160a9f7e3e4eeb7e55abd2c55
 Author: Aleksey Pesternikov <ap@alekseys-mbp.att.net>
 Date: 2014-04-16T14:16:03Z

no IsSet for required

commit 9865f700eb9354d6053994da989a907766c42d1d
 Author: Aleksey Pesternikov <ap@alekseys-mbp.att.net>
 Date: 2014-04-17T19:32:13Z

inlined required structs

commit ca52300c07cefcf553f1ebf35569953c933b2367
 Author: Aleksey Pesternikov <ap@alekseys-mbp.att.net>
 Date: 2014-04-17T19:44:24Z

do not use heap for args struct

commit 012ca3e512d2bc8822de8a715b4f3d3cae5c0c42
 Author: Aleksey Pesternikov <ap@alekseys-mbp.att.net>
 Date: 2014-04-17T19:52:41Z

do not use heap for result struct

commit 2fc4afc53ff7db43e08eadeaa30e34bc1fd9c889
 Author: Aleksey Pesternikov <ap@alekseys-mbp.att.net>
 Date: 2014-04-17T21:32:43Z

do not set result field on error

commit 6e5da0062b139f02dcafe3148cdf02f97c23442a
 Author: Aleksey Pesternikov <ap@alekseys-mbp.att.net>
 Date: 2014-04-17T21:57:57Z

Jens' thrift source as test case

commit 7317957ed708831e280f182f081043fbe9d38a0c
 Author: Aleksey Pesternikov <ap@alekseys-macbook-pro.local>
 Date: 2014-04-17T23:43:08Z

support for cpp.ref

commit 1c4f3efc7b54fd335db633f86faf8c426ae9c87d
 Author: Aleksey Pesternikov <ap@alekseys-macbook-pro.local>
 Date: 2014-04-18T00:13:24Z

package flag

commit c9d7e54f5c5d29c776f42fb861bc9e82da4e542f
 Author: Aleksey Pesternikov <ap@alekseys-macbook-pro.local>
 Date: 2014-04-18T00:21:18Z

Merge branch 'master' into go_inlines
2014-05-02 00:24:24 +02:00

59 lines
2.1 KiB
Thrift

#
# 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.
#
struct structA {
1: required i64 sa_i
}
struct all_referenced {
1: optional string s = "DEFAULT" (cpp.ref = ""),
2: optional i64 i = 42 (cpp.ref = ""),
3: optional bool b = false (cpp.ref = ""),
4: optional string s2 (cpp.ref = ""),
5: optional i64 i2 (cpp.ref = ""),
6: optional bool b2 (cpp.ref = ""),
7: optional structA aa (cpp.ref = ""),
9: optional list<i64> l (cpp.ref = ""),
10: optional list<i64> l2 = [1, 2] (cpp.ref = ""),
11: optional map<i64, i64> m (cpp.ref = ""),
12: optional map<i64, i64> m2 = {1:2, 3:4} (cpp.ref = ""),
13: optional binary bin (cpp.ref = ""),
14: optional binary bin2 = "asdf" (cpp.ref = ""),
15: required string ref_s = "DEFAULT" (cpp.ref = ""),
16: required i64 ref_i = 42 (cpp.ref = ""),
17: required bool ref_b = false (cpp.ref = ""),
18: required string ref_s2 (cpp.ref = ""),
19: required i64 ref_i2 (cpp.ref = ""),
20: required bool ref_b2 (cpp.ref = ""),
21: required structA ref_aa (cpp.ref = ""),
22: required list<i64> ref_l (cpp.ref = ""),
23: required list<i64> ref_l2 = [1, 2] (cpp.ref = ""),
24: required map<i64, i64> ref_m (cpp.ref = ""),
25: required map<i64, i64> ref_m2 = {1:2, 3:4} (cpp.ref = ""),
26: required binary ref_bin (cpp.ref = ""),
27: required binary ref_bin2 = "asdf" (cpp.ref = ""),
}
struct structB {
1: required structA required_struct_thing
2: optional structA optional_struct_thing
}