From: Jens Geyer Date: Thu, 25 Jul 2013 22:23:00 +0000 (+0200) Subject: THRIFT-2102 constants are not referencing to correct type when included from another... X-Git-Tag: 0.9.1~33 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=11430df7ae96d184a5778f5f6eb3c93e65389eba;p=common%2Fthrift.git THRIFT-2102 constants are not referencing to correct type when included from another thrift file Patch: Remo Hertig --- diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc index 0f4951b0..4a388854 100644 --- a/compiler/cpp/src/generate/t_go_generator.cc +++ b/compiler/cpp/src/generate/t_go_generator.cc @@ -509,6 +509,7 @@ void t_go_generator::init_generator() f_consts_ << go_package() << + render_includes() << go_autogen_comment(); f_const_values_ << endl << "func init() {" << endl; @@ -767,7 +768,7 @@ string t_go_generator::render_const_value(t_type* type, t_const_value* value, co indent(out) << value->get_integer(); } else if (type->is_struct() || type->is_xception()) { out << - "&" << publicize(type->get_name()) << "{"; + "&" << publicize(type_name(type)) << "{"; indent_up(); const vector& fields = ((t_struct*)type)->get_members(); vector::const_iterator f_iter; diff --git a/lib/go/test/IncludesTest.thrift b/lib/go/test/IncludesTest.thrift index 4416c099..6b688062 100644 --- a/lib/go/test/IncludesTest.thrift +++ b/lib/go/test/IncludesTest.thrift @@ -19,6 +19,9 @@ include "ThriftTest.thrift" +const ThriftTest.UserId USERID = 42 +const ThriftTest.MapType MAPCONSTANT = {'hello':{}, 'goodnight':{}} + struct testStruct { 1: list listNumbers } diff --git a/test/ThriftTest.thrift b/test/ThriftTest.thrift index be000b6a..500f0eab 100644 --- a/test/ThriftTest.thrift +++ b/test/ThriftTest.thrift @@ -68,6 +68,8 @@ struct Bonk 2: i32 type } +typedef map MapType + struct Bools { 1: bool im_true, 2: bool im_false,