Updated Branches: refs/heads/master 56a648d0f -> 11430df7a
THRIFT-2102 constants are not referencing to correct type when included from another thrift file Patch: Remo Hertig Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/11430df7 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/11430df7 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/11430df7 Branch: refs/heads/master Commit: 11430df7ae96d184a5778f5f6eb3c93e65389eba Parents: 56a648d Author: Jens Geyer <[email protected]> Authored: Fri Jul 26 00:23:00 2013 +0200 Committer: Jens Geyer <[email protected]> Committed: Fri Jul 26 00:23:00 2013 +0200 ---------------------------------------------------------------------- compiler/cpp/src/generate/t_go_generator.cc | 3 ++- lib/go/test/IncludesTest.thrift | 3 +++ test/ThriftTest.thrift | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/11430df7/compiler/cpp/src/generate/t_go_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc index 0f4951b..4a38885 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<t_field*>& fields = ((t_struct*)type)->get_members(); vector<t_field*>::const_iterator f_iter; http://git-wip-us.apache.org/repos/asf/thrift/blob/11430df7/lib/go/test/IncludesTest.thrift ---------------------------------------------------------------------- diff --git a/lib/go/test/IncludesTest.thrift b/lib/go/test/IncludesTest.thrift index 4416c09..6b68806 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<ThriftTest.Numberz> listNumbers } http://git-wip-us.apache.org/repos/asf/thrift/blob/11430df7/test/ThriftTest.thrift ---------------------------------------------------------------------- diff --git a/test/ThriftTest.thrift b/test/ThriftTest.thrift index be000b6..500f0ea 100644 --- a/test/ThriftTest.thrift +++ b/test/ThriftTest.thrift @@ -68,6 +68,8 @@ struct Bonk 2: i32 type } +typedef map<string,Bonk> MapType + struct Bools { 1: bool im_true, 2: bool im_false,
