From: Jens Geyer Date: Mon, 13 Jan 2014 18:55:44 +0000 (+0100) Subject: THRIFT-2311 Go: invalid code generated when exception name is a go keyword X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=a16737a87f74d5642869d3315f6b44a6b0fc91d3;p=common%2Fthrift.git THRIFT-2311 Go: invalid code generated when exception name is a go keyword Patch: Krzysztof Godlewski --- diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc index bf1a03a6..f3d91007 100644 --- a/compiler/cpp/src/generate/t_go_generator.cc +++ b/compiler/cpp/src/generate/t_go_generator.cc @@ -1746,9 +1746,12 @@ void t_go_generator::generate_service_client(t_service* tservice) vector::const_iterator x_iter; for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) { + const std::string varname = variable_name_to_go_name((*x_iter)->get_name()); + const std::string pubname = publicize(varname); + f_service_ << - indent() << "if " << result << "." << publicize((*x_iter)->get_name()) << " != nil {" << endl << - indent() << " " << (*x_iter)->get_name() << " = " << result << "." << publicize((*x_iter)->get_name()) << endl << + indent() << "if " << result << "." << pubname << " != nil {" << endl << + indent() << " " << varname << " = " << result << "." << pubname << endl << indent() << "}" << endl; }